:root{--ink:#1d2b3a;--ink-soft:#4b5b6b;--muted:#7d8a97;--panel:#fffcf6e0;--panel-strong:#fffcf6f5;--line:#1d2b3a1a;--coral:#ff6b5b;--coral-deep:#e84f40;--teal:#17a99b;--sea:#1f8fd6;--gold:#ffb627;--good:#1fae6a;--bad:#e5484d;--radius:16px;--shadow:0 10px 30px #14283c2e, 0 2px 6px #14283c14;--font:"Nunito", ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#0d2742;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}.hidden{display:none!important}#app,#world{position:fixed;inset:0}.world-canvas{touch-action:none;width:100%;height:100%;display:block}.float-layer,#lot-labels{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}#topbar,#build-dock,.panel,#overlay-bar{z-index:3}.float-label{color:#fff;text-shadow:0 2px #00000040,0 0 8px #00000040;white-space:nowrap;will-change:transform, opacity;font-size:15px;font-weight:800;position:absolute;top:0;left:0}.float-label.money{color:#eaffc8;font-size:17px}.float-label.money-small{color:#f6ffe4;font-size:12px;font-weight:700}.float-label.big{color:#fff3b0;font-size:22px}.float-label.bad{color:#ffd0cc}.lot-label{color:#fff;background:#1fae6aeb;border-radius:999px;padding:3px 7px;font-size:13px;font-weight:800;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0003}.lot-label.neg{background:#e5484deb}.lot-label.value{background:#1d2b3ac7;padding:2px 6px;font-size:11.5px}.lot-label.value.owned{background:#17a99bf2}.lot-label.value.market:before{content:"🪧 "}#topbar{top:calc(12px + env(safe-area-inset-top,0px));pointer-events:none;align-items:center;gap:10px;display:flex;position:fixed;left:12px;right:12px}#topbar>*{pointer-events:auto}.chip{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border:0;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:14px;font-weight:700;display:flex}.chip .portrait{border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.stats{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:999px;flex-wrap:nowrap;gap:6px;min-width:0;padding:5px 8px;display:flex}.stat{white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:baseline;gap:5px;padding:4px 10px;font-size:16px;font-weight:800;display:flex}.stat-btn:hover{background:#ffb6272e}.stat-btn.ready{background:#ffb62747;animation:1.6s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 0 0 4px #ffb62740}}.stat small{color:var(--muted);font-size:12px;font-weight:700}.stat small.up{color:var(--good)}.stat small.down{color:var(--bad)}.stat-icon{font-size:15px}.date{flex-direction:column;align-items:flex-start;gap:0;font-size:13px;line-height:1.05}.date small{font-size:11px}.speed{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:999px;margin-left:auto;padding:4px;display:flex}.speed button{color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.speed button.active{background:var(--ink);color:#fff}.menu-buttons{gap:6px;display:flex}.icon-btn{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:40px;height:40px;box-shadow:var(--shadow);border:0;border-radius:50%;font-size:18px}.icon-btn:hover,.chip:hover{transform:translateY(-1px)}.panel{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius);box-shadow:var(--shadow);position:fixed}.panel h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:13px}#build-dock{pointer-events:none;flex-direction:column;gap:8px;width:232px;display:flex;position:fixed;top:72px;bottom:12px;left:12px}#build-tabs{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);pointer-events:auto;border-radius:14px;grid-template-columns:repeat(6,1fr);gap:4px;padding:4px;display:grid}#build-tabs button{background:0 0;border:0;border-radius:10px;padding:7px 0;font-size:18px}#build-tabs button.active{background:#fff;box-shadow:0 2px 6px #0000001a}#build-items{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius);box-shadow:var(--shadow);pointer-events:auto;flex-direction:column;gap:6px;max-height:calc(100% - 230px);padding:8px;display:flex;overflow-y:auto}.build-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:2px 4px;font-size:12px;font-weight:800}.build-item{text-align:left;background:#fff;border:2px solid #0000;border-radius:12px;grid-template-columns:38px 1fr;align-items:center;gap:8px;padding:7px 8px;display:grid;position:relative;box-shadow:0 1px 3px #0000000f}.build-item:hover{border-color:#ff6b5b73}.build-item.active{border-color:var(--coral);background:#fff4f2}.build-item.locked{opacity:.62;background:#f4f1ec}.build-item.poor .cost{color:var(--bad)}.build-item .ico{background:#f5efe6;border-radius:10px;place-items:center;width:38px;height:38px;font-size:24px;display:grid}.build-item .name{font-size:13.5px;font-weight:800;line-height:1.15}.build-item .cost{color:var(--ink-soft);font-size:12px;font-weight:700}.build-item .lock{color:#9a6b00;font-size:11px;font-weight:700}.build-item .sig{color:#fff;background:var(--coral);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;top:5px;right:7px}#goals{width:300px;padding:12px 14px;bottom:12px;left:256px}.goal{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 8px;padding:7px 0;font-size:13.5px;font-weight:700;display:grid}.goal:first-of-type{border-top:0}.goal .reward{color:#9a6b00;white-space:nowrap;font-size:11.5px;font-weight:800}.bar{background:#1d2b3a14;border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--teal), #4fd1c5);border-radius:999px;height:100%;transition:width .4s;display:block}#feed{flex-direction:column;width:330px;max-height:38vh;padding:12px 12px 6px;display:flex;bottom:12px;right:12px}#feed-list{flex-direction:column;gap:6px;padding-bottom:6px;display:flex;overflow-y:auto}.bubble{cursor:pointer;background:#fff;border-left:3px solid #0000;border-radius:12px;grid-template-columns:28px 1fr;gap:8px;padding:7px 9px;font-size:13px;line-height:1.3;animation:.35s cubic-bezier(.2,1.6,.4,1) pop-in;display:grid}.bubble.good{border-left-color:var(--good)}.bubble.bad{border-left-color:var(--bad)}.bubble.news{border-left-color:var(--gold);background:#fff7e3}.bubble .who{color:var(--ink-soft);font-size:12px;font-weight:800}.bubble .face{font-size:20px}.stars{color:#f5a300;letter-spacing:1px;font-size:11px}@keyframes pop-in{0%{opacity:0;transform:scale(.85)translateY(6px)}}#inspector{width:330px;max-height:calc(62vh - 110px);padding:14px;top:72px;right:12px;overflow-y:auto}.insp-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.insp-head .big-ico{background:#f5efe6;border-radius:14px;place-items:center;width:48px;height:48px;font-size:30px;display:grid}.insp-head h2{margin:0;font-size:18px}.insp-head .sub{color:var(--muted);font-size:12.5px;font-weight:700}.close-x{background:#1d2b3a0f;border:0;border-radius:50%;align-self:flex-start;width:28px;height:28px;margin-left:auto}.insp-desc{color:var(--ink-soft);margin:0 0 10px;font-size:13px}.kv{grid-template-columns:1fr auto;gap:5px 10px;margin:8px 0;font-size:13.5px;display:grid}.kv b{text-align:right}.traits{flex-wrap:wrap;gap:5px;margin:6px 0;display:flex}.trait{color:#0d7a6f;background:#e8f6f3;border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:800}.trait.combo{color:#8a5a00;background:#fff1cc}.reactions{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0;display:grid}.reaction{text-align:center;background:#fff;border-radius:10px;padding:6px 4px;font-size:11px;font-weight:800}.reaction .seg{font-size:18px}.reaction.love{background:#dcf7e8}.reaction.like{background:#eef9f1}.reaction.hate{background:#fde3e3}.btn-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.btn{background:var(--ink);color:#fff;border:0;border-radius:12px;padding:9px 14px;font-size:14px;font-weight:800;box-shadow:0 2px #00000026}.btn:hover{filter:brightness(1.08)}.btn.primary{background:linear-gradient(180deg, #ff7a6b, var(--coral-deep))}.btn.teal{background:linear-gradient(#25c2b3,#11978a)}.btn.ghost{color:var(--ink);box-shadow:none;background:#1d2b3a12}.btn:disabled{opacity:.45;cursor:not-allowed}.seg-toggle{background:#1d2b3a12;border-radius:12px;gap:3px;padding:3px;display:flex}.seg-toggle button{background:0 0;border:0;border-radius:9px;flex:1;padding:6px;font-size:12.5px;font-weight:800}.seg-toggle button.active{background:#fff;box-shadow:0 1px 3px #0000001f}.hint{color:var(--muted);margin-top:6px;font-size:12px}#overlay-bar{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:999px;gap:4px;padding:4px;display:flex;position:fixed;top:66px;left:50%;transform:translate(-50%)}#overlay-bar button{white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800}#overlay-bar button.active{background:var(--ink);color:#fff}#tooltip{pointer-events:none;background:var(--panel-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);z-index:5;border-radius:14px;width:250px;padding:10px 12px;font-size:13px;position:fixed}#tooltip .tt-title{justify-content:space-between;font-size:14px;font-weight:800;display:flex}#tooltip .tt-bad{color:var(--bad);margin-top:4px;font-weight:800}#tooltip .tt-good{color:var(--good);font-weight:800}#tooltip .tt-row{color:var(--ink-soft);margin-top:4px;font-weight:700}#tooltip .spark{color:#b77900;font-weight:800}.loan-chip{color:#8a5a00;background:#ffb62738;border-radius:999px;align-self:center;padding:1px 6px;font-size:11px;font-style:normal;font-weight:800}body.compact .loan-chip{padding:1px 4px;font-size:10px}.bank-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:4px 0 6px;display:grid}.bank-stat{background:#fff;border-radius:14px;flex-direction:column;padding:10px 12px;display:flex}.bank-stat small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:900}.bank-stat b{font-size:20px}.bank-stat span{color:var(--ink-soft);font-size:12px;font-weight:700}.btn-row.wrap .btn{flex:130px}.research-line{text-align:left;width:100%;color:var(--ink-soft);background:#f1ecff;border:0;border-radius:12px;grid-template-columns:auto 1fr;gap:8px;margin-top:6px;padding:7px 10px;font-size:12.5px;line-height:1.35;display:grid}.research-line.idle{background:#fff4d6;animation:2.4s ease-in-out infinite glow}.research-line em{color:var(--sea);font-style:normal;font-weight:800}.research-active{background:#f1ecff;border-radius:12px;margin-bottom:8px;padding:10px 12px;font-weight:800}.research-active.idle{background:#fff4d6}.research-list{flex-direction:column;gap:8px;display:flex}.research-item{background:#fff;border-radius:14px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.research-item.running{outline:2px solid #8b6cf6}.research-item small{color:var(--muted);font-weight:800}.research-item .btn{white-space:nowrap;font-size:13px}.r-ico{text-align:center;font-size:26px}body.compact .research-item{grid-template-columns:30px 1fr}body.compact .research-item .btn{grid-column:1/-1}.trait.found{color:#7a5200;background:#fff1c2}.secret{color:#7a5200;background:#fff4d6;border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12.5px;font-weight:800}.up-empty{color:var(--muted);font-size:14px}.council{background:#eef6ff;border:2px solid #b9dcff;border-radius:14px;margin-bottom:10px;padding:10px 12px}.c-head{letter-spacing:.04em;text-transform:uppercase;color:#1f5f8b;justify-content:space-between;font-size:12px;font-weight:900;display:flex}.c-head b{color:var(--coral-deep)}.c-q{margin:4px 0 6px;font-size:13.5px;font-weight:800}.c-opt{background:#fff;border-radius:12px;gap:3px;margin-top:6px;padding:8px 10px;font-size:12.5px;display:grid}.c-opt.lead{outline:2px solid var(--teal)}.c-opt small{color:var(--teal);text-transform:uppercase;font-size:10.5px;font-weight:900}.c-text,.c-money{color:var(--ink-soft);font-weight:700}.c-btns{gap:4px;display:flex}.c-btns button{background:var(--ink);color:#fff;border:0;border-radius:9px;flex:1;padding:6px 0;font-size:12.5px;font-weight:900}.c-btns button:disabled{opacity:.35;cursor:not-allowed}.council-law{color:var(--ink-soft);background:#eef6ff;border-radius:12px;margin-bottom:8px;padding:7px 10px;font-size:12.5px}.gotcha{text-align:left;background:#fff;border:2px solid #0000;border-radius:12px;grid-template-columns:28px 1fr;gap:8px;width:100%;margin-top:6px;padding:8px 10px;display:grid}.gotcha:hover:not(:disabled){border-color:#9b5de5}.gotcha:disabled{opacity:.5;cursor:not-allowed}.gotcha b{font-size:13px;display:block}.gotcha small{color:var(--ink-soft);font-size:11.5px;font-weight:700}.g-ico{font-size:22px}.gotcha-alert{color:#7a1c17;background:#ffe3e1;border-radius:12px;gap:6px;margin-bottom:6px;padding:9px 10px;font-size:13px;font-weight:700;display:grid}.landmark-hint{grid-column:1/-1;padding:4px}body.compact #build-items .landmark-hint{display:block}#toasts{pointer-events:none;z-index:6;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:116px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-strong);box-shadow:var(--shadow);animation:.45s cubic-bezier(.2,1.6,.4,1) toast-in,.4s ease-in forwards toast-out;animation-delay:0s, var(--life,3.2s);white-space:nowrap;border-radius:999px;padding:9px 18px;font-size:14.5px;font-weight:800}.toast.celebrate{background:linear-gradient(90deg,#fff1b8,#ffd4c7);padding:11px 22px;font-size:16px}.toast.error{color:#a4221d;background:#ffe3e1}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px)}}#event-card{background:var(--panel-strong);z-index:7;border-top:6px solid var(--gold);border-radius:22px;width:min(440px,100vw - 32px);padding:18px 20px;animation:.5s cubic-bezier(.2,1.5,.4,1) card-in;position:fixed;top:128px;left:50%;transform:translate(-50%);box-shadow:0 20px 60px #0a1e3259}@keyframes card-in{0%{opacity:0;transform:translate(-50%)translateY(-24px)rotate(-2deg)scale(.9)}}.ev-head{align-items:center;gap:12px;display:flex}.ev-icon{font-size:40px}.ev-title{font-size:19px;font-weight:900}.ev-kicker{letter-spacing:.1em;text-transform:uppercase;color:#b77900;font-size:11px;font-weight:900}.ev-text{color:var(--ink-soft);margin:10px 0 12px;font-size:14px;line-height:1.45}.ev-option{text-align:left;background:#fff;border:2px solid #0000;border-radius:14px;width:100%;margin-top:8px;padding:10px 12px;display:block;box-shadow:0 1px 3px #00000014}.ev-option:hover:not(:disabled){border-color:var(--coral)}.ev-option:disabled{opacity:.5;cursor:not-allowed}.ev-option b{font-size:14.5px;display:block}.ev-option span{color:var(--ink-soft);font-size:12.5px;font-weight:700}#event-card.letter{background:#fbf1da repeating-linear-gradient(0deg,#0000 0 27px,#a0783c1f 27px 28px);border-top-color:#c9a15a}.letter-text{color:#4a3a22;font-family:Caveat,Segoe Print,Bradley Hand,cursive;font-size:21px;line-height:1.3}.letter-goal{color:var(--ink);margin-bottom:10px;font-size:13.5px;font-weight:800}#event-card.letter .btn{width:100%}#goals{max-height:calc(62vh - 40px);overflow-y:auto}.quest{border-top:1px solid var(--line);padding:8px 0;font-size:13px}.quest:first-of-type{border-top:0}.quest.side{opacity:.92}.quest-top{justify-content:space-between;gap:8px;font-size:13.5px;display:flex}.quest-top small{text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:900}.quest-obj{color:var(--ink-soft);flex-direction:column;gap:3px;margin-top:4px;font-weight:700;display:flex}.linkish{color:var(--sea);background:0 0;border:0;padding:2px 0;font-size:12.5px;font-weight:800}.linkish:hover{text-decoration:underline}.advisor{text-align:left;width:100%;color:var(--ink-soft);background:#eaf4ff;border:0;border-radius:12px;grid-template-columns:auto 1fr;gap:8px;margin-top:8px;padding:8px 10px;font-size:12.5px;line-height:1.35;display:grid}.advisor b{color:var(--ink)}.advisor em{color:var(--sea);font-style:normal;font-weight:800}.adv-ico{font-size:18px}#modal{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a192873;place-items:center;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel-strong);box-shadow:var(--shadow);border-radius:22px;width:min(980px,100vw - 32px);max-height:calc(100vh - 48px);padding:22px 24px;overflow-y:auto}.modal-card.narrow{width:min(520px,100vw - 32px)}.modal-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.modal-head h2{margin:0;font-size:22px}.modal-sub{color:var(--ink-soft);margin:0 0 16px;font-size:14px}.concept-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.branch h4{margin:0 0 8px;font-size:14px}.concept{background:#fff;border:2px solid #0000;border-radius:14px;margin-bottom:8px;padding:10px;font-size:12.5px}.concept.known{background:#e6f7ef;border-color:#9fe0c0}.concept.locked{opacity:.55}.concept .c-name{font-size:14px;font-weight:800}.concept .c-tier{color:var(--muted);text-transform:uppercase;font-size:10.5px;font-weight:800}.concept .btn{width:100%;margin-top:8px;padding:7px;font-size:13px}.journal-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.combo-card{background:#fff;border-radius:14px;padding:12px;font-size:13px}.combo-card .c-ico{font-size:28px}.combo-card.unknown{color:var(--muted);background:#f1ede6}.settings-row{border-top:1px solid var(--line);grid-template-columns:150px 1fr;align-items:center;gap:10px;padding:10px 0;font-size:14px;font-weight:700;display:grid}.settings-row small{color:var(--muted);font-size:12px;font-weight:600;display:block}.keys{grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px;display:grid}kbd{background:#fff;border-radius:6px;padding:2px 7px;font-family:inherit;font-size:12.5px;font-weight:800;box-shadow:0 2px #00000026}#title{z-index:8;background:linear-gradient(#18103e59 0%,#ff785a2e 45%,#0a1e3cbf 100%);flex-direction:column;align-items:center;padding:36px 16px 28px;display:flex;position:fixed;inset:0;overflow-y:auto}.logo{color:#fff;letter-spacing:-.02em;text-shadow:0 4px #0000002e,0 10px 30px #0000004d;text-align:center;margin:0;font-size:clamp(38px,6vw,68px);font-weight:900}.logo span{color:#ffd166}.tagline{color:#fff3e0;text-shadow:0 2px 8px #00000059;text-align:center;margin:6px 0 22px;font-size:18px;font-weight:800}.pick-title{color:#fff;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 6px #0006;margin-bottom:12px;font-size:15px;font-weight:800}.dev-grid{grid-template-columns:repeat(3,minmax(0,290px));gap:14px;width:100%;max-width:900px;display:grid}.dev-card{background:var(--panel-strong);text-align:left;box-shadow:var(--shadow);border:3px solid #0000;border-radius:20px;padding:14px;transition:transform .15s}.dev-card:hover{transform:translateY(-3px)}.dev-card.selected{border-color:var(--dev-color);box-shadow:0 0 0 5px color-mix(in srgb, var(--dev-color) 30%, transparent), var(--shadow);transform:translateY(-3px)}.dev-top{align-items:center;gap:10px;display:flex}.dev-portrait{border-radius:50%;flex-shrink:0;place-items:center;width:50px;height:50px;font-size:26px;display:grid}.dev-name{font-size:17px;font-weight:900}.dev-company{color:var(--muted);font-size:12.5px;font-weight:700}.dev-style{text-transform:uppercase;color:#fff;border-radius:999px;align-self:flex-start;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:900}.dev-tag{color:var(--ink-soft);margin:8px 0;font-size:13px;font-style:italic}.dev-perk{font-size:12.5px;line-height:1.4}.dev-perk b{color:var(--ink)}.title-actions{gap:10px;margin-top:20px;display:flex}.title-actions .btn{border-radius:16px;padding:13px 26px;font-size:17px}.versus{flex-direction:column;align-items:center;gap:8px;margin-top:22px;display:flex}.versus-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.versus-or{color:#fff3e0;font-weight:800}.code-input{font:inherit;text-transform:uppercase;letter-spacing:.08em;background:var(--panel-strong);width:150px;color:var(--ink);-webkit-user-select:text;user-select:text;border:0;border-radius:14px;padding:11px 12px;font-size:16px;font-weight:800}.btn.ghost-light{color:var(--ink);background:#ffffffe6}.net-status{color:#fff3e0;text-shadow:0 2px 6px #0006;text-align:center;min-height:20px;font-size:14px;font-weight:800}.net-status .code{letter-spacing:.1em;color:#ffd166;font-size:26px;display:block}.title-foot{color:#ffffffbf;text-align:center;margin-top:16px;font-size:12.5px;font-weight:700}@media (max-width:1100px){#goals{width:250px}#feed{width:280px}.stat[title=Guests\ staying]{display:none}}@media (max-width:900px){.dev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#goals{display:none}.concept-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.dev-grid{grid-template-columns:1fr}}#scoreboard{width:300px;padding:10px 12px;top:116px;right:12px}body.in-match #inspector{max-height:calc(62vh - 300px);top:262px}body.in-match #toasts{left:calc(50% - 90px)}.sb-head{color:var(--ink-soft);justify-content:space-between;margin-bottom:6px;font-size:12.5px;font-weight:800;display:flex}.sb-head b{color:var(--coral-deep)}.sb-row{font-variant-numeric:tabular-nums;border-radius:10px;grid-template-columns:1fr auto;gap:3px 8px;padding:5px 6px;font-size:13.5px;display:grid}.sb-row.me{background:#17a99b1a}.sb-who{white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.sb-bar{background:#1d2b3a14;border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.sb-bar i{border-radius:999px;height:100%;transition:width .5s;display:block}#card-hand{max-height:52vh;padding:10px 12px;bottom:12px;left:568px;right:354px;overflow-y:auto}@media (max-width:1100px){#card-hand{left:518px;right:304px}}@media (max-width:900px){#card-hand{left:256px}}#card-hand .cards{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.rcard{text-align:left;color:var(--ink-soft);background:#fff;border:2px solid #0000;border-radius:14px;grid-template-columns:auto 1fr;gap:2px 8px;padding:8px 10px;font-size:12px;display:grid;box-shadow:0 1px 3px #00000014}.rcard:hover{border-color:var(--gold);transform:translateY(-2px)}.rcard.hostile{background:#fff6f0}.rc-ico{grid-row:span 3;font-size:26px}.rcard b{color:var(--ink);font-size:13.5px}.rcard em{color:var(--coral-deep);font-style:normal;font-weight:900}.card-shield{color:#0d7a6f;margin-top:6px;font-size:12.5px;font-weight:800}.seg-toggle.dark{background:#ffffff2e}.seg-toggle.dark button{color:#fff3e0;flex-direction:column;align-items:center;padding:7px 14px;line-height:1.1;display:flex}.seg-toggle.dark button small{opacity:.85;font-size:10.5px}.seg-toggle.dark button.active{background:var(--panel-strong);color:var(--ink)}.code-input.wide{text-transform:none;letter-spacing:0;width:200px;font-size:14px}.results .res-banner{text-align:center;margin-bottom:4px;font-size:26px;font-weight:900}.results.won .res-banner{color:var(--coral-deep)}.results .modal-sub{text-align:center}.res-table{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.res-row{font-variant-numeric:tabular-nums;background:#fff;border-radius:12px;grid-template-columns:32px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:grid}.res-row.me{outline:2px solid var(--teal)}.res-rank{font-size:22px}.res-name{font-weight:800}.res-night{color:var(--ink-soft);flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;font-size:12.5px;display:flex}.res-night b{width:100%;color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}#btn-menu,#bottom-nav,#quest-peek,.menu-buttons .menu-only,.icon-btn .lbl,.dev-detail{display:none}.icon-btn{place-items:center;display:inline-grid}body.touch .icon-btn:hover,body.touch .chip:hover,body.touch .dev-card:hover{transform:none}#place-bar{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--panel-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(460px,100vw - 16px);box-shadow:var(--shadow);z-index:6;border-radius:18px;align-items:center;gap:8px;padding:8px;display:flex;position:fixed;transform:translate(-50%)}.pb-text{flex-direction:column;flex:1;min-width:0;padding:2px 6px;font-size:15px;display:flex}.pb-text span{color:var(--muted);font-size:12.5px;font-weight:700}.pb-build{border-radius:14px;flex:1;min-height:46px;font-size:16px}.pb-build:disabled{opacity:.55;filter:grayscale(.6)}.pb-btn{background:#fff;border:0;border-radius:14px;flex:0 0 46px;height:46px;font-size:20px;font-weight:900;box-shadow:0 1px 3px #0000001a}#tooltip.docked{bottom:calc(86px + env(safe-area-inset-bottom,0px));width:min(460px,100vw - 16px);transform:translate(-50%);top:auto!important;left:50%!important}body.compact{--nav-h:58px;--gap:8px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--above-nav:calc(var(--nav-h) + var(--safe-b) + var(--gap))}body.compact #topbar{z-index:6;top:calc(6px + var(--safe-t));flex-wrap:nowrap;gap:6px;left:6px;right:6px}body.compact #dev-chip,body.compact .stat small,body.compact .date small,body.compact .stat[title=Guests\ staying]{display:none}body.compact .stats{flex:auto;justify-content:space-between;gap:0;min-width:0;padding:3px}body.compact .stat{gap:3px;padding:5px 6px;font-size:14px}body.compact .stat-icon{font-size:12.5px}body.compact .date{justify-content:center;font-size:12.5px}body.compact .speed{flex-shrink:0;margin-left:0;padding:3px}body.compact .speed button{min-width:38px;height:34px;padding:0 8px;font-size:14px}body.compact .speed button[data-speed="0"].active{color:var(--ink);background:0 0}body.compact .speed button[data-speed=cycle]{background:var(--ink);color:#fff}body.compact #btn-menu{flex-shrink:0;display:grid}body.compact .icon-btn{width:40px;height:40px}body.compact .menu-buttons{background:var(--panel-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);z-index:9;border-radius:18px;flex-direction:column;gap:2px;min-width:210px;padding:6px;display:none;position:absolute;top:48px;right:0}body.compact.menu-open .menu-buttons{display:flex}body.compact .menu-buttons .icon-btn{width:auto;height:46px;box-shadow:none;background:0 0;border-radius:12px;justify-content:flex-start;gap:12px;padding:0 14px;font-size:18px;display:flex}body.compact .menu-buttons .icon-btn:active{background:#1d2b3a0f}body.compact .icon-btn .lbl{font-size:15px;font-weight:800;display:inline}body.compact .menu-only{display:flex}body.compact #overlay-bar{left:auto;right:6px;top:calc(56px + var(--safe-t));border-radius:22px;flex-direction:column;gap:2px;max-width:none;padding:3px;overflow:visible;transform:none}body.compact #overlay-bar button{width:38px;height:38px;padding:0;font-size:17px}body.compact .ob-lbl{display:none}body.compact #toasts{top:calc(58px + var(--safe-t));gap:6px;width:auto;left:8px;right:54px;transform:none}body.compact .toast{white-space:normal;text-align:center;border-radius:14px;max-width:100%;padding:7px 12px;font-size:13px}body.compact .toast.celebrate{padding:8px 14px;font-size:14px}body.compact #bottom-nav{height:calc(var(--nav-h) + var(--safe-b));padding:4px 6px var(--safe-b);background:var(--panel-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:4;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #14283c26}#bottom-nav button{background:0 0;border:0;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;margin:2px;font-size:20px;line-height:1;display:flex;position:relative}#bottom-nav small{color:var(--ink-soft);font-size:11px;font-weight:800}#bottom-nav button.active{background:var(--ink)}#bottom-nav button.active small{color:#fff}#bottom-nav .match-only{display:none}body.in-match #bottom-nav .match-only{display:flex}.badge{background:var(--coral);color:#fff;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;font-style:normal;font-weight:900;display:grid;position:absolute;top:3px;right:calc(50% - 22px)}.badge:empty{width:10px;min-width:10px;height:10px;top:6px}body.compact #quest-peek{left:8px;right:8px;bottom:var(--above-nav);text-align:left;background:var(--panel-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);z-index:3;border:0;border-radius:14px;align-items:center;gap:8px;padding:8px 12px;font-size:13.5px;font-weight:800;display:flex;position:fixed}body.compact #quest-peek.hidden{display:none}#quest-peek>span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}#quest-peek>b{color:var(--teal)}#quest-peek>i{color:var(--muted);font-size:11px;font-style:normal}#quest-peek>span.me{color:var(--ink)}#quest-peek small{color:var(--muted);white-space:nowrap;font-size:11.5px}body.compact #place-bar{bottom:var(--above-nav)}body.compact #tooltip.docked{bottom:calc(var(--above-nav) + 70px);padding:8px 10px;font-size:12.5px}body.compact #build-dock,body.compact #goals,body.compact #feed,body.compact #scoreboard,body.compact #card-hand,body.compact #inspector{top:auto;left:6px;right:6px;bottom:var(--above-nav);overscroll-behavior:contain;z-index:5;width:auto;max-height:min(58vh,100dvh - 130px);animation:.22s ease-out sheet-in;display:none;position:fixed;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}body.compact[data-sheet=build] #build-dock,body.compact[data-sheet=goals] #goals,body.compact[data-sheet=feed] #feed,body.compact[data-sheet=score] #scoreboard,body.compact[data-sheet=cards] #card-hand,body.compact[data-sheet=inspector] #inspector{display:flex}body.compact #goals,body.compact #scoreboard,body.compact #card-hand,body.compact #inspector{flex-direction:column;padding:14px}body.compact[data-sheet] #goals>*,body.compact[data-sheet] #inspector>*{flex-shrink:0}body.compact #feed{flex-direction:column;padding:12px 10px 4px}body.compact #build-dock{pointer-events:auto;background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:6px;padding:6px;overflow:hidden}body.compact #build-tabs{box-shadow:none;background:#1d2b3a0d;flex-shrink:0}body.compact #build-tabs button{padding:9px 0;font-size:20px}body.compact #build-items{max-height:none;box-shadow:none;background:0 0;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:2px;display:grid;overflow-y:auto}body.compact .build-title,body.compact #build-items .hint{display:none}body.compact .build-item{grid-template-columns:32px 1fr;gap:8px;min-width:0;padding:8px}body.compact .build-item .ico{width:32px;height:32px;font-size:20px}body.compact .build-item .name{font-size:13.5px;line-height:1.15}body.compact .build-item .cost{font-size:11.5px}body.compact .build-item .lock{font-size:11px}body.compact.landscape #build-items{grid-template-columns:1fr}body.compact #card-hand .cards{flex-direction:column}body.compact .rcard{width:100%}.close-x{min-width:36px;min-height:36px}body.compact #event-card{top:calc(8px + var(--safe-t));width:calc(100vw - 16px);max-height:calc(100dvh - 16px - var(--safe-t) - var(--safe-b));overscroll-behavior:contain;border-radius:18px;padding:14px 16px;overflow-y:auto}body.compact .ev-icon{font-size:32px}body.compact .ev-title{font-size:17px}body.compact .letter-text{font-size:19px}body.compact .ev-option{padding:11px 12px}body.compact #event-card .btn{min-height:46px}body.compact #modal{place-items:end center}body.compact .modal-card{width:100vw;max-height:calc(100dvh - 24px - var(--safe-t));padding-bottom:calc(16px + var(--safe-b));border-radius:22px 22px 0 0}body.compact .settings-row,body.compact .concept-grid{grid-template-columns:1fr}body.compact.landscape{--rail-w:64px;--above-nav:calc(8px + var(--safe-b))}body.compact.landscape #bottom-nav{width:calc(var(--rail-w) + env(safe-area-inset-left,0px));height:auto;padding:var(--safe-t) 4px var(--safe-b) calc(4px + env(safe-area-inset-left,0px));flex-direction:column;justify-content:center;top:0;right:auto;box-shadow:4px 0 20px #14283c26}body.compact.landscape #bottom-nav button{flex:0 0 56px}body.compact.landscape #topbar{left:calc(var(--rail-w) + 6px + env(safe-area-inset-left,0px))}body.compact.landscape .stats{flex:0 auto;justify-content:flex-start;gap:2px}body.compact.landscape .stats .stat[title=Guests\ staying]{display:flex}body.compact.landscape .speed{margin-left:auto}body.compact.landscape #toasts{left:calc(var(--rail-w) + 8px)}body.compact.landscape #build-dock,body.compact.landscape #goals,body.compact.landscape #feed,body.compact.landscape #scoreboard,body.compact.landscape #card-hand,body.compact.landscape #inspector{left:calc(var(--rail-w) + 6px + env(safe-area-inset-left,0px));right:auto;top:calc(54px + var(--safe-t));bottom:calc(6px + var(--safe-b));width:min(360px,48vw);max-height:none}body.compact.landscape #quest-peek{left:calc(var(--rail-w) + 8px + env(safe-area-inset-left,0px));max-width:min(460px,60vw);right:auto}body.compact.landscape #place-bar{width:min(360px, calc(100vw - var(--rail-w) - 340px));left:auto;right:54px;transform:none}body.compact.landscape #tooltip.docked{bottom:calc(8px + var(--safe-b));width:260px;max-height:calc(100dvh - 130px);overflow:hidden;transform:none;left:calc(var(--rail-w) + 8px + env(safe-area-inset-left,0px))!important;top:auto!important}body.compact.landscape #event-card{width:min(560px, calc(100vw - var(--rail-w) - 16px));left:calc(50% + var(--rail-w) / 2)}body.compact.landscape .letter-text{font-size:18px}body.compact #title{padding:calc(18px + var(--safe-t)) 10px 0}body.compact .logo{font-size:36px}body.compact .tagline{margin:2px 0 12px;font-size:14px}body.compact .pick-title{margin-bottom:8px;font-size:12.5px}body.compact .dev-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:560px}body.compact.landscape .dev-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}body.compact .dev-card{border-radius:16px;padding:8px}body.compact .dev-card .dev-tag,body.compact .dev-card .dev-perk,body.compact .dev-company{display:none}body.compact .dev-top{grid-template-columns:40px 1fr;gap:3px 8px;display:grid}body.compact .dev-portrait{grid-row:span 2;width:40px;height:40px;font-size:21px}body.compact .dev-name{font-size:14px;line-height:1.15}body.compact .dev-style{justify-self:start;margin:0;padding:2px 7px;font-size:9.5px}body.compact .dev-detail{background:var(--panel-strong);border-left:5px solid var(--dev-color,var(--gold));width:100%;max-width:560px;box-shadow:var(--shadow);border-radius:16px;margin-top:10px;padding:10px 12px;display:block}body.compact .dev-detail.empty{text-align:center;color:var(--ink-soft);font-size:13.5px;font-weight:800}body.compact .dev-detail .dev-tag{margin:0 0 6px;font-style:normal}body.compact .dev-detail .dev-perk{margin-top:3px;font-size:13px}body.compact .title-actions{z-index:2;width:calc(100% + 20px);max-width:none;padding:10px 10px calc(10px + var(--safe-b));background:linear-gradient(#0a1e3c00,#0a1e3cd9 30%);order:0;justify-content:center;margin:12px -10px 0;position:sticky;bottom:0}body.compact .title-actions .btn{flex:1;max-width:260px;padding:14px 10px;font-size:16px}body.compact .versus{width:100%;max-width:560px;margin-top:16px}body.compact .versus-row{width:100%}body.compact .versus-row .btn,body.compact .versus-row .code-input.wide{flex:140px}body.compact .seg-toggle{flex:100%;display:flex}body.compact .seg-toggle button{flex:1}body.compact .versus-or{display:none}body.compact .code-input{flex:120px;width:auto;font-size:16px}body.compact .title-foot{margin:14px 0 calc(20px + var(--safe-b))}
