.mode-banner{font-family:var(--mono);letter-spacing:.04em;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;font-size:11px;display:flex}.mode-banner.demo{background:color-mix(in srgb, var(--verified-soft) 70%, var(--paper));color:var(--verified)}.mode-banner.demo.locked,.mode-banner.waitlist{background:color-mix(in srgb, var(--drifted-soft) 75%, var(--paper));color:var(--drifted)}.mode-banner a{color:inherit;text-underline-offset:2px;text-decoration:underline}.landing-page{min-height:100%;overflow:clip visible}:root{--paper:#e7e2cf;--paper-deep:#dcd5b9;--paper-card:#efeada;--ink:#16242c;--ink-soft:#41565f;--ink-faint:#6e818a;--line:#97a6a2;--correction:#b33b2a;--correction-soft:#e7c9be;--serif:"Instrument Serif", Georgia, serif;--sans:"IBM Plex Sans", -apple-system, sans-serif;--mono:"IBM Plex Mono", "SF Mono", monospace;--max:1120px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}.contours{pointer-events:none;opacity:.5;width:100%;height:100%;position:absolute;inset:0}.nav{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#e7e2cfdb;position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;height:64px;display:flex}.nav-mark{font-family:var(--serif);letter-spacing:.01em;align-items:baseline;gap:8px;font-size:22px;display:flex}.nav-mark .kanji{font-family:var(--sans);color:var(--ink-soft);letter-spacing:.05em;font-size:14px}.nav-links{align-items:center;gap:28px;font-size:14px;display:flex}.nav-links a{color:var(--ink-soft);text-decoration:none}.nav-links a:hover{color:var(--ink)}.btn-ghost-sm{font-family:var(--mono);border:1px solid var(--ink);color:var(--ink);border-radius:2px;padding:7px 14px;font-size:13px;text-decoration:none;transition:background .15s}.btn-ghost-sm:hover{background:var(--ink);color:var(--paper)}.hero{border-bottom:1px solid var(--line);padding:96px 0 120px;position:relative;overflow:hidden}.hero .wrap{z-index:2;position:relative}.eyebrow{font-family:var(--mono);letter-spacing:.08em;color:var(--correction);align-items:center;gap:10px;margin-bottom:28px;font-size:13px;display:flex}.eyebrow:before{content:"";background:var(--correction);width:22px;height:1px}.hero h1{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 28px;font-size:clamp(64px,11vw,130px);font-weight:400;line-height:.92}.hero .lede{color:var(--ink-soft);max-width:560px;margin:0 0 44px;font-size:clamp(18px,2vw,22px)}.hero .lede strong{color:var(--ink);font-weight:600}.cta-row{flex-wrap:wrap;gap:16px;display:flex}.btn-primary{font-family:var(--mono);background:var(--correction);color:var(--paper);border:1px solid var(--correction);border-radius:2px;padding:14px 26px;font-size:14px;text-decoration:none;transition:opacity .15s;display:inline-block}.btn-primary:hover{opacity:.85}.btn-ghost{font-family:var(--mono);color:var(--ink);border:1px solid var(--ink);border-radius:2px;padding:14px 26px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.compass{opacity:.85;z-index:1;width:420px;height:420px;position:absolute;top:50%;right:-60px;transform:translateY(-50%)}.compass svg{width:100%;height:100%}.compass .needle{transform-origin:210px 210px;animation:90s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=860px){.compass{display:none}}.reveal{border-bottom:1px solid var(--line);background:var(--paper-deep);padding:110px 0}.reveal .grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:64px;display:grid}@media (width<=820px){.reveal .grid{grid-template-columns:1fr;gap:48px}}.kanji-box{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.kanji-stage{font-size:clamp(120px,18vw,220px);font-family:var(--sans);height:clamp(140px,20vw,240px);font-weight:500;line-height:1;position:relative}.kanji-stage span{justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:absolute;inset:0}.kanji-stage .k2{opacity:0;color:var(--correction)}.kanji-box:hover .k1,.kanji-box.flipped .k1{opacity:0}.kanji-box:hover .k2,.kanji-box.flipped .k2{opacity:1}.kanji-caption{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.04em;margin-top:18px;font-size:13px}.kanji-caption .k1cap{display:inline}.kanji-caption .k2cap,.kanji-box:hover .k1cap,.kanji-box.flipped .k1cap{display:none}.kanji-box:hover .k2cap,.kanji-box.flipped .k2cap{color:var(--correction);display:inline}.tap-hint{font-family:var(--mono);color:var(--ink-faint);margin-top:10px;font-size:11px}.reveal-copy h2{font-family:var(--serif);margin:0 0 24px;font-size:clamp(32px,4vw,46px);font-weight:400;line-height:1.1}.reveal-copy p{color:var(--ink-soft);max-width:480px;margin:0 0 16px;font-size:17px}.reveal-copy p strong{color:var(--ink);font-weight:600}.problems{border-bottom:1px solid var(--line);padding:110px 0}.section-head{max-width:620px;margin:0 0 56px}.section-label{font-family:var(--mono);color:var(--correction);letter-spacing:.06em;margin:0 0 16px;font-size:13px}.section-head h2{font-family:var(--serif);margin:0;font-size:clamp(30px,3.6vw,42px);font-weight:400;line-height:1.15}.amend-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}@media (width<=760px){.amend-grid{grid-template-columns:1fr}}.amend-card{background:var(--paper-card);border:1px solid var(--line);border-left:3px solid var(--correction);padding:32px 30px;position:relative}.amend-card .stamp{font-family:var(--mono);letter-spacing:.1em;color:var(--correction);border:1px solid var(--correction);margin-bottom:18px;padding:3px 8px;font-size:11px;display:inline-block;transform:rotate(-2deg)}.amend-card h3{font-family:var(--serif);margin:0 0 12px;font-size:26px;font-weight:400}.amend-card p{color:var(--ink-soft);margin:0;font-size:15px}.how{border-bottom:1px solid var(--line);background:var(--paper-deep);padding:110px 0}.steps{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}@media (width<=860px){.steps{grid-template-columns:1fr}}.step{border-top:1px solid var(--ink);padding-top:22px}.step .num{font-family:var(--mono);color:var(--ink-faint);margin-bottom:14px;font-size:13px;display:block}.step h3{font-family:var(--serif);margin:0 0 12px;font-size:24px;font-weight:400}.step p{color:var(--ink-soft);margin:0;font-size:15px}.log{border-bottom:1px solid var(--line);padding:110px 0}.log-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:56px;display:grid}@media (width<=860px){.log-grid{grid-template-columns:1fr;gap:40px}}.log-copy p{color:var(--ink-soft);max-width:420px;font-size:16px}.terminal{background:var(--ink);color:var(--paper);font-family:var(--mono);border-radius:3px;padding:24px 26px;font-size:13px;line-height:1.7}.terminal .t-head{opacity:.5;gap:8px;margin-bottom:18px;display:flex}.terminal .t-head span{background:var(--paper);border-radius:50%;width:9px;height:9px;display:inline-block}.term-line{margin-bottom:10px}.term-date{color:var(--ink-faint)}.term-ok{color:#8fbf8f}.term-flag{color:#e3a06a}.term-fix{color:var(--correction-soft)}.stack{border-bottom:1px solid var(--line);background:var(--paper-deep);padding:100px 0}.stack-list{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stack-list-6{grid-template-columns:repeat(3,1fr)}@media (width<=900px){.stack-list-6{grid-template-columns:1fr 1fr}}@media (width<=760px){.stack-list,.stack-list-6{grid-template-columns:1fr}}.stack-item{background:var(--paper-deep);padding:28px 22px}.stack-item .pin{font-family:var(--mono);color:var(--correction);margin-bottom:10px;font-size:11px;display:block}.stack-item h4{font-family:var(--sans);margin:0 0 8px;font-size:16px;font-weight:600}.stack-item p{color:var(--ink-soft);margin:0;font-size:13.5px}.section-sub{color:var(--ink-soft);max-width:540px;margin:16px 0 0;font-size:15px}.stack-platform{font-family:var(--mono);color:var(--ink-faint);margin:28px 0 0;font-size:12px}.stack-platform strong{color:var(--ink-soft);font-weight:500}.form-note a{color:var(--ink-soft)}.cta-final{text-align:center;padding:130px 0 90px;position:relative;overflow:hidden}.cta-final h2{font-family:var(--serif);margin:0 0 28px;font-size:clamp(36px,5vw,58px);font-weight:400}.cta-final .lede{color:var(--ink-soft);max-width:480px;margin:0 auto 40px;font-size:17px}.waitform{flex-wrap:wrap;justify-content:center;gap:10px;max-width:460px;margin:0 auto;display:flex}.waitform input{font-family:var(--mono);border:1px solid var(--ink);background:var(--paper-card);color:var(--ink);border-radius:2px;flex:1;min-width:220px;padding:14px 16px;font-size:14px}.waitform input::placeholder{color:var(--ink-faint)}.waitform button{font-family:var(--mono);background:var(--correction);color:var(--paper);border:1px solid var(--correction);cursor:pointer;border-radius:2px;padding:14px 22px;font-size:14px}.waitform button:hover{opacity:.85}.form-note{font-family:var(--mono);color:var(--ink-faint);margin-top:14px;font-size:12px}footer{padding:36px 0 50px}footer .wrap{font-family:var(--mono);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:12.5px;display:flex}footer a{color:var(--ink-soft);text-decoration:none}footer a:hover{color:var(--ink)}.atlas-page{background:radial-gradient(ellipse 70% 40% at 80% 0%, color-mix(in srgb, var(--verified-soft) 40%, transparent), transparent), var(--paper);max-width:900px;min-height:100vh;margin:0 auto;padding:24px 28px 80px}.atlas-head{grid-template-columns:auto 1fr auto;align-items:start;gap:16px;margin-bottom:28px;display:grid}.atlas-head h1{font-family:var(--serif);margin:0 0 4px;font-size:28px;font-weight:400}.atlas-head .back,.atlas-head .owm-link{font-family:var(--mono);color:var(--ink-soft);margin-top:8px;font-size:12px;text-decoration:none}.atlas-head .back:hover,.atlas-head .owm-link:hover{color:var(--ink)}.as-of{color:var(--ink-faint);font-size:13px;font-family:var(--mono);margin:0}.anchor-line{color:var(--ink-soft);margin:0 0 16px;font-size:15px}.picker{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.picker button{font-family:var(--mono);border:1px solid var(--line);background:color-mix(in srgb, var(--paper-card) 80%, transparent);color:var(--ink);cursor:pointer;padding:8px 12px;font-size:12px}.picker button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.stage{background:var(--paper-card);border:1px solid color-mix(in srgb, var(--line) 60%, transparent);min-height:320px}.stage svg{width:100%;height:auto;display:block}.empty-stage{color:var(--ink-soft);padding:40px 24px;font-size:14px}.empty-stage code{font-family:var(--mono);font-size:.9em}.unsurveyed{font-family:var(--mono);color:var(--ink-faint);border-top:1px solid color-mix(in srgb, var(--line) 50%, transparent);margin:0;padding:10px 14px;font-size:12px}.atlas-msg{color:var(--ink-soft)}.atlas-msg.fail{color:var(--correction)}@media (width<=640px){.atlas-head{grid-template-columns:1fr}}.library{background:radial-gradient(ellipse 80% 50% at 10% -10%, color-mix(in srgb, var(--verified-soft) 55%, transparent), transparent), radial-gradient(ellipse 60% 40% at 90% 0%, color-mix(in srgb, var(--correction-soft) 40%, transparent), transparent), var(--paper);min-height:100vh;padding-bottom:80px;overflow-x:hidden}.library-head{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.library-head .brand{font-family:var(--serif);align-items:baseline;gap:8px;font-size:22px;text-decoration:none;display:flex}.library-head .kanji{font-family:var(--sans);color:var(--ink-soft);font-size:13px}.library-head nav{gap:20px;font-size:14px;display:flex}.library-head a{color:var(--ink-soft);text-decoration:none}.library-head a:hover{color:var(--ink)}.library-hero{max-width:720px;padding:48px 28px 28px}.library-hero .eyebrow{font-family:var(--mono);letter-spacing:.1em;color:var(--correction);margin:0 0 12px;font-size:12px}.library-hero h1{font-family:var(--serif);text-wrap:balance;margin:0 0 12px;font-size:clamp(36px,5vw,52px);font-weight:400}.library-hero .lede{color:var(--ink-soft);max-width:52ch;margin:0;font-size:16px}.library-msg{color:var(--ink-soft);padding:0 28px}.shelf{margin-top:28px}.shelf-head{align-items:baseline;gap:12px;padding:0 28px 12px;display:flex}.shelf-head h2{font-family:var(--serif);margin:0;font-size:26px;font-weight:400}.shelf-head span{font-family:var(--mono);color:var(--ink-faint);font-size:12px}.shelf-rail{scroll-snap-type:x mandatory;scrollbar-width:thin;gap:16px;padding:4px 28px 20px;display:flex;overflow-x:auto}.tile{scroll-snap-align:start;animation:tile-in .48s var(--ease-out) both;flex-direction:column;flex:0 0 min(320px,78vw);gap:10px;display:flex}.tile:nth-child(2){animation-delay:40ms}.tile:nth-child(3){animation-delay:80ms}.tile:nth-child(4){animation-delay:.12s}@keyframes tile-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tile{animation:none}}.tile-art{border:1px solid var(--line);cursor:pointer;text-align:left;transition:transform .28s var(--ease-out), border-color .28s var(--ease-out);background:0 0;padding:0;position:relative;overflow:hidden}.tile-art:disabled{cursor:default}.tile-art:not(:disabled):hover{border-color:var(--ink);transform:translateY(-4px)scale(1.015)}.tile-scrim{background:linear-gradient(to top, color-mix(in srgb, var(--ink) 72%, transparent), transparent);color:var(--paper);pointer-events:none;justify-content:space-between;align-items:flex-end;gap:8px;padding:28px 12px 10px;display:flex;position:absolute;inset:auto 0 0}.tile-name{font-family:var(--mono);word-break:break-all;font-size:12px;line-height:1.3}.tile-pill{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--paper) 40%, transparent);flex-shrink:0;padding:3px 7px;font-size:10px}.tile-pill.ready{color:var(--verified-soft);border-color:var(--verified-soft)}.tile-pill.generating{color:var(--drifted-soft);border-color:var(--drifted-soft)}.tile-pill.failed{color:var(--correction-soft);border-color:var(--correction-soft)}.tile-foot{flex-direction:column;gap:8px;min-height:72px;display:flex}.tile-reason{font-family:var(--mono);color:var(--correction);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.tile-reason.live{color:var(--drifted);-webkit-line-clamp:2}.charting-stats{flex-direction:column;gap:6px;display:flex}.charting-bar{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:2px;height:3px;overflow:hidden}.charting-bar span{background:var(--drifted);height:100%;transition:width .4s var(--ease-out);display:block}.tile-meta{color:var(--ink-faint);font-size:12px;font-family:var(--mono);margin:0}.tile-actions{flex-wrap:wrap;gap:8px;display:flex}.tile-primary,.tile-ghost{font-family:var(--mono);cursor:pointer;border-radius:2px;padding:8px 12px;font-size:12px}.tile-primary{border:1px solid var(--correction);background:var(--correction);color:var(--paper)}.tile-primary:disabled{opacity:.5;cursor:wait}.tile-ghost{border:1px solid var(--line);color:var(--ink-soft);background:0 0}.tile-ghost:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.tile-ghost:disabled{opacity:.45;cursor:not-allowed}a.tile-primary{align-items:center;text-decoration:none;display:inline-flex}.org-banner{font-family:var(--mono);color:var(--drifted);margin:16px 0 0;font-size:12px}.shelf-empty{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);color:var(--ink-faint);margin:0 28px;padding:14px 0;font-size:14px}.status-list{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);max-width:720px;margin:0 28px}.status-row{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);animation:tile-in .42s var(--ease-out) both;flex-direction:column;gap:8px;padding:14px 4px;display:flex}.status-main{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;grid-template-columns:1fr auto;gap:12px 20px;padding:0;display:grid}.status-main:disabled{cursor:default}.status-main:not(:disabled):hover .repo-name{color:var(--correction)}.repo-name{margin:0;font-size:15px;font-weight:600}.repo-note{color:var(--ink-soft);margin:4px 0 0;font-size:13px}.state{font-family:var(--mono);white-space:nowrap;align-self:center;font-size:12px}.state[data-tone=ok]{color:var(--verified)}.state[data-tone=warn]{color:var(--drifted)}.state[data-tone=fail]{color:var(--correction)}.state[data-tone=mute]{color:var(--ink-faint)}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.library-hero code{font-family:var(--mono);font-size:.9em}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.add-cta{flex-shrink:0}.plan-pill{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--verified);border:1px solid var(--verified);padding:3px 8px;font-size:11px}.nav-add{font:inherit;color:var(--correction);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.nav-add:hover{color:var(--ink)}.text-link{font:inherit;color:var(--correction);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.modal-backdrop{z-index:40;background:color-mix(in srgb, var(--ink) 45%, transparent);animation:tile-in .28s var(--ease-out);justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:20px;width:min(880px,100%);max-height:min(88vh,900px);padding:24px 24px 32px;display:flex;overflow:auto}@media (width>=720px){.modal-backdrop{align-items:center}}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-head h2{font-family:var(--serif);margin:4px 0 0;font-size:28px;font-weight:400}.modal-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.repo-search{font-family:var(--mono);border:1px solid var(--line);background:var(--paper-card);color:var(--ink);flex:220px;padding:10px 12px;font-size:13px}.modal-section h3{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px;font-size:11px;font-weight:500}.repo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.scroll-grid{max-height:42vh;padding-right:4px;overflow:auto}.repo-card{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--paper-card) 70%, transparent);flex-direction:column;gap:12px;min-height:110px;padding:14px;display:flex}.repo-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.repo-card-name{word-break:break-all;margin:0;font-size:13px;font-weight:600;line-height:1.35}.repo-card-actions{margin-top:auto}a.tile-ghost{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-soft);align-items:center;padding:8px 12px;font-size:12px;text-decoration:none;display:inline-flex}.shell{grid-template-rows:auto auto 1fr;height:100dvh;display:grid;overflow:hidden}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#e7e2cfeb;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex}.brand{font-family:var(--serif);align-items:baseline;gap:8px;font-size:20px;text-decoration:none;display:flex}.brand .kanji{font-family:var(--sans);color:var(--ink-soft);letter-spacing:.06em;font-size:12px}.topbar-meta{font-family:var(--mono);color:var(--ink-soft);align-items:center;gap:12px;font-size:12px;display:flex}.repo-chip{border:1px solid var(--line);color:var(--ink);border-radius:2px;padding:4px 10px}.reset-btn{font-family:var(--mono);border:1px solid var(--ink);color:var(--ink);border-radius:2px;padding:8px 12px;font-size:12px;text-decoration:none}.reset-btn:hover{background:var(--ink);color:var(--paper)}.stage{grid-template-columns:1fr 320px;min-height:0;display:grid;position:relative;overflow:hidden}@media (width<=900px){.stage{grid-template-rows:1fr 40%;grid-template-columns:1fr}}.topo-stage{background:var(--paper-deep);min-height:0;position:relative}.topo{width:100%;height:100%;position:relative;overflow:hidden}.topo-svg{width:100%;height:100%;position:absolute;inset:0}.topo-region{cursor:pointer;transition:opacity .2s}.topo-region:hover .region-fill{opacity:.55}.topo-region.selected .region-fill{opacity:.65}.region-fill{opacity:.35;transition:fill .4s,opacity .2s,filter .4s}.region-contour{fill:none;stroke:var(--ink);stroke-width:.8px;opacity:.2;pointer-events:none}.region-label{font-family:var(--serif);fill:var(--ink);pointer-events:none;font-size:18px}.region-status{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;font-size:10px}.topo-region.verified .region-fill{fill:var(--verified)}.topo-region.drifted .region-fill{fill:var(--drifted);filter:url(#storm);animation:1.5s ease-in-out infinite topo-pulse}.topo-region.stale .region-fill{fill:var(--stale)}.topo-region.untested .region-fill{fill:var(--untested)}@keyframes topo-pulse{0%,to{opacity:.4}50%{opacity:.7}}.topo-chrome{z-index:3;pointer-events:none;max-width:280px;position:absolute;top:24px;left:24px}.topo-chrome h1{font-family:var(--serif);margin:0 0 6px;font-size:36px;font-weight:400;line-height:1}.topo-chrome p{color:var(--ink-soft);margin:0;font-size:13px}.topo-compass{opacity:.7;z-index:3;width:72px;height:72px;position:absolute;bottom:24px;right:28px}.topo-compass .needle{transform-origin:36px 36px;animation:60s linear infinite spin}.topo-scale{font-family:var(--mono);color:var(--ink-faint);z-index:3;font-size:10px;position:absolute;bottom:24px;left:24px}.topo-scale .bar{background:var(--ink);width:80px;height:1px;margin-bottom:4px;position:relative}.topo-scale .bar:before,.topo-scale .bar:after{content:"";background:var(--ink);width:1px;height:7px;position:absolute;top:-3px}.topo-scale .bar:before{left:0}.topo-scale .bar:after{right:0}.badge{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:3px 8px;font-size:10px}.badge.verified{color:var(--verified);background:var(--verified-soft)}.badge.drifted{color:var(--drifted);background:var(--drifted-soft)}.badge.stale{color:var(--stale);background:var(--stale-soft)}.badge.untested{color:var(--untested);background:var(--untested-soft)}.detail{background:var(--paper-card);border:1px solid var(--line);z-index:15;opacity:0;pointer-events:none;width:min(380px,100% - 40px);transition:opacity .28s var(--ease-out), transform .28s var(--ease-out);flex-direction:column;display:flex;position:absolute;top:20px;bottom:20px;right:20px;transform:translate(16px);box-shadow:0 1px #16242c0a,0 18px 40px #16242c1f}.detail.open{opacity:1;pointer-events:auto;transform:translate(0)}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 14px;display:flex}.detail-head h2{font-family:var(--serif);text-wrap:balance;margin:0 0 8px;font-size:26px;font-weight:400;line-height:1.1}.detail-close{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);border-radius:2px;flex-shrink:0;place-items:center;display:grid}.detail-close:hover{background:var(--ink);color:var(--paper)}.detail-body{flex:1;padding:16px 20px 24px;overflow-y:auto}.feature-desc{color:var(--ink-soft);margin:0 0 16px;font-size:14px}.meta-row{font-family:var(--mono);color:var(--ink-faint);flex-wrap:wrap;gap:8px 16px;margin-bottom:18px;font-size:11px;display:flex}.meta-row a{color:var(--correction)}.scenario{border:1px solid var(--line);background:var(--paper);margin-bottom:10px;padding:14px 14px 12px}.scenario-label{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:8px;font-size:10px}.scenario pre{font-family:var(--mono);white-space:pre-wrap;color:var(--ink);margin:0;font-size:12px;line-height:1.55}.scenario pre .kw{color:var(--correction);font-weight:500}.files{margin-top:18px}.files h3{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 8px;font-size:10px;font-weight:500}.file-chip{font-family:var(--mono);color:var(--ink-soft);border-bottom:1px solid color-mix(in srgb, var(--line) 50%, transparent);padding:4px 0;font-size:11px;display:block}.recon-banner{z-index:25;font-family:var(--mono);letter-spacing:.06em;background:var(--ink);color:var(--paper);border-radius:2px;padding:10px 18px;font-size:12px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.log-dock{border-left:1px solid var(--line);background:var(--paper);flex-direction:column;min-height:0;display:flex;overflow:hidden}.log-head{border-bottom:1px solid var(--line);padding:14px 18px 12px}.dock-tabs{gap:4px;margin-bottom:8px;display:flex}.dock-tabs button{font-family:var(--serif);color:var(--ink-faint);border:1px solid #0000;border-radius:2px;padding:4px 10px;font-size:18px}.dock-tabs button.active{color:var(--ink);border-color:var(--line);background:var(--paper-card)}.dock-tabs button:hover{color:var(--ink)}.log-head h2{font-family:var(--serif);margin:0 0 4px;font-size:22px;font-weight:400}.log-head p{color:var(--ink-faint);font-size:12px;font-family:var(--mono);margin:0}.log-feed{flex:1;padding:12px 14px 24px;overflow-y:auto}.chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-feed{flex-direction:column;flex:1;gap:12px;padding:12px 14px;display:flex;overflow-y:auto}.chat-empty p{color:var(--ink-soft);margin:0 0 10px;font-size:13px}.chat-focus{font-family:var(--mono);color:var(--ink-faint)!important;font-size:11px!important}.chat-starters{flex-direction:column;gap:6px;margin-top:8px;display:flex}.chat-starters button{text-align:left;font-family:var(--mono);border:1px solid var(--line);background:var(--paper-card);color:var(--ink-soft);border-radius:2px;padding:8px 10px;font-size:11px}.chat-starters button:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.chat-bubble{border:1px solid var(--line);background:var(--paper-card);padding:10px 12px}.chat-bubble.user{border-left:3px solid var(--ink)}.chat-bubble.assistant{border-left:3px solid var(--correction)}.chat-bubble.pending{opacity:.7}.chat-role{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-size:10px;display:block}.chat-bubble p{white-space:pre-wrap;color:var(--ink);margin:0;font-size:13px;line-height:1.45}.chat-error{font-family:var(--mono);color:var(--correction);margin:0;font-size:11px}.chat-compose{border-top:1px solid var(--line);gap:8px;padding:12px 14px 16px;display:flex}.chat-compose input{font-family:var(--mono);border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:2px;flex:1;padding:10px 12px;font-size:12px}.chat-compose button{font-family:var(--mono);border:1px solid var(--correction);background:var(--correction);color:var(--paper);border-radius:2px;padding:10px 14px;font-size:12px}.chat-compose button:disabled{opacity:.45;cursor:not-allowed}.log-entry{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);padding:12px 4px}.log-meta{font-family:var(--mono);color:var(--ink-faint);gap:10px;margin-bottom:6px;font-size:10px;display:flex}.log-type{text-transform:uppercase;letter-spacing:.06em}.log-type.verified,.log-type.reconciled{color:var(--verified)}.log-type.drifted,.log-type.manual-failed{color:var(--drifted)}.log-feature{font-family:var(--serif);margin:0 0 4px;font-size:16px}.log-summary{color:var(--ink-soft);margin:0;font-size:13px}.empty-log{font-family:var(--mono);color:var(--ink-faint);font-size:12px}.repos-page{background:var(--paper);min-height:100vh;padding-bottom:64px;overflow:auto}.repos-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex}.repos-head .brand{font-family:var(--serif);align-items:baseline;gap:8px;font-size:22px;text-decoration:none;display:flex}.repos-head .kanji{font-family:var(--sans);color:var(--ink-soft);font-size:14px}.repos-head nav{gap:20px;font-size:14px;display:flex}.repos-head a{color:var(--ink-soft);text-decoration:none}.repos-head a:hover{color:var(--ink)}.repos-page h1{font-family:var(--serif);margin:48px 0 8px;font-size:42px;font-weight:400}.repos-page .lede{color:var(--ink-soft);margin:0 0 32px}.repos-page .wrap{max-width:1100px;margin:0 auto;padding:0 28px}.manage-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.manage-list li{border:1px solid var(--line);background:var(--paper-card);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px 18px;display:flex}.manage-status{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-left:10px;font-size:11px}.manage-status.ready{color:var(--verified)}.manage-status.generating{color:var(--drifted)}.manage-status.failed{color:var(--correction)}.repo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.repo-actions button,.repo-actions a{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:2px;padding:8px 12px;font-size:12px;text-decoration:none}.repo-actions button:disabled{opacity:.45;cursor:not-allowed}.manual-page{background:var(--paper);min-height:100vh}.manual-head{border-bottom:1px solid var(--line);padding:28px}.manual-head a{font-family:var(--mono);color:var(--ink-soft);font-size:12px;text-decoration:none}.manual-head h1{font-family:var(--serif);margin:12px 0 4px;font-size:36px;font-weight:400}.manual-head p{color:var(--ink-soft);margin:0}.step-list{flex-direction:column;gap:16px;margin:0;padding:32px 0 80px;list-style:none;display:flex}.step-list li{border:1px solid var(--line);background:var(--paper-card);padding:18px}.step-list li.passed{border-color:var(--verified)}.step-list li.failed{border-color:var(--correction)}.step-text{margin-bottom:12px;font-size:15px}.kind{font-family:var(--mono);color:var(--correction);margin-right:6px;font-weight:500}.step-list textarea{width:100%;min-height:56px;font-family:var(--mono);border:1px solid var(--line);background:var(--paper);color:var(--ink);resize:vertical;margin-bottom:12px;padding:10px;font-size:12px}.step-actions{gap:10px;display:flex}.step-actions button{font-family:var(--mono);border:1px solid var(--ink);border-radius:2px;padding:8px 14px;font-size:12px}.step-actions .pass:hover{background:var(--verified);border-color:var(--verified);color:var(--paper)}.step-actions .fail:hover{background:var(--correction);border-color:var(--correction);color:var(--paper)}.ok{color:var(--verified);font-family:var(--mono);font-size:13px}.err{color:var(--correction);font-family:var(--mono);font-size:13px}.empty{color:var(--ink-soft)}.waitlist-page{background:var(--paper);min-height:100vh}.waitlist-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex}.waitlist-head .brand{font-family:var(--serif);align-items:baseline;gap:8px;font-size:22px;text-decoration:none;display:flex}.waitlist-head .kanji{font-family:var(--sans);color:var(--ink-soft);font-size:14px}.waitlist-head a{color:var(--ink-soft);font-size:14px;text-decoration:none}.waitlist-page .eyebrow{font-family:var(--mono);letter-spacing:.08em;color:var(--correction);margin:64px 0 16px;font-size:13px}.waitlist-page h1{font-family:var(--serif);margin:0 0 16px;font-size:clamp(36px,6vw,56px);font-weight:400}.waitlist-page .lede{color:var(--ink-soft);max-width:520px;margin:0 0 28px;font-size:17px}.waitlist-page .hint{font-family:var(--mono);color:var(--ink-faint);margin:0 0 24px;font-size:12px}.waitlist-form{flex-wrap:wrap;gap:10px;max-width:480px;margin-bottom:16px;display:flex}.waitlist-form input{min-width:220px;font-family:var(--mono);border:1px solid var(--ink);background:var(--paper-card);color:var(--ink);border-radius:2px;flex:1;padding:14px 16px;font-size:14px}.waitlist-form button{font-family:var(--mono);border:1px solid var(--correction);background:var(--correction);color:var(--paper);border-radius:2px;padding:14px 22px;font-size:14px}.waitlist-form button:disabled{opacity:.5}.waitlist-page .ok{color:var(--verified);font-family:var(--mono);font-size:13px}.waitlist-page .err{color:var(--correction);font-family:var(--mono);font-size:13px}.waitlist-page .fine{color:var(--ink-faint);margin-top:40px;font-size:14px}.waitlist-page .fine a{color:var(--ink-soft)}:root{--paper:#e7e2cf;--paper-deep:#dcd5b9;--paper-card:#efeada;--ink:#16242c;--ink-soft:#41565f;--ink-faint:#6e818a;--line:#97a6a2;--correction:#b33b2a;--correction-soft:#e7c9be;--verified:#3d6b4f;--verified-soft:#c5d6c8;--drifted:#c47a2a;--drifted-soft:#edd4a8;--stale:#7a8488;--stale-soft:#d0d4d2;--untested:#b33b2a;--untested-soft:#e7c9be;--serif:"Instrument Serif", Georgia, serif;--sans:"IBM Plex Sans", -apple-system, sans-serif;--mono:"IBM Plex Mono", "SF Mono", monospace;--max:1120px;--ease-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html{scroll-behavior:smooth;overflow-y:auto}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100%;margin:0;font-size:16px;line-height:1.55;overflow:hidden auto}a{color:inherit}::selection{background:var(--correction-soft)}:focus-visible{outline:2px solid var(--correction);outline-offset:3px}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
