:root{--bg:#0b0e0d;--surface:#131817;--surface-hi:#1b2220;--line:#263130;--text:#ecf2f0;--dim:#93a5a0;--faint:#6b7c78;--accent:#4fd1a5;--accent-dim:#12362c;--warn:#e2a33c;--crit:#e86e63;--r:12px;--sans:ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{flex-direction:column;max-width:560px;height:100%;margin:0 auto;display:flex}.scroll{padding:calc(20px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 28px calc(16px + env(safe-area-inset-left));flex:1;overflow-y:auto}.scroll.center{flex-direction:column;display:flex}.scroll.center>*{width:100%;margin-block:auto}h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 6px;font-size:26px;font-weight:640}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:17px;font-weight:620}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 10px;font-size:10.5px;font-weight:700}.sub{color:var(--dim);margin:0 0 18px;font-size:14.5px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;padding:16px}.xpbar{background:var(--surface-hi);border-radius:99px;height:6px;overflow:hidden}.xpbar>i{background:var(--accent);border-radius:99px;height:100%;transition:width .4s;display:block}.level-row{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.level-num{font-family:var(--mono);letter-spacing:-.03em;font-size:30px;font-weight:650}.rank{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:650}.stat{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;display:flex}.stat:last-child{border-bottom:none}.stat .ico{text-align:center;width:26px;color:var(--dim);flex-shrink:0;font-size:19px}.stat .ico svg{margin:0 auto;display:block}.stat .lab{flex:1;min-width:0}.stat .lab b{font-size:15px;font-weight:560;display:block}.stat .lab span{color:var(--faint);font-size:12.5px;display:block}.stat .val{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:15px}.meter{background:var(--surface-hi);border-radius:99px;height:5px;margin-top:7px;overflow:hidden}.meter>i{background:var(--accent);border-radius:99px;height:100%;transition:width .3s;display:block}.meter.over>i{background:var(--crit)}.meter.warn>i{background:var(--warn)}.btn{background:var(--accent);color:#06120e;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:100%;padding:13px 18px;font-size:15px;font-weight:640;display:inline-flex}.btn:disabled{opacity:.35;cursor:default}.btn.ghost{background:var(--surface-hi);color:var(--text)}.btn.line{border:1px solid var(--line);color:var(--text);background:0 0}.btn.sm{border-radius:8px;width:auto;padding:9px 13px;font-size:13.5px}.btnrow{gap:8px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface-hi);color:var(--dim);border:1px solid #0000;border-radius:9px;padding:9px 13px;font-size:14px}.chip[aria-pressed=true]{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.quest{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;display:flex}.quest:last-child{border-bottom:none}.tick{border:2px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:27px;height:27px;font-size:14px;transition:all .15s;display:grid}.tick[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#06120e}.quest .body{flex:1;min-width:0}.quest .body b{font-size:15px;font-weight:540;display:block}.quest .body span{color:var(--faint);font-size:12.5px;display:block}.quest.done .body b{color:var(--dim)}.tabs{border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);display:flex}.tabs button{color:var(--faint);flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px 12px;font-size:10.5px;font-weight:600;display:flex}.tabs button[aria-selected=true]{color:var(--accent)}.tabs .ti{line-height:0;display:block}.tabs .ti svg{display:block}.field{margin-bottom:14px;display:block}.field>span{color:var(--dim);margin-bottom:6px;font-size:13px;font-weight:560;display:block}.field input,.field select,.field textarea{background:var(--surface-hi);border:1px solid var(--line);border-radius:9px;width:100%;padding:12px 13px;font-size:16px}.field textarea{font:inherit;resize:vertical;font-size:16px;line-height:1.5}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.note{color:var(--faint);border-left:2px solid var(--line);margin-top:12px;padding-left:11px;font-size:12.5px;line-height:1.5}.warnbox{border-left:2px solid var(--warn);background:#e2a33c1a;border-radius:0 8px 8px 0;margin-top:10px;padding:10px 12px;font-size:13px}.empty{text-align:center;color:var(--faint);padding:32px 16px;font-size:14px}.toast{background:var(--accent);color:#06120e;z-index:50;border-radius:99px;padding:10px 18px;font-size:14px;font-weight:640;animation:.25s pop;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.progress-head{color:var(--dim);justify-content:space-between;align-items:baseline;margin-bottom:3px;font-size:13px;display:flex}.dishgrid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.dish{background:var(--surface-hi);border:1px solid var(--line);text-align:left;border-radius:10px;flex-direction:column;gap:3px;padding:11px 9px;display:flex}.dish b{font-size:12.5px;font-weight:570;line-height:1.25}.dish span{color:var(--faint);font-size:11px;font-family:var(--mono)}.dish .e{font-size:17px}.timer{font-family:var(--mono);text-align:center;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:20px 0 8px;font-size:56px;font-weight:600}
