@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap";@theme{--font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;}:root{--sea-ink:#173a40;--sea-ink-soft:#416166;--lagoon:#4fb8b2;--lagoon-deep:#328f97;--palm:#2f6a4a;--sand:#e7f0e8;--foam:#f3faf5;--surface:#ffffffbd;--surface-strong:#ffffffe6;--line:#173a4024;--inset-glint:#ffffffd1;--kicker:#2f6a4ae6;--bg-base:#e7f3ec;--header-bg:#fbfff8d6;--chip-bg:#fffc;--chip-line:#2f6a4a2e;--link-bg-hover:#ffffffe6;--hero-a:#4fb8b25c;--hero-b:#2f6a4a33}:root[data-theme=dark]{--sea-ink:#d7ece8;--sea-ink-soft:#afcdc8;--lagoon:#60d7cf;--lagoon-deep:#8de5db;--palm:#6ec89a;--sand:#0f1a1e;--foam:#101d22;--surface:#101e22cc;--surface-strong:#0f1b1feb;--line:#8de5db2e;--inset-glint:#c2f7ee24;--kicker:#b8efe5;--bg-base:#0a1418;--header-bg:#0a1418cc;--chip-bg:#0d1c20e6;--chip-line:#8de5db3d;--link-bg-hover:#182c31cc;--hero-a:#60d7cf2e;--hero-b:#6ec89a1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sea-ink:#d7ece8;--sea-ink-soft:#afcdc8;--lagoon:#60d7cf;--lagoon-deep:#8de5db;--palm:#6ec89a;--sand:#0f1a1e;--foam:#101d22;--surface:#101e22cc;--surface-strong:#0f1b1feb;--line:#8de5db2e;--inset-glint:#c2f7ee24;--kicker:#b8efe5;--bg-base:#0a1418;--header-bg:#0a1418cc;--chip-bg:#0d1c20e6;--chip-line:#8de5db3d;--link-bg-hover:#182c31cc;--hero-a:#60d7cf2e;--hero-b:#6ec89a1f}}*{box-sizing:border-box}html,body,#app{min-height:100%}body{color:var(--sea-ink);font-family:var(--font-sans);background-color:var(--bg-base);background:radial-gradient(1100px 620px at -8% -10%, var(--hero-a), transparent 58%), radial-gradient(1050px 620px at 112% -12%, var(--hero-b), transparent 62%), radial-gradient(720px 380px at 50% 115%, #4fb8b21a, transparent 68%), linear-gradient(180deg, color-mix(in oklab, var(--sand) 68%, white) 0%, var(--foam) 44%, var(--bg-base) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;opacity:.28;background:radial-gradient(circle at 20% 15%,#fffc,#0000 34%),radial-gradient(circle at 78% 26%,#4fb8b233,#0000 42%),radial-gradient(circle at 42% 82%,#2f6a4a24,#0000 36%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:-1;opacity:.14;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000,#0000 78%);mask-image:radial-gradient(circle at 50% 30%,#000,#0000 78%)}a{color:var(--lagoon-deep);text-underline-offset:2px;text-decoration-color:#328f9766;text-decoration-thickness:1px}a:hover{color:#246f76}code{border:1px solid var(--line);background:color-mix(in oklab, var(--surface-strong) 82%, white 18%);border-radius:7px;padding:2px 7px;font-size:.9em}pre code{font-size:inherit;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.page-wrap{width:min(1080px,100% - 2rem);margin-inline:auto}.display-title{font-family:Fraunces,Georgia,serif}.island-shell{border:1px solid var(--line);background:linear-gradient(165deg, var(--surface-strong), var(--surface));box-shadow:0 1px 0 var(--inset-glint) inset, 0 22px 44px #1e5a481a, 0 6px 18px #173a4014;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.feature-card{background:linear-gradient(165deg, color-mix(in oklab, var(--surface-strong) 93%, white 7%), var(--surface));box-shadow:0 1px 0 var(--inset-glint) inset, 0 18px 34px #1e5a481a, 0 4px 14px #173a400f}.feature-card:hover{border-color:color-mix(in oklab, var(--lagoon-deep) 35%, var(--line));transform:translateY(-2px)}.demo-page{width:min(1080px,100% - 2rem);color:var(--sea-ink);margin-inline:auto;padding-block:clamp(2.25rem,6vw,4.5rem)}.demo-page-wide{width:min(1280px,100% - 2rem)}.demo-center{justify-content:center;align-items:center;min-height:calc(100vh - 13rem);display:flex}.demo-panel,.demo-card{border:1px solid var(--line);background:linear-gradient(165deg, var(--surface-strong), var(--surface));box-shadow:0 1px 0 var(--inset-glint) inset, 0 18px 34px #1e5a481a, 0 4px 14px #173a400f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.demo-panel{border-radius:1.25rem;padding:clamp(1.25rem,4vw,2rem)}.demo-card{border-radius:1rem;padding:1rem}.demo-title{color:var(--sea-ink);letter-spacing:0;margin:0;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.05}.demo-section-title{color:var(--sea-ink);margin:0;font-size:1rem;font-weight:700}.demo-muted{color:var(--sea-ink-soft)}.demo-input,.demo-select,.demo-textarea{border:1px solid var(--line);background:color-mix(in oklab, var(--surface-strong) 88%, white 12%);width:100%;color:var(--sea-ink);border-radius:.75rem;outline:none;transition:border-color .18s,box-shadow .18s,background-color .18s}.demo-input,.demo-select{padding:.7rem .9rem}.demo-input-fit{width:auto}.demo-textarea{resize:vertical;min-height:7rem;padding:.8rem .9rem}.demo-input:focus,.demo-select:focus,.demo-textarea:focus{border-color:color-mix(in oklab, var(--lagoon-deep) 58%, var(--line));box-shadow:0 0 0 3px color-mix(in oklab, var(--lagoon) 24%, transparent)}.demo-button{border:1px solid color-mix(in oklab, var(--lagoon-deep) 34%, var(--line));background:color-mix(in oklab, var(--lagoon) 22%, var(--surface-strong));color:var(--sea-ink);cursor:pointer;border-radius:.85rem;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1rem;font-size:.9rem;font-weight:700;line-height:1;display:inline-flex}.demo-button:hover{background:color-mix(in oklab, var(--lagoon) 30%, var(--surface-strong));transform:translateY(-1px)}.demo-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.demo-button-secondary{border-color:var(--line);background:color-mix(in oklab, var(--surface-strong) 74%, transparent);color:var(--sea-ink-soft)}.demo-button-danger{color:#9f3030;background:#c447471a;border-color:#c4474747}.demo-list-item{border:1px solid var(--line);background:color-mix(in oklab, var(--chip-bg) 82%, transparent);border-radius:.9rem;padding:.9rem 1rem}.demo-pill{border:1px solid var(--chip-line);background:var(--chip-bg);color:var(--sea-ink-soft);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.demo-alert{color:var(--sea-ink);background:#c17e2a1a;border:1px solid #c17e2a4d;border-radius:1rem;padding:1rem}.demo-alert-danger{background:#c447471a;border-color:#c447474d}.demo-code-block{border:1px solid var(--line);background:color-mix(in oklab, var(--chip-bg) 88%, transparent);color:var(--sea-ink);border-radius:1rem;padding:1rem}.demo-table-shell{border:1px solid var(--line);background:color-mix(in oklab, var(--surface-strong) 78%, transparent);border-radius:1rem;overflow-x:auto}.demo-table{border-collapse:collapse;width:100%;color:var(--sea-ink)}.demo-table th,.demo-table td{border-bottom:1px solid var(--line);text-align:left;padding:.75rem 1rem}.demo-table th{background:color-mix(in oklab, var(--chip-bg) 88%, transparent);color:var(--sea-ink);font-weight:700}.demo-table tr:hover td{background:color-mix(in oklab, var(--lagoon) 8%, transparent)}button,.island-shell,a{transition:background-color .18s,color .18s,border-color .18s,transform .18s}.island-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--kicker);font-size:.69rem;font-weight:700}.nav-link{color:var(--sea-ink-soft);align-items:center;text-decoration:none;display:inline-flex;position:relative}.nav-link:after{content:"";transform-origin:0;background:linear-gradient(90deg, var(--lagoon), #7ed3bf);width:100%;height:2px;transition:transform .17s;position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.nav-link:hover,.nav-link.is-active{color:var(--sea-ink)}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1)}@media (width<=640px){.nav-link:after{bottom:-4px}}.site-footer{border-top:1px solid var(--line);background:color-mix(in oklab, var(--header-bg) 84%, transparent 16%)}.rise-in{animation:.7s cubic-bezier(.16,1,.3,1) both rise-in}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
