:root{--paper:#f7f4ee;--surface:#fff;--sunk:#f1ede4;--ink:#16211c;--ink-2:#4c5a52;--ink-3:#7c8a82;--forest:#14503c;--forest-deep:#0e3a2b;--forest-tint:#e4ede7;--rail-ink:#e8efe9;--rail-ink-2:#9db4a8;--rule:#e3ddd1;--rule-strong:#d2cabb;--amber:#7a4e0c;--amber-bg:#fbf3df;--amber-rule:#ebd9ac;--bad:#9b2c2c;--mark:#fff0bf;--radius:12px;--radius-sm:9px;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, ui-serif, serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs:12px;--fs-sm:13.5px;--fs-base:15px;--fs-md:16.5px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:31px;--fs-score:54px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--paper);color:var(--ink);font:var(--fs-base) / 1.6 var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}:focus-visible{outline:2px solid var(--forest);outline-offset:2px;border-radius:3px}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--forest-deep);color:var(--rail-ink);flex-direction:column;gap:24px;height:100vh;padding:22px 14px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.rail__brand{flex-direction:column;gap:3px;padding:0 8px;display:flex}.rail__name{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:600}.rail__project{font-size:var(--fs-xs);color:var(--rail-ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail__nav{flex-direction:column;gap:22px;display:flex}.rail__group{flex-direction:column;gap:2px;display:flex}.rail__label{font-size:var(--fs-xs);color:var(--rail-ink-2);padding:0 8px 6px}.rail__link{text-align:left;width:100%;color:var(--rail-ink);font:inherit;font-size:var(--fs-sm);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:7px 10px;display:block}.rail__link:hover{background:#ffffff14}.rail__link[aria-current=page]{background:#ffffff24;font-weight:600}.rail__foot{font-size:var(--fs-xs);color:var(--rail-ink-2);margin-top:auto;padding:0 8px;line-height:1.8}.rail__foot a{color:var(--rail-ink)}.main{min-width:0;padding:30px 40px 80px}.wrap{max-width:960px}.topbar{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.topbar h1{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.015em;margin:0;font-weight:600}.lede{color:var(--ink-2);max-width:68ch;margin:0 0 20px}.banner{border-radius:var(--radius);font-size:var(--fs-sm);border:1px solid #0000;margin:0 0 16px;padding:12px 15px}.banner--warn{background:var(--amber-bg);border-color:var(--amber-rule);color:var(--amber)}.banner--info{background:var(--surface);border-color:var(--rule);color:var(--ink-2)}.banner--bad{color:var(--bad);background:#fdf0ef;border-color:#f0cfcb}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:22px 24px}.card+.card{margin-top:16px}.card__title{font-size:var(--fs-md);margin:0 0 4px;font-weight:600}.card__hint{color:var(--ink-2);font-size:var(--fs-sm);margin:0 0 18px}.scorecard{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.score__value{font-family:var(--font-display);font-size:var(--fs-score);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.score__body{flex:320px;min-width:0}.score__formula{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-2);background:var(--sunk);border-radius:var(--radius-sm);white-space:nowrap;margin:0 0 10px;padding:9px 12px;overflow-x:auto}.tiles{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px;margin-top:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px}.tile__label{font-size:var(--fs-sm);color:var(--ink-2)}.tile__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:6px;font-size:30px;line-height:1.15}.tile__note{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}.bar{grid-template-columns:168px minmax(0,1fr) 62px;align-items:center;gap:12px;padding:5px 0;display:grid}.bar__label{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar__track{background:var(--sunk);border-radius:99px;height:9px;overflow:hidden}.bar__fill{background:var(--forest);border-radius:99px;height:100%;display:block}.bar__note{font-size:var(--fs-sm);color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.table th{text-align:left;color:var(--ink-2);font-weight:600;font-size:var(--fs-xs);border-bottom:1px solid var(--rule);white-space:nowrap;padding:8px 22px 8px 0}.table td{vertical-align:top;border-bottom:1px solid #f0ece3;padding:10px 22px 10px 0}.table th:last-child,.table td:last-child{padding-right:0}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.miss{color:var(--ink-3)}.field{margin-bottom:16px;display:block}.field__label{font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:6px;display:block}.field__hint{font-size:var(--fs-xs);color:var(--ink-3);margin-top:6px}.input,.textarea{border:1px solid var(--rule);background:var(--surface);width:100%;color:inherit;font:inherit;border-radius:var(--radius-sm);padding:9px 11px}.textarea{resize:vertical;min-height:150px;line-height:1.6}.input::placeholder,.textarea::placeholder{color:#a9b3ad}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--rule);background:var(--surface);font-size:var(--fs-sm);border-radius:99px;align-items:center;gap:7px;padding:5px 6px 5px 13px;display:inline-flex}.chip button{color:var(--ink-3);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:99px;padding:2px 5px;line-height:1}.chip button:hover{background:var(--sunk);color:var(--ink)}.picker{flex-direction:column;gap:8px;display:flex}.pick{border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.pick:hover{border-color:var(--rule-strong)}.pick--on{border-color:var(--forest);background:var(--forest-tint)}.pick input{accent-color:var(--forest);width:16px;height:16px;margin:3px 0 0}.pick__body{flex:auto;min-width:0}.pick__name{font-weight:600;font-size:var(--fs-sm)}.pick__id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}.pick__price{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.btn{font:inherit;font-size:var(--fs-sm);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:9px 16px;font-weight:600}.btn--primary{background:var(--forest);color:#fff}.btn--primary:hover:not(:disabled){background:var(--forest-deep)}.btn--ghost{border-color:var(--rule-strong);color:var(--ink);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--sunk)}.btn:disabled{opacity:.45;cursor:not-allowed}.linkish{font:inherit;cursor:pointer;color:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.progress{background:var(--sunk);border-radius:99px;height:8px;overflow:hidden}.progress__fill{background:var(--forest);border-radius:99px;width:0;height:100%;transition:width .25s}.progress__meta{font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:space-between;gap:14px;margin-bottom:8px;display:flex}.log{border:1px solid var(--rule);border-radius:var(--radius-sm);max-height:220px;font-size:var(--fs-xs);margin-top:16px;overflow-y:auto}.log__row{border-bottom:1px solid #f0ece3;gap:10px;padding:6px 12px;display:flex}.log__row:last-child{border-bottom:0}.log__model{color:var(--ink-3);white-space:nowrap}.log__text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.answer{border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px}.answer+.answer{margin-top:8px}.answer summary{cursor:pointer;font-size:var(--fs-sm);font-weight:600}.answer p{white-space:pre-wrap;font-size:var(--fs-sm);color:var(--ink-2);margin:12px 0 0}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 2px;font-weight:600}.empty{text-align:center;color:var(--ink-3);font-size:var(--fs-sm);padding:44px 20px}.mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{flex-direction:column;gap:16px;display:flex}.section+.section{margin-top:34px}@media (width<=880px){.shell{grid-template-columns:minmax(0,1fr)}.rail{gap:14px;height:auto;padding:16px 14px;position:static}.rail__nav{flex-direction:row;gap:14px;overflow-x:auto}.rail__group{flex-direction:row}.rail__label{display:none}.rail__link{white-space:nowrap}.rail__foot{margin-top:0}.main{padding:22px 18px 60px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:minmax(0,1fr)}.bar{grid-template-columns:110px minmax(0,1fr) 54px}}.delta{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;margin-top:6px}.delta--up{color:var(--forest)}.delta--down,.delta--flat{color:var(--ink-3)}.src{color:var(--forest);text-decoration:none;display:block}.src:hover .src__url{text-decoration:underline}.src__url{word-break:break-all;display:block}.src__title{color:var(--ink-3);font-size:var(--fs-xs);word-break:normal;margin-top:2px;display:block}.actions{margin:0;padding-left:20px}.actions__item{margin-bottom:16px}.actions__item:last-child{margin-bottom:0}.actions__prompt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0}.actions__body{margin:2px 0 0}.actions__source{margin:4px 0 0}.quote{border-left:3px solid var(--forest-tint);color:var(--ink-2);font-size:var(--fs-sm);margin:0 0 10px;padding:10px 14px}.pick--search{align-items:flex-start;margin-bottom:16px}.pick--search .pick__id{white-space:normal}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
