
/* Minimal utility CSS for kiri-invest.com (Tailwind-like) */
/* Base */
:root{
  --gray-50:#f9fafb; --gray-100:#f3f4f6; --gray-200:#e5e7eb; --gray-300:#d1d5db;
  --gray-400:#9ca3af; --gray-500:#6b7280; --gray-600:#4b5563; --gray-700:#374151;
  --gray-800:#1f2937; --gray-900:#111827;
  --blue-600:#2563eb; --blue-700:#1d4ed8;
  --green-100:#dcfce7; --green-800:#166534;
  --red-100:#fee2e2; --red-800:#991b1b;
  --radius: .5rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif;
  color:var(--gray-800); line-height:1.7; background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-700);text-underline-offset:2px}
a:hover{text-decoration:underline}
button{cursor:pointer}
/* Colors & backgrounds */
.bg-white{background:#fff}
.bg-gray-50{background:var(--gray-50)}
.bg-gray-900{background:var(--gray-900)}
.bg-gray-900\/75{background:rgba(17,24,39,.75)}
.text-gray-800{color:var(--gray-800)}
.text-gray-700{color:var(--gray-700)}
.text-gray-600{color:var(--gray-600)}
.text-gray-500{color:var(--gray-500)}
.text-green-800{color:var(--green-800)}
.text-red-800{color:var(--red-800)}
.text-white{color:#fff}
.text-blue-700{color:var(--blue-700)}
.bg-blue-600{background:var(--blue-600)}
.bg-blue-700{background:var(--blue-700)}
.bg-green-100{background:var(--green-100)}
.bg-red-100{background:var(--red-100)}
/* Typography */
.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif}
.leading-relaxed{line-height:1.7}
.tracking-normal{letter-spacing:0}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
/* Spacing */
.mt-1{margin-top:.25rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.my-10{margin-top:2.5rem;margin-bottom:2.5rem}
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
/* Layout & sizing */
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.w-full{width:100%}
.h-40{height:10rem}
.h-48{height:12rem}
.h-auto{height:auto}
.min-h-screen{min-height:100vh}
.mx-auto{margin-left:auto;margin-right:auto}
/* Grid */
.grid{display:grid}
.gap-2{grid-gap:.5rem}
.gap-6{grid-gap:1.5rem}
.gap-8{grid-gap:2rem}
/* Responsive grid (md >= 768px) */
@media (min-width:768px){
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Flex & positioning */
.flex{display:flex}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
/* Borders & radius & shadows */
.border{border:1px solid var(--gray-200)}
.border-gray-200{border-color:var(--gray-200)}
.rounded{border-radius:.25rem}
.rounded-md{border-radius:.375rem}
.rounded-lg{border-radius:.5rem}
.shadow{box-shadow:0 1px 2px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.06)}
.shadow-xl{box-shadow:0 10px 25px rgba(0,0,0,.15)}
/* Buttons */
button, .btn{
  display:inline-block;border:0;border-radius:.5rem;padding:.75rem 1rem;
  font-weight:700;transition:background .2s ease,opacity .2s ease,transform .05s ease;
}
button:hover,.btn:hover{filter:brightness(.95)}
button:disabled{opacity:.6;cursor:not-allowed}
/* Forms */
input[type="text"],input[type="email"],input[type="search"],input[type="url"],textarea{
  width:100%;border:1px solid var(--gray-300);border-radius:.375rem;padding:.5rem .75rem;
  outline:0; background:#fff; color:var(--gray-800);
}
input:focus,textarea:focus{box-shadow:0 0 0 3px rgba(37,99,235,.25);border-color:#93c5fd}
label{display:block;margin-bottom:.25rem;font-size:.875rem;color:var(--gray-700)}
/* Utility */
.underline{text-decoration:underline}
.hover\:underline:hover{text-decoration:underline}
.transition{transition:all .2s ease}
.duration-300{transition-duration:.3s}
/* Prose (basic) */
.prose h2{font-size:1.5rem;line-height:2rem;margin:1.25rem 0 .5rem;font-weight:600}
.prose p{margin:.75rem 0}
.prose ul{padding-left:1.25rem}
.prose li{margin:.25rem 0}
/* Breadcrumb */
nav[aria-label="Breadcrumb"] ol{list-style:none;margin:0;padding:0}
/* Modal helpers */
.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}
.z-50{z-index:50}
.overflow-y-auto{overflow-y:auto}
.overflow-hidden{overflow:hidden}
.hidden{display:none}
.relative{position:relative}
.absolute{position:absolute}
.top-4{top:1rem}
.right-4{right:1rem}
.text-2xl{font-size:1.5rem}
.text-center{text-align:center}
/* Visually hidden for a11y */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Group open caret simple mimic */
.group{}
.group-open\:rotate-180{transform:rotate(180deg)}
/* Details summary caret */
details summary::-webkit-details-marker{display:none}
details summary{list-style:none}
/* Cards */
article.border{background:#fff;border-radius:.5rem;overflow:hidden}
/* Helpers */
.max-w-none{max-width:none}
/* Spacing helpers for lists */
.list-disc{list-style:disc}
.pl-5{padding-left:1.25rem}
.pl-6{padding-left:1.5rem}
/* Opacity utility */
.bg-opacity-75{background:rgba(0,0,0,.75)}
/* Simple hover bg for blue buttons */
.hover\:bg-blue-700:hover{background:var(--blue-700)}
/* Table-like pagination buttons */
.border-gray-300{border-color:var(--gray-300)}
.bg-gray-900{background:var(--gray-900)}
.text-white{color:#fff}
/* Simple transition states for links inside cards */
article a{ text-decoration: none }
article a:hover{ text-decoration: underline }
/* Headings spacing normalize */
h1,h2,h3{margin:0 0 .5rem}
/* Containers */
.container, .max-w-5xl, .max-w-6xl, .max-w-3xl, .max-w-2xl { padding-left:1.5rem; padding-right:1.5rem }
