:root{--ink:#10242e;--ink-soft:#3c5a67;--paper:#f4f1e8;--card:#f8f6eff7;--scrim:#091e289e;--line:#10242e29;--water:#2f7ba6;--reed-gold:#c8b06a;--timber:#9aa0a0;--good:#2f7d52;--warn:#b26a12;--bad:#b3352c;--safe-t:3px;--radius:14px;--tap:44px;--ease:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;background:#0d1f28;margin:0;padding:0;font:400 16px/1.45 ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;overflow:hidden}#scene{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}#app{z-index:1;height:100%;display:grid;position:relative}.screen{height:100%;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;grid-area:1/1;display:none}.screen.is-on{display:flex}.titlecard{background:var(--card);text-align:center;border-radius:20px;width:min(30rem,100% - 2.5rem);margin:auto;padding:1.6rem 1.4rem 1.3rem;box-shadow:0 18px 50px #06161e59}.titlecard h1{letter-spacing:.14em;color:var(--ink);margin:0;font-size:clamp(2.4rem,11vw,3.4rem);font-weight:800}.titlecard .sub{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:.1rem 0 1rem;font-size:.86rem}.titlecard .lede{color:var(--ink-soft);text-align:left;margin:0 0 1.3rem;font-size:1rem}.titlecard .lede strong{color:var(--ink)}.btn{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font:inherit;cursor:pointer;transition:transform 90ms var(--ease), background .12s var(--ease);background:#fff;padding:.7rem 1.15rem;font-weight:600}.btn:active{transform:scale(.975)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-danger{color:var(--bad);background:#fff;border-color:#b3352c66}.btn-quiet{color:var(--ink-soft);background:0 0;border-color:#0000;font-weight:500}.btn:focus-visible,.chip:focus-visible{outline-offset:2px;outline:3px solid #1f6f9a}.btnrow{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.btnrow-quiet{margin-top:.7rem}.btnrow-stack{flex-direction:column}.btnrow-stack .btn{width:100%}.btnrow .btn{flex:auto}.note{color:var(--ink-soft);margin:.8rem 0 0;font-size:.82rem}.chip{background:var(--scrim);color:#fff;min-width:34px;min-height:34px;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(6px);border:1px solid #ffffff38;border-radius:999px;padding:.32rem .7rem;font-size:.82rem;font-weight:600}.chip-quiet{font-weight:500}.topbar,.botbar{flex:none;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.spacer{flex:auto}.stage{flex-direction:column;flex:auto;justify-content:flex-end;align-items:center;min-height:0;padding:0 1rem .6rem;display:flex;position:relative}.prompt,.feedback{text-align:center;color:#fff;background:var(--scrim);-webkit-backdrop-filter:blur(6px);border-radius:12px;max-width:22rem;margin:0 0 .5rem;padding:.5rem .85rem;font-size:.95rem}.prompt:empty,.feedback:empty{display:none}.feedback{font-weight:600}.feedback.is-good{background:#1e5c3ad1}.feedback.is-bad{background:#8c2820d1}.gauge{aspect-ratio:2;pointer-events:none;width:min(15rem,62vw);position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.gauge-arc{border:var(--safe-t) solid #ffffff6b;background:#091e2847;border-bottom:none;border-radius:999px 999px 0 0;position:absolute;inset:0;overflow:hidden}.gauge-band{transform-origin:0 100%;border-left:.9rem solid #60d68c8c;width:0;height:100%;position:absolute;bottom:0;left:50%}.gauge-rod{transform-origin:bottom;background:#fff;border-radius:2px;width:3px;height:96%;margin-left:-1.5px;position:absolute;bottom:0;left:50%;box-shadow:0 0 8px #00000073}.tension{background:var(--scrim);-webkit-backdrop-filter:blur(6px);border-radius:14px;width:min(20rem,82vw);padding:.6rem .75rem .7rem;position:absolute;bottom:26%;left:50%;transform:translate(-50%)}.tension-label{color:#fff;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem}.tension-bar{background:#fff3;border-radius:8px;height:16px;position:relative;overflow:hidden}.tension-safe{background:#60d68c57;width:45%;position:absolute;top:0;bottom:0;left:30%}.tension-fill{background:#f2f6f4;border-radius:8px;width:0%;position:absolute;top:0;bottom:0;left:0}.tension-fill.is-hot{background:#ffb03a}.tension-fill.is-danger{background:#ff5b47}.tension.is-tell{animation:tell .5s var(--ease) infinite alternate}@keyframes tell{0%{box-shadow:0 0 #ff5b4700}to{box-shadow:0 0 0 6px #ff5b4759}}.tension-progress{background:#fff3;border-radius:3px;height:5px;margin-top:.4rem;overflow:hidden}.tension-progress-fill{background:#7fd8ff;width:0%;height:100%}.sheet{z-index:5;-webkit-backdrop-filter:blur(3px);padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));background:#06141b80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet[hidden]{display:none}.sheet-card{background:var(--card);width:min(30rem,100%);animation:rise .22s var(--ease);-webkit-overflow-scrolling:touch;border-radius:20px;max-height:86vh;padding:1.2rem 1.15rem 1.15rem;overflow-y:auto;box-shadow:0 20px 60px #04101673}.sheet-tall{max-height:82vh}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.sheet-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.sheet-head h2,.sheet-card h2{margin:0;font-size:1.35rem}.sheet-head .chip{color:var(--ink);border-color:var(--line);background:#10242e1a}.catch-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--good);margin:0;font-size:.74rem;font-weight:700}.catch-sci{color:var(--ink-soft);margin:.15rem 0 .9rem;font-size:.9rem}.catch-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.9rem;display:grid}.catch-stats div{text-align:center;background:#10242e0f;border-radius:12px;padding:.55rem .4rem}.catch-stats b{font-size:1.15rem;display:block}.catch-stats span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem}.catch-fact{color:var(--ink-soft);border-left:3px solid var(--reed-gold);margin:0 0 .9rem;padding-left:.7rem;font-size:.92rem}.legal{margin-bottom:1rem}.legal p{border-radius:10px;margin:0 0 .4rem;padding:.5rem .65rem;font-size:.9rem}.legal .l-stop{color:#7d2019;background:#b3352c1f;font-weight:600}.legal .l-warn{color:#7a4708;background:#b26a1221}.legal .l-ok{color:#1e5c3a;background:#2f7d521f}.legal .l-note{color:var(--ink-soft);background:#10242e0f}.tallies{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.9rem;display:grid}.tallies div{text-align:center;background:#10242e0f;border-radius:12px;padding:.5rem}.tallies b{font-size:1.2rem;display:block}.tallies span{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);font-size:.66rem}.loglist{margin:0;padding:0;list-style:none}.loglist li{border-top:1px solid var(--line);align-items:baseline;gap:.5rem;padding:.5rem 0;font-size:.92rem;display:flex}.loglist .lg-name{flex:auto;font-weight:600}.loglist .lg-size{color:var(--ink-soft);font-variant-numeric:tabular-nums}.loglist .lg-tag{letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:.1rem .4rem;font-size:.68rem}.loglist .lg-kept{color:var(--ink-soft);background:#10242e1a}.loglist .lg-rel{color:#1e5c3a;background:#2f7d5224}.empty{color:var(--ink-soft);padding:.8rem 0;font-size:.92rem}.prose h3{margin:1.1rem 0 .4rem;font-size:.98rem}.prose h3:first-child{margin-top:0}.prose p{color:var(--ink-soft);margin:0 0 .7rem;font-size:.94rem}.prose ol{color:var(--ink-soft);margin:0 0 .8rem;padding-left:1.2rem;font-size:.94rem}.prose li{margin-bottom:.35rem}.prose strong{color:var(--ink)}.prose .is-active{outline:2px solid var(--good)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (orientation:landscape) and (max-height:480px){.gauge{width:min(11rem,34vw);bottom:12%}.tension{bottom:8%}.titlecard{padding:1rem}.titlecard .lede{display:none}}
/*$vite$:1*/