:root{--bg: #1a1410;--bg2: #241a12;--panel: rgba(42, 32, 24, .92);--panel-solid: #2a2018;--crust: #e6b980;--crust-deep: #c98f4e;--cream: #f4e4c8;--ink: #f4e4c8;--muted: #b9a488;--good: #9ccb6a;--warn: #e6a94e;--bad: #d9705a;--line: rgba(230, 185, 128, .18);--shadow: 0 8px 30px rgba(0, 0, 0, .45);--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font);overscroll-behavior:none}#app{position:fixed;inset:0;display:flex;justify-content:center;background:radial-gradient(120% 90% at 50% 8%,#2c2016 0%,var(--bg) 62%)}#stage{position:absolute;inset:0;width:100%;height:100%;display:block}#ui{position:relative;width:100%;max-width:520px;height:100%;display:flex;flex-direction:column;pointer-events:none;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}#ui>*{pointer-events:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 4px 8px}.brand{font-weight:700;letter-spacing:.5px;font-size:15px;color:var(--crust)}.crumbs{font-size:14px;font-weight:700;color:var(--cream);background:#00000047;border:1px solid var(--line);padding:5px 12px;border-radius:999px}.spacer{flex:1}.starter-name{text-align:center;font-size:22px;font-weight:800;margin:2px 0 0;color:var(--cream)}.provenance{text-align:center;font-size:12.5px;color:var(--muted);margin-top:2px}.gen-badge{display:inline-block;font-size:11px;font-weight:700;color:#2a2018;background:var(--crust);padding:2px 8px;border-radius:999px;margin-left:6px}.status{text-align:center;font-size:13px;color:var(--muted);margin-top:6px;min-height:18px}.status .state-good{color:var(--good)}.status .state-warn{color:var(--warn)}.status .state-bad{color:var(--bad)}.hint{text-align:center;font-size:12px;color:var(--muted);margin-top:4px;min-height:16px;transition:opacity .3s}.peakwrap{margin:10px auto 0;width:78%;max-width:320px}.peakbar{position:relative;height:10px;border-radius:999px;background:#00000059;border:1px solid var(--line);overflow:hidden}.peakfill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--crust-deep),var(--crust));transition:width .6s ease}.peakzone{position:absolute;top:-2px;bottom:-2px;background:#9ccb6a47;border-left:1px solid var(--good);border-right:1px solid var(--good)}.peaklabel{text-align:center;font-size:11px;color:var(--muted);margin-top:5px}.dock{margin-top:auto;display:flex;gap:7px;padding:12px 0 8px}.action{flex:1;min-width:0;border:1px solid var(--line);background:var(--panel);color:var(--cream);border-radius:15px;padding:12px 3px 9px;font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;transition:transform .08s,background .15s;backdrop-filter:blur(6px)}.action:active{transform:translateY(2px) scale(.98)}.action .ico{font-size:21px;line-height:1}.action.primary{background:linear-gradient(160deg,var(--crust),var(--crust-deep));color:#2a1a0e;border-color:transparent}.action:disabled{opacity:.4;cursor:default}.sheet-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:fade .2s ease}.sheet{width:100%;max-width:520px;background:var(--panel-solid);border-radius:22px 22px 0 0;border-top:1px solid var(--line);box-shadow:var(--shadow);padding:20px 18px calc(20px + env(safe-area-inset-bottom));animation:slideup .28s cubic-bezier(.2,.8,.2,1);max-height:88%;overflow-y:auto}.sheet h2{margin:0 0 4px;font-size:19px;color:var(--cream)}.sheet p.sub{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.5}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice{border:1px solid var(--line);background:#00000038;border-radius:14px;padding:12px;cursor:pointer;transition:border-color .15s,background .15s}.choice:active{background:#e6b9801a}.choice.selected{border-color:var(--crust);background:#e6b9801f}.choice .t{font-weight:700;font-size:14px;color:var(--cream)}.choice .d{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.4}.btn{display:block;width:100%;margin-top:16px;border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:700;cursor:pointer;background:linear-gradient(160deg,var(--crust),var(--crust-deep));color:#2a1a0e}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--cream);margin-top:10px}.btn:disabled{opacity:.4}.field{width:100%;background:#0000004d;border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--cream);font-size:16px;font-family:var(--font);margin-top:6px}.field:focus{outline:none;border-color:var(--crust)}.trait-cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.trait-card{background:#e6b9801a;border:1px solid var(--line);border-radius:12px;padding:8px 11px;font-size:12px}.trait-card b{color:var(--crust)}.trait-card span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.lineage{margin-top:14px;font-size:13px}.lineage .row{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.lineage .gen{color:var(--crust);font-weight:700;min-width:46px}.lineage .who{color:var(--cream)}.lineage .where{color:var(--muted);font-size:11.5px}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:#000000d1;border:1px solid var(--line);color:var(--cream);padding:11px 18px;border-radius:999px;font-size:13px;z-index:40;animation:fade .25s ease;max-width:90%;text-align:center}.qr{display:block;margin:14px auto;image-rendering:pixelated;border-radius:10px;border:6px solid #f4e4c8;background:#f4e4c8}.share-token{font-size:11px;color:var(--muted);word-break:break-all;background:#0000004d;border-radius:10px;padding:10px;margin-top:8px;max-height:84px;overflow-y:auto;user-select:text;-webkit-user-select:text}.center-col{display:flex;flex-direction:column;align-items:center}.shop-tag{margin-top:8px;text-align:center;font-size:12px;font-weight:700;padding:5px;border-radius:9px;background:#e6b98024;color:var(--crust)}.shop-tag.owned{background:#ffffff14;color:var(--cream)}.shop-tag.equipped{background:#9ccb6a33;color:var(--good)}.shop-tag.broke{background:#d9705a29;color:var(--bad)}.event-card{display:flex;gap:12px;align-items:flex-start;background:#00000038;border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:12px}.event-card.holiday{background:linear-gradient(160deg,#e6b98024,#00000026);border-color:#e6b98066}.season-banner{display:flex;align-items:center;gap:8px;justify-content:center;margin:8px auto 0;padding:7px 14px;border-radius:999px;background:#00000047;border:1px solid var(--line);font-size:12.5px;color:var(--cream);cursor:pointer;max-width:90%}.season-banner .dot{color:var(--warn);font-weight:700}.season-banner.has-holiday{border-color:#e6b98080;background:#e6b9801f}.crumb-shot{width:180px;height:180px;margin:8px auto 4px;border-radius:50%;box-shadow:inset 0 0 0 6px #0003,var(--shadow)}.score-big{font-size:46px;font-weight:800;color:var(--crust);text-align:center}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}
