@font-face{font-family:Bagel Fat One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bagel-fat-one.woff2)format("woff2");unicode-range:U+20-17F,U+192,U+2C6,U+2DA,U+2DC,U+2010-2044,U+20AC,U+2122,U+2190-2193,U+2212}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/schibsted-grotesk.woff2)format("woff2");unicode-range:U+20-17F,U+192,U+2C6,U+2DA,U+2DC,U+2010-2044,U+20AC,U+2122,U+2190-2193,U+2212}@font-face{font-family:Schibsted Grotesk;font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/schibsted-grotesk-italic.woff2)format("woff2");unicode-range:U+20-17F,U+192,U+2C6,U+2DA,U+2DC,U+2010-2044,U+20AC,U+2122,U+2190-2193,U+2212}:root{--rb-paper-raw:#f6eedd;--rb-navy-raw:#1d1a3f;--rb-mustard:#f4b416;--rb-ochre:#e39a2c;--rb-terra:#e05a2b;--rb-pink:#ff7aa2;--rb-teal:#00737c;--rb-cobalt:#2d4fd6;--rb-navy:#1d1a3f;--rb-terra-deep:#a8321a;--rb-teal-deep:#005c63;--rb-paper:var(--rb-paper-raw);--rb-paper-sunk:#eadfc6;--rb-ink:var(--rb-navy-raw);--rb-ink-soft:#4a4560;--rb-card:var(--rb-teal);--rb-on-card:var(--rb-paper-raw);--rb-card-heading:var(--rb-mustard);--rb-field:var(--rb-paper-raw);--rb-on-field:var(--rb-navy-raw);--rb-accent:var(--rb-mustard);--rb-on-accent:var(--rb-navy-raw);--rb-dock:var(--rb-navy-raw);--rb-on-dock:var(--rb-paper-raw);--rb-print-ink:var(--rb-pink);--rb-print-ink-2:var(--rb-cobalt);--rb-error-bg:var(--rb-paper-raw);--rb-error-ink:var(--rb-terra-deep);--rb-link:var(--rb-cobalt);--rb-font-display:"Bagel Fat One", "Arial Rounded MT Bold", "Arial Black", ui-rounded, system-ui, sans-serif;--rb-font-text:"Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--rb-step--2:.72rem;--rb-step--1:.84rem;--rb-step-0:1rem;--rb-step-1:1.25rem;--rb-step-2:1.6rem;--rb-step-3:2.1rem;--rb-step-4:clamp(2.4rem, 6vw, 3.6rem);--rb-label-tracking:.14em;--rb-r-0:0;--rb-r-1:3px;--rb-r-2:6px;--rb-r-pill:999px;--rb-line:2.5px;--rb-border:var(--rb-line) solid var(--rb-ink);--rb-tilt:-1.2deg;--rb-print-sm:3px 3px 0 var(--rb-print-ink);--rb-print:6px 5px 0 var(--rb-print-ink);--rb-print-card:-8px 7px 0 var(--rb-print-ink-2);--rb-print-pressed:2px 2px 0 var(--rb-print-ink);--rb-mis-x:2px;--rb-mis-y:1.5px;--rb-focus:0 0 0 3px var(--rb-paper-raw), 0 0 0 6px var(--rb-navy-raw);--rb-focus-outline:3px solid var(--rb-navy-raw);--rb-focus-on-dark:0 0 0 3px var(--rb-navy-raw), 0 0 0 6px var(--rb-mustard);--rb-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.965 0 0 0 0 0.933 0 0 0 0 0.867 0 0 0 -5 2.55'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");--rb-grain-size:180px;--rb-grain-opacity:.45;--rb-tap:44px}@media (prefers-color-scheme:dark){:root{--rb-mustard:#f7c140;--rb-pink:#ff8fb2;--rb-teal:#0e5a63;--rb-cobalt:#8396ff;--rb-terra:#f07a4e;--rb-paper:#211d4a;--rb-paper-sunk:#18153a;--rb-ink:var(--rb-paper-raw);--rb-ink-soft:#cfc6e6;--rb-card:#0e5a63;--rb-on-card:var(--rb-paper-raw);--rb-card-heading:#f7c140;--rb-dock:#120f2e;--rb-print-ink:#ff8fb2;--rb-print-ink-2:#3550d0;--rb-error-bg:var(--rb-paper-raw);--rb-error-ink:var(--rb-terra-deep);--rb-link:#aab7ff;--rb-grain-opacity:.16}}:root{--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.5, 0, .75, 0);--ease-back:cubic-bezier(.34, 1.56, .64, 1);--z-world:0;--z-hud:10;--z-touch:20;--z-next-step:30;--z-panel:40;--z-tip:45;--z-sheet:50;--z-spotlight:60;--z-toast:70;--z-celebration:80;--z-system:90;--z-debug:100;color:var(--ink);background:var(--sc-paper,#f6eedd)}html,body,#root{height:100%;margin:0}#root{height:100dvh}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}.app{flex-direction:column;height:100%;display:flex}.app.playing{background:var(--paper)}.topbar{border-bottom:3px solid var(--azulejo);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.topbar h1{color:var(--azulejo-700);margin:0;font-size:1.25rem}.badge{background:var(--cream-200);color:var(--ink-soft);box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:999px;align-items:center;gap:.3em;padding:.2rem .65rem;font-size:.8rem;font-weight:800;display:inline-flex}.badge.ok{background:var(--douro-100);color:var(--douro-700)}.badge.error{background:var(--port-100);color:var(--port-700)}.stage{flex:1;min-height:0;position:relative}.game{position:absolute;inset:0;overflow:hidden}.hud{z-index:var(--z-hud);border-radius:var(--r-sm);background:var(--surface);max-width:min(25rem,100% - 2rem);box-shadow:inset 0 0 0 2px var(--rule), var(--shadow-2);pointer-events:none;padding:.5rem .75rem;font-size:.9rem;position:absolute;bottom:1rem;left:1rem}.hud p{margin:.15rem 0}.hud-title{color:var(--azulejo-700);font-weight:600}.hud-hint{opacity:.7}.hud-clock{font-variant-numeric:tabular-nums}.hud-time{flex-wrap:wrap;align-items:baseline;gap:0 .75em;display:flex}.hud-weather{font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default}.hud-clock:before{background:var(--gold);content:"";border-radius:50%;width:.6em;height:.6em;margin-right:.4em;display:inline-block}.hud-clock-dawn:before,.hud-clock-dusk:before{background:#e0866a}.hud-clock-night:before{background:#28376a;box-shadow:inset -.18em -.1em #f2ead8}.hud .blocked{color:var(--error)}.topbar-right{align-items:center;gap:.75rem;font-size:.9rem;display:flex}button{font:inherit}.panel{border-radius:var(--r-xl);background:var(--surface);width:min(26rem,100% - 2rem);color:var(--ink);box-shadow:inset 0 0 0 2.5px var(--rule), var(--shadow-3);flex-direction:column;gap:.75rem;margin:3rem auto;padding:1.5rem;display:flex;position:relative}.panel h2{font-family:var(--font-poster);letter-spacing:.005em;color:var(--azulejo-900);margin:0;padding-right:2.75rem;font-size:1.5rem;font-weight:400;line-height:1.1}.panel h3,.panel h4{font-family:var(--font-ui);color:var(--ink);font-weight:800}.panel label{flex-direction:column;gap:.3rem;font-weight:700;display:flex}.panel input:not([type=radio],[type=checkbox],[type=range]),.panel select,.panel textarea{font:inherit;border-radius:var(--r-sm);background:var(--surface-raised);color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule);border:0;padding:.5rem .7rem}.panel input:not([type=radio],[type=checkbox],[type=range]):focus-visible,.panel select:focus-visible,.panel textarea:focus-visible{box-shadow:inset 0 0 0 2px var(--rule), var(--focus-ring)}.panel input::placeholder,.panel textarea::placeholder{color:var(--ink-muted);opacity:1}.panel input[type=checkbox],.panel input[type=radio],.panel input[type=range]{accent-color:var(--azulejo-700)}.panel .error,.centre .error{color:var(--error);margin:0}.warning{border-radius:var(--r-md);background:var(--gold-100);color:var(--ink);box-shadow:inset 4px 0 0 var(--rb-ochre);margin:0;padding:.55rem .8rem;font-size:.9rem;font-weight:700}.appearances{border:0;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.4rem;margin:0;padding:0;display:grid}.appearances legend{margin-bottom:.3rem;font-weight:600}.panel label.appearance{flex-direction:row;align-items:center;font-weight:400}.swatch{border-radius:50%;width:1rem;height:1rem}.centre{text-align:center;margin:3rem auto}.overlay{z-index:var(--z-system);color:var(--rb-paper-raw);font-family:var(--font-ui);background:#1d1a3fc7;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:1.15rem;font-weight:700;display:flex;position:absolute;inset:0}.badge.wallet{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--rb-navy-raw);background:var(--rb-mustard);box-shadow:inset 0 0 0 2px var(--rb-navy-raw), var(--shadow-2);gap:.35em;padding:.2rem .75rem .2rem .35rem;font-size:1rem;font-weight:800}.badge.wallet .icon{width:1.35em;height:1.35em;color:var(--gold-700)}.badge.wallet{font-variant-numeric:tabular-nums;transition:scale var(--motion-base) var(--ease-back);position:relative}.badge.wallet.bump{scale:1.12}.coin-fly{z-index:var(--z-celebration);background:var(--rb-mustard);width:18px;height:18px;box-shadow:inset 0 0 0 2px var(--rb-navy-raw), 2px 2px 0 var(--rb-print-ink);pointer-events:none;border-radius:50%;margin:-9px 0 0 -9px;position:fixed;top:0;left:0}.coin-fly.amount{background:var(--fill-teal);width:auto;height:auto;color:var(--rb-paper-raw);white-space:nowrap;box-shadow:2px 2px 0 var(--rb-navy-raw);border-radius:999px;margin:-.7rem 0 0;padding:.1rem .45rem;font-size:.9rem;font-weight:800;translate:-50%}.wallet-pop{color:var(--ok);pointer-events:none;margin-top:.2rem;font-weight:700;animation:1.8s ease-out forwards rise-fade;position:absolute;top:100%;right:0}@keyframes rise-fade{0%{opacity:0;transform:translateY(6px)}15%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.job-panel{z-index:var(--z-hud);box-sizing:border-box;border-radius:var(--r-lg);background:var(--glass);width:min(18rem,100% - 2rem);box-shadow:inset 0 6px 0 var(--rb-mustard), inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);flex-direction:column;gap:.2rem;padding:.75rem .85rem .7rem;font-size:.9rem;display:flex;position:absolute;top:1rem;right:1rem}.job-panel p{margin:0}.job-title{font-family:var(--font-ui);color:var(--ink);align-items:center;gap:.4rem;font-size:1.05rem;font-weight:800;display:flex}.job-title .icon{color:var(--gold-700)}.job-target{font-weight:800}.job-timer{border-radius:var(--r-pill);background:var(--cream-200);font-family:var(--font-ui);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1.5px var(--rule);align-self:flex-start;padding:.05rem .55rem;font-weight:800}.job-timer.urgent{background:var(--fill-terra);color:var(--rb-paper-raw)}.job-panel>button:last-child{align-self:flex-start;margin-top:.2rem}.prompt{z-index:var(--z-hud);box-sizing:border-box;border-radius:var(--r-pill);background:var(--glass-dark);color:var(--rb-paper-raw);white-space:nowrap;max-width:calc(100% - 2rem);box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);pointer-events:none;align-items:center;gap:.55rem;margin:0;padding:.35rem 1rem .35rem .4rem;font-weight:700;display:flex;position:absolute;bottom:1.5rem;left:50%;overflow:hidden;transform:translate(-50%)}.prompt-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.prompt.closed{color:#ffc2d4}.prompt.closed kbd{background:var(--fill-terra);color:var(--rb-paper-raw);box-shadow:inset 0 0 0 1.5px var(--rb-paper-raw)}.prompt kbd{box-sizing:border-box;border-radius:var(--r-sm);background:var(--rb-mustard);min-width:2rem;height:2rem;color:var(--rb-navy-raw);font-family:var(--font-ui);box-shadow:inset 0 0 0 1.5px var(--rb-navy-raw);flex:none;justify-content:center;align-items:center;padding:0 .4em;font-size:1rem;font-weight:800;display:inline-flex}.prompt kbd.use-mark{border-radius:50%}.prompt kbd.use-mark .icon{width:1rem;height:1rem}.notice{z-index:var(--z-toast);box-sizing:border-box;border-radius:var(--r-sm);background:var(--glass);color:var(--ink);max-width:calc(100% - 2rem);box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);pointer-events:none;align-items:center;gap:.55rem;margin:0;padding:.45rem 1rem .45rem .45rem;font-weight:800;animation:4s ease-out forwards rise-fade;display:flex;position:absolute;top:1rem;left:50%;translate:-50%}.notice-icon{border-radius:var(--r-sm);background:var(--fill-cobalt);width:1.9rem;height:1.9rem;color:var(--rb-paper-raw);rotate:var(--rb-tilt);flex:none;justify-content:center;align-items:center;display:inline-flex}.notice-icon .icon{width:1.1rem;height:1.1rem}.notice.good .notice-icon{background:var(--douro)}.notice.bad .notice-icon{background:var(--port)}.notice.bad{color:var(--port-700)}.modal-backdrop{z-index:var(--z-sheet);background:#1d1a3f6b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal-backdrop:before{content:"";background:var(--grain-tile);opacity:.1;pointer-events:none;background-size:128px;position:absolute;inset:0}.modal-backdrop{animation:backdrop-in var(--motion-base) var(--ease-out)}.modal-backdrop>.panel{animation:panel-in var(--motion-base) var(--ease-out)}@keyframes backdrop-in{0%{background-color:#1d1a3f00}}@keyframes panel-in{0%{opacity:0;translate:0 12px;scale:.98}}.lease-panel{max-height:calc(100% - 2rem);margin:0;overflow:auto}.lease-meta{opacity:.8;margin:0;font-size:.9rem}.lease-panel,.homes-panel{width:min(36rem,100vw - 2rem)}.lease-blurb,.homes-intro{margin:0;font-size:.9rem;font-style:italic}.lease-panel h3{margin:.4rem 0 0;font-size:1rem}.lease-mine,.lease-quote{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);flex-direction:column;gap:.5rem;padding:.75rem .85rem;display:flex}.flat-list,.homes-list{flex-direction:column;gap:.45rem;max-height:22rem;margin:0;padding:2px;list-style:none;display:flex;overflow:auto}.flat-list li,.homes-list li{border-radius:var(--r-md);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);grid-template-columns:1fr auto auto auto;align-items:center;gap:.3rem .7rem;padding:.55rem .7rem;display:grid}.flat-list li.chosen{background:var(--azulejo-50);box-shadow:inset 0 0 0 2px var(--azulejo-400), var(--shadow-1)}.homes-list li.dear{opacity:.7}.flat-what{flex-direction:column;min-width:0;display:flex}.flat-what strong{font-family:var(--font-display);color:var(--azulejo-900);font-weight:800}.flat-tier,.flat-deposit{opacity:.75;font-size:.8rem}.flat-price{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;display:flex}.flat-free{color:var(--douro-700);white-space:nowrap;font-size:.8rem;font-weight:800}.flat-free.full{color:var(--port-700)}.flat-list button:not(.chip){padding:.35rem .8rem}.homes-actions{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.homes-actions button:not(.chip){padding:.3rem .7rem;font-size:.85rem}.homes-tiers{flex-wrap:wrap}.homes-tiers button{flex:auto}.homes-filters,.lease-links{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;font-size:.9rem;display:flex}@media (width<=480px){.flat-list li,.homes-list li{grid-template-columns:1fr auto}.flat-free{grid-column:1}}.flat-list,.homes-list{container-type:inline-size}@container (width<=26rem){.flat-list li,.homes-list li{grid-template-columns:1fr auto}.flat-free{grid-column:1}}.day-options{border-radius:var(--r-md);background:var(--cream-200);box-shadow:inset 0 0 0 2px var(--rule);gap:3px;padding:3px;display:flex}.day-options button{color:var(--ink-soft);box-shadow:none;background:0 0;flex:1}.day-options button.chosen{background:var(--ink);color:var(--surface);box-shadow:none}.quote{grid-template-columns:1fr auto;gap:.2rem 1rem;margin:0;display:grid}.quote dt{font-weight:400}.quote dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.quote dt:last-of-type,.quote dd:last-of-type{border-top:1.5px dashed var(--line-strong);padding-top:.25rem;font-weight:800}.quote dd:last-of-type{font-family:var(--font-display);color:var(--gold-700);font-size:1.05rem;font-weight:800}.confirm{border-radius:var(--r-lg);background:var(--gold-100);box-shadow:inset 4px 0 0 var(--rb-mustard), inset 0 0 0 1.5px var(--line-strong);flex-direction:column;gap:.5rem;padding:.75rem .85rem;display:flex}.confirm p{margin:0}.hud-action{pointer-events:auto;font-size:inherit}.chat{z-index:var(--z-hud);flex-direction:column;gap:.3rem;width:min(22rem,100% - 2rem);font-size:.9rem;display:flex;position:absolute;bottom:1rem;right:1rem}.chat-log{border-radius:var(--r-sm);background:var(--glass-dark);max-height:11rem;color:var(--rb-paper-raw);box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);margin:0;padding:.5rem .7rem;list-style:none;overflow-y:auto}.chat-log li{overflow-wrap:anywhere;margin:.1rem 0;position:relative}.chat-log .chat-name{color:#ffd76a;font-weight:800}.chat-log li.mine .chat-name{color:#aab7ff}.chat-log button.chat-name{min-height:0;box-shadow:none;font-size:inherit;background:0 0;border-radius:4px;padding:0}.chat-log button.chat-name:not(:disabled):hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;translate:none}.chat-empty{opacity:.7}.chat-menu{gap:.3rem;margin:.2rem 0;display:flex}.chat-menu button{padding:.2rem .6rem;font-size:.8rem}.chat input{box-sizing:border-box;width:100%;font:inherit;border-radius:var(--r-sm);background:var(--glass);color:var(--ink);box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);border:0;padding:.5rem .9rem}.chat input::placeholder{color:var(--ink-muted);opacity:1}.chat input:focus-visible{box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--focus-ring)}.chat-muted{color:var(--rb-paper-raw);font-size:.8rem}.chat-muted button{color:#f7c140;margin-right:.5rem}.reported-line{border-radius:var(--r-md);background:var(--port-100);box-shadow:inset 4px 0 0 var(--port);margin:0;padding:.5rem .75rem}.reasons{border:0;flex-direction:column;gap:.25rem;margin:0;padding:0;display:flex}.chat-log li.whisper{color:#e6c6ff;font-style:italic}.whisper-tag{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.75em}.chat form{gap:.3rem;display:flex}.chat form.whispering input{border-color:#ff8fb2;box-shadow:0 0 0 2px #ff8fb266}.whisper-chip{white-space:nowrap;border-radius:var(--r-pill);color:var(--rb-navy-raw);background:#ff8fb2;padding:.3rem .7rem;font-size:.85rem;font-weight:800}button.badge.wallet{border-radius:var(--r-pill);cursor:pointer;min-height:36px;font-family:var(--font-display);border:0;font-size:1rem;font-weight:800}.wallet-backdrop{z-index:var(--z-sheet);position:fixed}.wallet-balance{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--gold-700);align-items:center;gap:.4rem;margin:0;font-size:2rem;font-weight:800;display:flex}.wallet-balance .icon{width:2.2rem;height:2.2rem}.ledger{max-height:18rem;margin:0;padding:0;list-style:none;overflow-y:auto}.ledger li{border-bottom:1px dashed var(--line-strong);grid-template-columns:1fr auto auto;gap:.75rem;padding:.45rem .25rem;font-size:.9rem;display:grid}.ledger time{opacity:.6}.ledger .credit{color:var(--douro-700);font-variant-numeric:tabular-nums;font-weight:800}.ledger .debit{color:var(--port-700);font-variant-numeric:tabular-nums;font-weight:800}.getting-started{border-radius:var(--r-lg);background:var(--glass);width:min(19rem,100% - 2rem);box-shadow:inset 0 5px 0 var(--douro), inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);padding:.65rem .85rem;font-size:.9rem;position:absolute;top:1rem;left:1rem}.getting-started header{font-family:var(--font-display);color:var(--azulejo-900);justify-content:space-between;align-items:baseline;display:flex}.getting-started ol{margin:.4rem 0;padding:0;list-style:none}.getting-started li{opacity:.6}.getting-started li.current{opacity:1;font-weight:600}.getting-started li.done{opacity:.8;color:var(--ok)}.getting-started .hint{margin:.3rem 0}.guide-note{opacity:.75;margin:0;font-size:.8rem}.welcome ul{margin:0;padding-left:1.2rem}.welcome kbd{border-radius:var(--r-sm);background:var(--surface-raised);min-width:1.6em;font-family:var(--font-ui);box-shadow:inset 0 0 0 1.5px var(--rule), inset 0 -2px 0 var(--line-strong);justify-content:center;align-items:center;padding:0 .35em;font-weight:800;display:inline-flex}.needs{margin:.3rem 0}.need,.need-ring{--need-ink:var(--fill-teal);--need-on:var(--rb-paper-raw)}.need-food,.needs-rings>.need-ring:first-child{--need-ink:#e05a2b;--need-on:var(--rb-navy-raw)}.need-energy,.needs-rings>.need-ring:nth-child(2){--need-ink:#00737c;--need-on:var(--rb-paper-raw)}.need-hygiene,.needs-rings>.need-ring:nth-child(3){--need-ink:#2d4fd6;--need-on:var(--rb-paper-raw)}.need-fun,.needs-rings>.need-ring:nth-child(4){--need-ink:#f4b416;--need-on:var(--rb-navy-raw)}.need-social,.needs-rings>.need-ring:nth-child(5){--need-ink:#ff7aa2;--need-on:var(--rb-navy-raw)}.need-comfort,.needs-rings>.need-ring:nth-child(6){--need-ink:#e39a2c;--need-on:var(--rb-navy-raw)}.meter-track{background:var(--surface-sunk);height:.6rem;box-shadow:inset 0 0 0 1.5px var(--rule);border-radius:0;overflow:hidden}.meter-fill{background:var(--need-ink,var(--fill-teal));height:100%;box-shadow:inset 0 0 0 1.5px var(--rule), inset -2px 0 0 var(--rule);border-radius:0;transition:width .5s;display:block}.need{align-items:center;gap:.3rem;display:flex}.need-icon{border-radius:var(--r-sm);background:var(--need-ink);width:1.4rem;height:1.4rem;color:var(--need-on);box-shadow:inset 0 0 0 1.5px var(--rule);flex:none;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:inline-flex}.need-icon .icon{width:.85rem;height:.85rem}.need .meter-track{flex:1}.needs-grid{grid-template-columns:repeat(3,5.6rem);gap:.3rem .6rem;display:grid}.need.low .need-icon{background:var(--fill-terra);color:var(--rb-paper-raw)}.need.low .meter-fill{background:repeating-linear-gradient(-45deg, var(--fill-terra) 0 3px, #f07a4e 3px 6px)}.need.low .need-icon{animation:1.2s ease-in-out infinite need-pulse}@keyframes need-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.need.low .need-icon{animation:none}}.mood strong{color:var(--douro-700)}.mood-fine strong{color:var(--azulejo-700)}.mood-tense strong{color:var(--gold-700)}.mood-miserable strong{color:var(--port-700)}.mood-pay{color:var(--ink-muted);font-weight:700}.skills{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.skills li{align-items:flex-start;gap:.6rem;display:flex}.skill-icon{border-radius:var(--r-sm);background:var(--azulejo-50);width:2.2rem;height:2.2rem;box-shadow:inset 0 0 0 1px var(--azulejo-100);flex:none;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.skill-body{flex-direction:column;flex:1;gap:.2rem;display:flex}.skill-head{justify-content:space-between;font-size:.95rem;display:flex}.skill-bonus{color:var(--ok)}.skill-meta{opacity:.7;font-size:.78rem}.skills-panel{width:min(30rem,100% - 2rem);max-height:calc(100% - 6rem);overflow-y:auto}.skills-panel .hint{opacity:.8;margin:0;font-size:.85rem}.needs-list{grid-template-columns:repeat(3,1fr);gap:.2rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.needs-status{color:var(--error);font-size:.85rem}.energy-badge{background:var(--gold-100);color:var(--gold-700);border-radius:999px;align-items:center;gap:.3rem;margin:.2rem 0;padding:.12rem .6rem .12rem .4rem;font-size:.8rem;font-weight:800;display:inline-flex}.energy-badge .icon{width:1em;height:1em}.energy-badge.energy-exhausted,.energy-badge.energy-empty{background:var(--port-100);color:var(--port-700)}.energy-badge.energy-dozing{background:var(--azulejo-100);color:var(--azulejo-900)}.menu{flex-direction:column;gap:.45rem;margin:0;padding:2px;list-style:none;display:flex}.menu li{border-radius:var(--r-md);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .65rem .6rem .85rem;display:flex}.menu li strong{font-family:var(--font-display);color:var(--azulejo-900);font-weight:800}.menu li small{color:var(--ink-muted);font-weight:700}.create-character,.look-panel{width:min(44rem,100% - 2rem)}.avatar-editor{grid-template-columns:auto 1fr;align-items:start;gap:1rem;display:grid}@media (width<=34rem){.avatar-editor{grid-template-columns:1fr}}.avatar-preview{border-radius:var(--r-lg);background:var(--surface-sunk);box-shadow:inset 0 0 0 1.5px var(--line-strong);flex-direction:column;align-items:center;gap:.3rem;margin:0;padding:.75rem;display:flex}.avatar-preview canvas{image-rendering:pixelated}.avatar-preview canvas.avatar-3d{image-rendering:auto;width:96px;height:184px}.avatar-options{flex-direction:column;gap:.35rem;max-height:22rem;padding:5px;display:flex;overflow-y:auto}.avatar-options fieldset{border:0;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;display:flex}.avatar-options legend{width:100%;font-weight:800;font-size:var(--rb-step--2);letter-spacing:var(--rb-label-tracking);text-transform:uppercase;margin-bottom:.15rem}.swatch-button{border:2px solid var(--surface);width:1.8rem;height:1.8rem;min-height:0;box-shadow:0 0 0 1.5px var(--rule);border-radius:50%;padding:0}.swatch-button:not(:disabled):hover{translate:none}.swatch-button.chosen{box-shadow:0 0 0 2px var(--surface), 0 0 0 4.5px var(--rule)}.swatch-button:focus-visible{box-shadow:0 0 0 1.5px var(--rule), var(--focus-ring)}.styles button{border-radius:var(--r-pill);background:var(--surface-raised);color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule);padding:.3rem .75rem;font-size:.85rem}.styles button:not(:disabled):hover{background:var(--azulejo-50);translate:none}.styles button.chosen{background:var(--ink);color:var(--surface);box-shadow:none}.decorate-panel{width:min(20rem,100% - 2rem);max-height:calc(100% - 9.5rem - var(--safe-bottom,0px));z-index:var(--z-panel);position:absolute;top:4.5rem;right:1rem;overflow-y:auto}.decorate-panel h3{margin:.75rem 0 .25rem;font-size:.9rem}.decorate-panel .hint{color:var(--ink-muted);font-size:.85rem}.swatches{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.swatch{border-radius:var(--r-sm);background:var(--surface-raised);color:var(--ink);text-align:center;box-shadow:inset 0 0 0 1.5px var(--line-strong);border:2px solid #0000;flex-direction:column;gap:.25rem;padding:.3rem;font-size:.72rem;font-weight:700;line-height:1.1;display:flex}.swatch .chip{border-radius:var(--r-sm);border:1px solid #00000026;width:100%;height:1.8rem;display:block}.swatch.chosen{border-color:var(--azulejo);background:#fff}.decor-actions{flex-shrink:0;gap:.25rem;display:flex}.decor-actions button[aria-label^=Rotate],.decor-actions button[aria-label^=Hang],.decor-actions button[aria-label^=Turn]{min-width:2.2rem;font-size:1.1rem;line-height:1}.decor-holding{border-radius:var(--r-md);background:var(--douro-100);justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex;box-shadow:inset 0 0 0 1.5px #1b7f7640}.decor-holding p{margin:0;font-size:.85rem}.decor-holding{flex-wrap:wrap}.decor-confirm{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.4rem;display:flex}.decor-confirm .decor-place{flex:1;min-width:6rem}.decor-nofit{color:var(--error);flex-basis:100%}.tabs{border-radius:var(--r-md);background:var(--cream-200);box-shadow:inset 0 0 0 2px var(--rule);gap:3px;margin:.5rem 0;padding:3px;display:flex}.tabs button{border-radius:var(--r-md);min-height:36px;color:var(--ink-soft);box-shadow:none;background:0 0;flex:1;padding:.3rem .5rem}.tabs button:not(:disabled):hover{background:var(--surface-raised);translate:none}.tabs button.chosen,.tabs button[aria-pressed=true],.tabs button[aria-selected=true]{background:var(--ink);color:var(--surface);box-shadow:none}.w3d-canvas{touch-action:none;background:#1c2230;outline:none;width:100%;height:100%;display:block}.w3d-labels,.w3d-overlay{z-index:var(--z-world);pointer-events:none;position:absolute;inset:0;overflow:hidden}.w3d-labels{z-index:var(--z-world);transition:opacity .6s}.w3d-labels.riding{opacity:0}.w3d-label{font:800 12px/1.25 var(--font-ui);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.w3d-name{color:var(--rb-paper-raw);letter-spacing:.01em;background:#1d1a3fd1;border-radius:999px;padding:2px 8px 3px;box-shadow:inset 0 0 0 1.5px #f6eedd4d,1.5px 1.5px #1d1a3f73}.w3d-bubble{border-radius:var(--r-md);max-width:180px;color:var(--ink);white-space:normal;text-align:center;box-shadow:var(--shadow-1);background:#fff;padding:5px 10px;font-weight:700}.w3d-bubble:after{content:"";background:#fff;border-radius:0 0 3px;width:10px;height:10px;margin-left:-5px;position:absolute;bottom:-5px;left:50%;transform:rotate(45deg)}.w3d-bubble-named{top:-22px}.w3d-plaque{border-radius:var(--r-sm);color:var(--ink);box-shadow:var(--shadow-1);background:#fdf8eeeb;padding:2px 6px;font-size:10px;font-weight:700}.w3d-plaque[hidden]{display:none}.w3d-sign{--sign-edge:var(--azulejo);border-radius:var(--r-sm);font:800 13px/1.2 var(--font-display);letter-spacing:.01em;color:var(--azulejo-900);box-shadow:inset 0 -3px 0 var(--sign-edge), inset 0 0 0 1.5px #1d1a3fb3, 2px 2px 0 #1d1a3f66;background:#f6eeddf5;padding:2px 8px 4px}.w3d-sign-lodge{--sign-edge:var(--port);color:var(--port-700)}.w3d-sign-dock{--sign-edge:var(--terracotta);color:var(--terracotta-700)}.w3d-sign-board,.w3d-sign-way{--sign-edge:var(--azulejo);color:var(--azulejo-700)}.w3d-sign-door{--sign-edge:var(--terracotta);color:var(--terracotta-700);font-size:12px}.w3d-sign-quest{--sign-edge:var(--gold);color:var(--gold-700);font-size:12px}.w3d-sign-activity{--sign-edge:var(--douro);color:var(--douro-700)}.w3d-sign-bridge{--sign-edge:var(--granite-300);color:var(--rb-navy-raw);background:#f6eeddd9}.w3d-sign-art{--sign-edge:#ff7aa2;color:#a3205f}.w3d-landmark{border-radius:var(--r-sm);font:800 17px/1.2 var(--font-display);letter-spacing:.04em;color:#fff;background:var(--azulejo);box-shadow:inset 0 0 0 2px var(--azulejo), inset 0 0 0 4px #fff, 0 3px 8px #00000059;white-space:nowrap;padding:4px 14px 5px}.w3d-art-badge{font:600 11px/1.3 var(--font-display);color:var(--gold-700);background:var(--gold-100);box-shadow:inset 0 0 0 1.5px var(--gold), 0 1px 3px #00000040;white-space:nowrap;border-radius:999px;padding:2px 9px}.w3d-quest-mark{width:26px;height:26px;font:700 17px/1 var(--font-display);color:var(--rb-navy-raw);background:radial-gradient(circle at 40% 30%, #ffe794, var(--gold));border-radius:50%;justify-content:center;align-items:center;animation:1.2s ease-in-out infinite w3d-bob;display:flex;box-shadow:inset 0 0 0 2px #fff,inset 0 -3px #8a611059,0 2px 6px #00000059}.w3d-snore{font-family:var(--font-display);pointer-events:none;align-items:flex-end;gap:2px;font-weight:800;display:flex}.w3d-snore span{color:#fff;text-shadow:0 0 3px var(--ink), 0 0 2px var(--ink);opacity:0;animation:1.8s ease-out infinite w3d-snore}.w3d-arrow{border-top:9px solid #0000;border-bottom:9px solid #0000;border-left:18px solid var(--gold);width:0;height:0;filter:drop-shadow(0 0 1px var(--ink)) drop-shadow(0 1px 2px #00000080);position:absolute;top:0;left:0}.w3d-arrow[hidden]{display:none}@keyframes w3d-snore{0%{opacity:0;transform:translateY(0)}50%{opacity:1}to{opacity:0;transform:translateY(-14px)}}@keyframes w3d-bob{50%{top:-4px}}.quest-panel{width:min(32rem,100% - 2rem);max-height:calc(100% - 4rem);overflow-y:auto}.quest{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);padding:.65rem .85rem}.quest h3{margin:.1rem 0;font-size:1.05rem}.quest h3 small{font-family:var(--font-ui);color:var(--ink-muted);font-weight:700}.quest-intro{margin:.25rem 0;font-style:italic}.quest-steps{margin:.25rem 0 .5rem;padding-left:1.2rem}.quest-steps li.done{color:var(--douro-700);text-decoration:line-through}.quest-locked{opacity:.6}.quest-log{box-sizing:border-box;border-radius:var(--r-lg);background:var(--glass);width:min(18rem,100% - 2rem);box-shadow:inset 0 5px 0 var(--gold), inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);z-index:var(--z-hud);padding:.55rem .8rem;font-size:.85rem;position:absolute;top:16rem;left:1rem}.quest-log h2{font-family:var(--font-display);color:var(--azulejo-900);margin:.1rem 0 .25rem;font-size:1rem;font-weight:800}.quest-log ul{margin:0;padding-left:1rem}.quest-log .ready{color:var(--douro-700);font-weight:800}.activity-bar{border-radius:var(--r-lg);background:var(--glass-dark);color:var(--rb-paper-raw);text-align:center;box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);z-index:calc(var(--z-hud) + 1);padding:.5rem .9rem;font-size:.9rem;font-weight:700;position:absolute;bottom:9rem;left:50%;transform:translate(-50%)}.activity-bar .bar{background:#f6eedd38;border-radius:999px;width:12rem;height:.5rem;margin-top:.35rem;overflow:hidden}.activity-bar .bar div{border-radius:inherit;background:var(--rb-mustard);height:100%}.activity-narration{max-width:18rem;margin:.35rem 0 0;font-size:.85rem;font-style:italic}.owned-panel{width:min(30rem,100% - 2rem);max-height:calc(100% - 4rem);overflow-y:auto}.owned-panel h3{margin:.8rem 0 .25rem;font-size:.95rem}.owned-panel .row{flex-wrap:wrap;gap:.4rem;margin:.4rem 0;display:flex}.owned-panel label.inline{margin:.4rem 0;display:block}.owned-panel label.inline input{width:6rem}.owned-panel button.chosen{background:var(--ink);color:var(--surface)}.earn-list{margin:.25rem 0;padding-left:1.2rem;font-size:.9rem}.player-card{box-sizing:border-box;border-radius:var(--r-xl);background:var(--surface);width:min(19rem,100% - 2rem);box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-3);z-index:var(--z-panel);flex-direction:column;gap:.55rem;padding:.85rem .95rem;font-size:.9rem;display:flex;position:absolute;top:4.5rem;right:1rem}.player-card header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.player-card h2{font-family:var(--font-display);color:var(--azulejo-900);align-items:center;gap:.55rem;margin:0;font-size:1.25rem;font-weight:800;display:flex}.player-card-avatar{background:var(--azulejo);color:#fff;width:2.3rem;height:2.3rem;box-shadow:var(--lip);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.05rem;display:inline-flex}.player-card p{margin:0}.player-card-tier{font-weight:600}.player-card-score{opacity:.7;font-weight:400}.tier-bar{background:var(--cream-200);height:.55rem;box-shadow:inset 0 0 0 1.5px var(--rule);border-radius:999px;overflow:hidden}.tier-bar div{border-radius:inherit;height:100%;box-shadow:inset -2px 0 0 var(--rb-navy-raw);background:#ff7aa2;transition:width .4s ease-out}.player-card-actions{flex-wrap:wrap;gap:.3rem;display:flex}.player-card-actions button{background:var(--surface-raised);color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule);padding:.3rem .6rem;font-size:.85rem}.player-card-actions button:disabled{background:var(--surface-sunk);color:var(--ink-muted);box-shadow:inset 0 0 0 1.5px var(--line-strong)}.player-card-actions button.chosen{background:var(--ink);color:var(--surface);box-shadow:var(--lip)}.player-card-gift{align-items:flex-end;gap:.4rem;display:flex}.player-card-gift label{flex-direction:column;flex:1;gap:.2rem;font-size:.8rem;display:flex}.player-card-gift input{font:inherit;border-radius:var(--r-sm);background:var(--cream-0);box-shadow:inset 0 0 0 1.5px var(--line-strong);border:0;padding:.4rem .6rem}.player-card footer{flex-wrap:wrap;gap:.4rem;font-size:.85rem;display:flex}.player-card-muted{opacity:.75}.social-bar{justify-content:flex-end;gap:.3rem;display:flex;position:relative}.social-bar>button{padding:.25rem .7rem;font-size:.85rem}.emote-menu{border-radius:var(--r-lg);background:var(--glass-dark);box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);z-index:calc(var(--z-hud) + 1);flex-direction:column;gap:.25rem;margin-bottom:.3rem;padding:.35rem;display:flex;position:absolute;bottom:100%;right:0}.emote-menu button{text-align:left;padding:.25rem .8rem;font-size:.85rem}.friends-panel{max-height:calc(100% - 4rem);overflow-y:auto}.friends-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.friends-list li{grid-template-columns:auto 1fr auto;align-items:center;gap:.15rem .5rem;display:grid}.friends-list .tier-bar{grid-column:2/4}.friends-list .friend-where{opacity:.75;grid-column:2/4;font-size:.85rem}.friend-dot{background:var(--granite-300);width:.65rem;height:.65rem;box-shadow:0 0 0 2px var(--cream-0);border-radius:50%}.friends-list li.online .friend-dot{background:var(--fill-teal)}.friend-name{font-family:var(--font-display);font-weight:800}.friend-tier{color:var(--pink-700);font-size:.85rem;font-weight:700}.map-panel{width:min(680px,100vw - 2rem);max-height:calc(100% - 2rem);overflow:auto}.map-panel h2{margin-bottom:.25rem}.map-caption{min-height:1.4em;margin:0 0 .5rem}.city-map{border-radius:var(--r-md);width:100%;height:auto;box-shadow:inset 0 0 0 1.5px var(--line-strong);cursor:pointer;image-rendering:pixelated;display:block}.map-legend{flex-wrap:wrap;gap:.25rem .9rem;margin:.5rem 0;padding:0;font-size:.9rem;list-style:none;display:flex}.map-dot{vertical-align:-.05rem;border:1.5px solid #fff;border-radius:50%;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block;box-shadow:0 0 0 1px #1c223066}.w3d-touch{z-index:var(--z-touch);pointer-events:none;position:absolute;inset:0}.w3d-touch[hidden]{display:none}.w3d-stick{box-sizing:border-box;opacity:var(--touch-opacity,.9);pointer-events:none;-webkit-user-select:none;user-select:none;background:#1d1a3f47;border:2px solid #f6eedd99;border-radius:50%;transition:opacity .15s;position:absolute}.w3d-stick.resting{opacity:calc(var(--touch-opacity,.9) * .45);transition:opacity .3s}.w3d-stick-knob{left:calc(50% - 26px * var(--touch-scale,1));top:calc(50% - 26px * var(--touch-scale,1));width:calc(52px * var(--touch-scale,1));height:calc(52px * var(--touch-scale,1));box-shadow:inset 0 0 0 2px var(--rb-navy-raw), 2px 2px 0 var(--rb-print-ink);pointer-events:none;background:#f6eeddeb;border-radius:50%;position:absolute}.w3d-use{border:3px solid var(--rb-navy-raw);min-height:0;font:800 1rem var(--font-display);color:var(--rb-navy-raw);background:var(--rb-mustard);box-shadow:3px 3px 0 var(--rb-print-ink);opacity:var(--touch-opacity,.9);overflow-wrap:anywhere;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;padding:0 6px;line-height:1.1;transition:transform 80ms,opacity .2s,background .2s;position:absolute;overflow:hidden}.w3d-use:active{transform:scale(.94)}.w3d-use.idle{color:#f6eeddcc;box-shadow:none;opacity:calc(var(--touch-opacity,.9) * .6);background:#1d1a3f8c;border-color:#f6eedd73;font-weight:700}.touch-cluster{display:contents}.touch-button{z-index:calc(var(--z-touch) + 1);border:2px solid var(--glass-dark-edge);background:var(--glass-dark);min-height:0;color:var(--rb-paper-raw);font-size:calc(1.2rem * var(--touch-scale,1));box-shadow:2px 2px 0 var(--rb-print-ink);opacity:var(--touch-opacity,.9);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0;line-height:1;display:flex;position:absolute}.touch-button:active{transform:scale(.94)}.touch-button[aria-pressed=true],.touch-button[aria-expanded=true]{border-color:var(--gold);background:var(--fill-cobalt)}.touch-button .icon{width:calc(1.4rem * var(--touch-scale,1));height:calc(1.4rem * var(--touch-scale,1))}.touch-button-label{font-size:calc(.62rem * var(--touch-scale,1));letter-spacing:.02em;margin-top:2px;font-weight:800}.touch-emotes{z-index:calc(var(--z-touch) + 2);flex-direction:column;gap:8px;display:flex;position:absolute}.touch-emotes button{background:var(--glass);min-height:44px;color:var(--ink);box-shadow:inset 0 -3px 0 var(--cream-300), 0 2px 8px #0000004d;border-radius:999px;padding:0 1rem;font-weight:800}:root{--next-step-height:0px}.app:has(.hud-next-step){--next-step-height:48px}.hud-next-step{top:calc(var(--safe-top,0px) + .75rem);z-index:var(--z-next-step);box-sizing:border-box;border-radius:var(--r-sm);background:var(--glass-dark);max-width:min(32rem,100% - 2rem);min-height:40px;color:var(--rb-paper-raw);white-space:nowrap;text-overflow:ellipsis;box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);padding:.55rem .9rem;font-size:.9rem;font-weight:700;line-height:1.3;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.notice{margin-top:var(--next-step-height)}.rotate-card{z-index:var(--z-system);padding:calc(var(--safe-top,0px) + 2rem) calc(var(--safe-right,0px) + 2rem) calc(var(--safe-bottom,0px) + 2rem) calc(var(--safe-left,0px) + 2rem);background:var(--grain-tile) 0 0 / 128px, var(--rb-dock);color:var(--rb-paper-raw);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:fixed;inset:0}.rotate-card h2{margin:0;font-size:1.4rem}.rotate-card p{opacity:.9;max-width:20rem;margin:0;line-height:1.45}.rotate-card button{margin-top:1rem}.rotate-art{width:min(14rem,70vw);height:auto;overflow:visible}.rotate-art rect{fill:none;stroke:var(--paper);stroke-width:3px}.rotate-art .rotate-from{opacity:.35;stroke-dasharray:6 5}.rotate-art .rotate-screen{fill:#2d4fd6;stroke:none}.rotate-art .rotate-thumb{fill:#f4b416}.rotate-art .rotate-arrow,.rotate-art .rotate-arrow-head{fill:none;stroke:#f4b416;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.rotate-art .rotate-to{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,15%{opacity:.6;transform:rotate(-90deg)scale(.85)}45%,to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rotate-art .rotate-to{animation:none}}.touch-settings{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);border:0;flex-direction:column;gap:.4rem;margin:0;padding:.6rem .85rem .7rem;display:flex}.touch-settings legend{float:left;width:100%;font-family:var(--font-ui);font-size:var(--rb-step--1);letter-spacing:var(--rb-label-tracking);text-transform:uppercase;color:var(--ink);margin:0 0 .2rem;padding:0;font-weight:800}.touch-settings legend+*{clear:both}.panel .touch-setting-check,.panel .touch-setting-range{flex-direction:row;align-items:center;gap:.6rem;min-height:44px;font-weight:400;display:flex}.panel .touch-setting-range{justify-content:space-between}.panel .touch-setting-range input{min-height:44px;accent-color:var(--azulejo);border:none;flex:0 12rem;padding:0}.needs-rings{display:none}.need-ring{background:radial-gradient(closest-side, var(--surface) 68%, transparent 70%), conic-gradient(var(--need-ink) var(--need), var(--surface-sunk) 0);width:24px;height:24px;color:var(--ink);box-shadow:0 0 0 1.5px var(--rule);border-radius:50%;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.need-ring .icon{width:12px;height:12px}.need-ring.low{background:radial-gradient(closest-side, var(--fill-terra) 68%, transparent 70%), conic-gradient(var(--fill-terra) var(--need), var(--port-100) 0);color:var(--rb-paper-raw)}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--touch-joystick-size:140px;--touch-use-size:100px;--touch-inset:16px;--touch-left:calc(var(--safe-left) + var(--touch-inset));--touch-right:calc(var(--safe-right) + var(--touch-inset));--touch-bottom:calc(var(--safe-bottom) + var(--touch-inset));--app-height:100dvh;--keyboard-inset:0px;--hud-bar:var(--hud-bar-measured,76px)}.sheet-top,.chat-toggle,.hud-spacer{display:none}.hud-stack{display:contents}.chat[hidden],.needs-strip[hidden]{display:none}@keyframes sheet-up{0%{opacity:0;transform:translateY(40%)}}@media (width<=760px),(height<=520px) and (pointer:coarse){.app.playing .topbar{display:none}.topbar{padding:max(.4rem, var(--safe-top)) max(.75rem, var(--safe-right)) .4rem max(.75rem, var(--safe-left))}.app:not(.playing) .stage{overflow-y:auto}.panel{margin:1rem auto;padding:1rem}button{touch-action:manipulation;min-height:44px}input,select,textarea{box-sizing:border-box;min-height:44px;font-size:16px!important}input[type=radio],input[type=checkbox]{width:1.3rem;height:1.3rem;min-height:0}.swatch-button{width:2.6rem;height:2.6rem;min-height:0}.hud.hud-compact{top:calc(var(--safe-top) + 6px);left:calc(var(--safe-left) + 8px);right:calc(var(--safe-right) + 8px);border-radius:var(--r-sm);pointer-events:auto;-webkit-user-select:none;user-select:none;max-width:none;z-index:var(--z-hud);flex-wrap:wrap;align-items:center;gap:2px 6px;padding:4px 4px 4px 10px;font-size:.9rem;display:flex;bottom:auto}.hud-compact p{margin:0}.hud-compact .hud-clock-weekday{display:none}.hud-compact .hud-clock{white-space:nowrap;font-size:1rem}.hud-spacer{flex:1;display:block}.hud-mood{border-radius:var(--r-pill);background:var(--surface-raised);min-height:36px;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong);white-space:nowrap;align-items:center;gap:.35rem;padding:0 .6rem 0 3px;display:inline-flex}.hud-mood strong{font-family:var(--font-display);font-weight:800}.hud-mood .mood-face{width:1.75rem;height:1.75rem}.hud-mood.low:after{background:var(--fill-terra);content:"";border-radius:50%;width:.5rem;height:.5rem;margin-left:.3rem;display:inline-block}.hud-compact .badge.wallet{white-space:nowrap;min-height:36px;padding:0 .7rem}.hud-round{border-radius:50%;width:44px;height:44px;padding:0;font-size:1.15rem;line-height:1}.hud-round .icon{width:22px;height:22px}.needs-strip{flex-basis:100%;order:10;margin:0 0 2px}.needs-strip .needs-grid{grid-template-columns:repeat(6,1fr);gap:2px 8px;padding-right:6px}.needs-strip .needs-status{margin:0;font-size:.75rem}.needs-strip .energy-badge{margin:0;font-size:.72rem}.hud-sheet h2{font-size:1.2rem}.hud-sheet p{margin:0}.hud-stack{top:calc(var(--safe-top) + var(--hud-bar) + 6px);left:calc(var(--safe-left) + 8px);pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;max-width:min(18rem,50% - 14px);display:flex;position:absolute}.hud-stack>*{pointer-events:auto}.hud-stack .getting-started,.hud-stack .quest-log{box-sizing:border-box;width:auto;max-width:100%;position:static}.getting-started.collapsed{padding:0 .2rem 0 .6rem;font-size:.85rem}.getting-started.collapsed header{white-space:nowrap;align-items:center;gap:.4rem;min-width:0}.getting-started.collapsed header strong{display:none}.getting-started-goal{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quest-log{max-height:28dvh;padding:.35rem .6rem;font-size:.78rem;overflow-y:auto}.quest-log h2{font-size:.85rem}.job-panel{top:calc(var(--safe-top) + var(--hud-bar) + 6px);right:calc(var(--safe-right) + 8px);box-sizing:border-box;width:min(15rem,50% - 14px);padding:.35rem .6rem;font-size:.8rem}.notice{top:calc(var(--safe-top) + var(--hud-bar) + 6px);text-align:center;max-width:calc(100% - 2rem);z-index:var(--z-toast);font-size:.9rem}.prompt{bottom:calc(var(--touch-bottom) + var(--touch-joystick-size) + 12px);max-width:calc(100% - 2rem);font-size:.9rem}.activity-bar{bottom:calc(var(--touch-bottom) + var(--touch-joystick-size) + 60px);max-width:calc(100% - 2rem)}.chat-toggle{right:var(--touch-right);bottom:calc(var(--touch-bottom) + var(--touch-use-size) + 16px);background:var(--glass-dark);width:52px;height:52px;color:var(--rb-paper-raw);box-shadow:inset 0 0 0 2px var(--glass-dark-edge), 2px 2px 0 var(--rb-print-ink);z-index:var(--z-touch);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.4rem;display:flex;position:absolute}.chat-toggle .icon{width:24px;height:24px}.chat-unread{background:var(--fill-terra);min-width:1.2rem;box-shadow:0 0 0 2px var(--rb-paper-raw);color:var(--rb-paper-raw);border-radius:999px;padding:0 .25rem;font-size:.75rem;font-weight:700;line-height:1.2rem;position:absolute;top:-2px;right:-2px}.sheet-backdrop{z-index:var(--z-sheet);background:#1d1a3f61;position:fixed;inset:0}.chat.sheet{left:0;right:0;bottom:var(--keyboard-inset);width:auto;max-height:min(70dvh, calc(var(--app-height) - var(--safe-top) - 1rem));box-sizing:border-box;padding:0 max(12px, var(--safe-right)) calc(10px + var(--safe-bottom)) max(12px, var(--safe-left));border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);box-shadow:0 -2.5px 0 var(--rule);z-index:calc(var(--z-sheet) + 1);animation:sheet-up var(--motion-base) var(--ease-out);font-size:.95rem;position:fixed}.chat.sheet .chat-log{flex:1;min-height:6rem;max-height:none}.chat.sheet .social-bar{flex-wrap:wrap;justify-content:flex-start}.chat.sheet .emote-menu{flex-flow:wrap;flex-basis:100%;margin:0;position:static}.chat.sheet .chat-menu{flex-wrap:wrap}.chat.sheet .chat-menu button{font-size:.85rem}.chat.sheet .whisper-chip{min-height:44px}.modal-backdrop{z-index:var(--z-sheet);align-items:flex-end;position:fixed}.modal-backdrop>.panel,.decorate-panel,.player-card,.getting-started.expanded{width:100%;max-width:40rem;max-height:min(80dvh, calc(var(--app-height) - var(--safe-top) - 1rem));box-sizing:border-box;padding:0 max(1rem, var(--safe-right)) calc(1rem + var(--safe-bottom)) max(1rem, var(--safe-left));overscroll-behavior:contain;border-radius:var(--r-xl) var(--r-xl) 0 0;animation:sheet-up var(--motion-base) var(--ease-out);margin:0;overflow-y:auto}.decorate-panel,.player-card,.getting-started.expanded{background:var(--surface);box-shadow:0 -2.5px 0 var(--rule);z-index:var(--z-panel);margin:0 auto;position:fixed;inset:auto 0 0}.decorate-panel{max-height:45dvh}.player-card{max-height:60dvh;padding-top:.75rem}.getting-started.expanded{font-size:.95rem}.sheet-top{z-index:1;background:inherit;flex-shrink:0;justify-content:center;align-items:center;min-height:52px;margin:0 -1rem;display:flex;position:sticky;top:0}.sheet-grip{touch-action:none;cursor:grab;justify-content:center;align-items:center;width:50%;height:32px;display:flex}.sheet-grip:before{background:var(--cream-300);content:"";border-radius:3px;width:40px;height:5px}.sheet-close{top:4px;right:max(.5rem, var(--safe-right));width:44px;height:44px;position:absolute}.chat.sheet .sheet-top{margin:0 -12px}.panel h2{padding-right:3rem;font-size:1.25rem}.menu li{flex-wrap:wrap;gap:.4rem 1rem}.ledger,.avatar-options{max-height:none}.ledger li{grid-template-columns:1fr auto}.ledger time{grid-column:1/-1}.w3d-label{font-size:10px}.w3d-name{padding:1px 6px 2px}.w3d-bubble{max-width:130px;padding:3px 8px;font-size:11px}.w3d-bubble-named{top:-16px}.w3d-plaque{font-size:8px}.w3d-sign{padding:1px 6px 3px;font-size:10px}.w3d-sign-door,.w3d-sign-quest{font-size:9px}.w3d-quest-mark{width:21px;height:21px;font-size:14px}.hud.hud-compact{right:calc(var(--safe-right) + 8px + 44px + 6px + 44px + 8px)}.hud-corner{top:calc(var(--safe-top) + 6px);right:calc(var(--safe-right) + 8px);z-index:var(--z-hud);pointer-events:auto;gap:6px;display:flex;position:absolute}.hud-corner .hud-round{box-shadow:var(--shadow-2)}:root:is([data-layout=portrait],[data-layout=compact]) .hud-corner .hud-turn{top:auto;right:calc(var(--safe-right) + 8px);bottom:calc(var(--safe-bottom) + 262px);position:fixed}.hud-minimap{border:2.5px solid var(--glass-edge);background:var(--fill-cobalt);width:44px;height:44px;min-height:0;box-shadow:0 0 0 1px var(--line-strong), 0 2px 8px #0000004d;border-radius:50%;padding:0;overflow:hidden}.hud-minimap canvas{width:100%;height:100%;display:block}.hud-map-button{font-size:1.1rem}.hud-next-step{top:calc(var(--safe-top) + var(--hud-bar) + 6px);max-width:calc(100% - 2rem)}.notice{margin-top:var(--next-step-height)}html.porto-touch .chat-toggle{right:calc(var(--safe-right) + var(--touch-chat-inset,16px));bottom:calc(var(--safe-bottom) + var(--touch-chat-bottom,140px));width:var(--touch-chat-size,52px);height:var(--touch-chat-size,52px);border:2px solid var(--glass-dark-edge);opacity:var(--touch-opacity,.9)}html.porto-touch[data-left-handed] .chat-toggle{right:auto;left:calc(var(--safe-left) + var(--touch-chat-inset,16px))}html.porto-touch .prompt{bottom:calc(var(--safe-bottom) + 250px)}html.porto-touch .activity-bar{bottom:calc(var(--safe-bottom) + 300px)}}:root[data-layout=landscape]{--hud-bar:0px;--hud-edge:8px;--hud-top:calc(var(--safe-top) + var(--hud-edge));--side-sheet-width:clamp(20rem, 46vw, 32rem)}:root[data-layout=landscape] .hud.hud-compact{top:var(--hud-top);left:calc(var(--safe-left) + var(--hud-edge));max-width:calc(100% - var(--safe-left) - var(--safe-right) - 11rem);border-radius:var(--r-sm);background:var(--glass);flex-wrap:nowrap;gap:6px;padding:4px 4px 4px 10px;right:auto}:root[data-layout=landscape] .hud-spacer{display:none}:root[data-layout=landscape] .hud-mood{align-items:center;gap:4px;min-height:44px;padding:0 .5rem 0 .7rem;display:inline-flex}:root[data-layout=landscape] .hud-mood.low:after{display:none}:root[data-layout=landscape] .needs-rings{gap:2px;display:inline-flex}:root[data-layout=landscape] .hud-compact .badge.wallet{min-height:44px}:root[data-layout=landscape] .needs-strip{width:min(24rem, calc(100vw - var(--safe-left) - var(--safe-right) - 2rem));box-sizing:border-box;border-radius:var(--r-lg);background:var(--glass);box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);margin:0;padding:.6rem .8rem;position:absolute;top:calc(100% + 6px);left:0}:root[data-layout=landscape] .needs-strip .needs-grid{grid-template-columns:repeat(3,1fr)}:root[data-layout=landscape] .hud-corner{top:var(--hud-top);right:calc(var(--safe-right) + var(--hud-edge));align-items:flex-start}:root[data-layout=landscape] .hud-minimap{border-radius:var(--r-lg);width:76px;height:76px}:root[data-layout=landscape]{--top-centre:calc(var(--hud-top) + 54px);--top-centre-width:min(26rem, calc(100% - 2 * (max(var(--safe-left), var(--safe-right)) + 16px + min(17rem, 30%))))}:root[data-layout=landscape] .hud-next-step,:root[data-layout=landscape] .notice{top:var(--top-centre);max-width:var(--top-centre-width)}:root[data-layout=landscape] .hud-stack{top:calc(var(--hud-top) + 56px);left:calc(var(--safe-left) + var(--hud-edge));max-width:min(17rem,30%);max-height:calc(var(--app-height) - var(--hud-top) - 56px - 190px);overflow:hidden}:root[data-layout=landscape] .quest-log{max-height:30dvh}:root[data-layout=landscape] .job-panel{top:calc(var(--hud-top) + 84px);right:calc(var(--safe-right) + var(--hud-edge));width:min(15rem,28%)}:root[data-layout=landscape] .prompt{bottom:calc(var(--safe-bottom) + 14px);max-width:min(26rem,36%)}:root[data-layout=landscape] .activity-bar{bottom:calc(var(--safe-bottom) + 62px);max-width:min(26rem,36%)}@keyframes sheet-in-right{0%{opacity:0;transform:translate(40%)}}@keyframes sheet-in-left{0%{opacity:0;transform:translate(-40%)}}:root[data-layout=landscape] .modal-backdrop{justify-content:flex-end;align-items:stretch}:root[data-layout=landscape] .modal-backdrop>.panel,:root[data-layout=landscape] .decorate-panel,:root[data-layout=landscape] .player-card,:root[data-layout=landscape] .getting-started.expanded{width:calc(var(--side-sheet-width) + var(--safe-right));max-width:none;height:var(--app-height);max-height:none;padding:var(--safe-top) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) 1rem;animation:sheet-in-right var(--motion-base) var(--ease-out);border-radius:0;margin:0}:root[data-layout=landscape] .decorate-panel,:root[data-layout=landscape] .player-card,:root[data-layout=landscape] .getting-started.expanded{box-shadow:inset 2.5px 0 0 var(--rule), -4px 0 0 var(--rb-print-ink-2);inset:0 0 auto auto}:root[data-layout=landscape] .player-card,:root[data-layout=landscape] .decorate-panel{width:calc(min(var(--side-sheet-width), 24rem) + var(--safe-right))}:root[data-layout=landscape] .modal-backdrop:has(>.map-panel){justify-content:center;align-items:center}:root[data-layout=landscape] .modal-backdrop>.map-panel{width:min(52rem, calc(100% - var(--safe-left) - var(--safe-right) - 1rem));height:auto;max-height:calc(var(--app-height) - var(--safe-top) - 3.5rem);border-radius:var(--r-md);margin-top:3rem;padding-right:1rem;animation:none}:root[data-layout=landscape] .sheet-grip{visibility:hidden}:root[data-layout=landscape] .chat.sheet{top:0;right:auto;bottom:var(--keyboard-inset);width:calc(min(42vw, 26rem) + var(--safe-left));max-height:none;padding:var(--safe-top) 12px calc(8px + var(--safe-bottom)) max(12px, var(--safe-left));box-shadow:inset -2.5px 0 0 var(--rule), 4px 0 0 var(--rb-print-ink-2);animation:sheet-in-left var(--motion-base) var(--ease-out);border-radius:0;left:0;transform:none}:root[data-layout=landscape] .chat.sheet .chat-log{min-height:3rem}:root[data-layout=landscape][data-keyboard] .chat.sheet .social-bar{display:none}.language-picker{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.panel .language-picker label{font-weight:400;display:inline}.language-picker label .icon{color:var(--azulejo-700);margin-right:.3em}.language-picker select{font:inherit;border-radius:var(--r-sm);background:var(--cream-0);min-height:36px;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong);border:0;padding:.2rem .6rem;font-weight:700}.detail-picker{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.panel .detail-picker label{font-weight:400;display:inline}.detail-picker select{font:inherit;border-radius:4px;padding:.1rem .3rem}.fps-readout{top:calc(env(safe-area-inset-top,0px) + 3.6rem);z-index:var(--z-debug);color:#f3efe6;white-space:nowrap;pointer-events:none;background:#141820b8;border-radius:999px;margin:0;padding:.15rem .5rem;font:600 .72rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;left:50%;transform:translate(-50%)}.language-picker.compact label{font-size:0}.language-picker.compact label span{font-size:.85rem}.spoken-languages{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);border:0;margin:0;padding:.6rem .85rem}.spoken-languages .hint{opacity:.8;margin:0 0 .4rem;font-size:.85rem}.spoken-options{flex-wrap:wrap;gap:.3rem;max-height:9rem;display:flex;overflow-y:auto}.panel .spoken-options label{box-sizing:border-box;background:var(--cream-0);min-height:32px;box-shadow:inset 0 0 0 1.5px var(--line-strong);cursor:pointer;border-radius:999px;flex-direction:row;align-items:center;gap:.25rem;padding:.15rem .6rem;font-size:.85rem;font-weight:700;display:inline-flex}.panel .spoken-options label.chosen{background:var(--ink);color:var(--surface)}.spoken-options input{width:auto;margin:0}.chat-lang{letter-spacing:.04em;vertical-align:.1em;background:#ffffff2e;border-radius:3px;padding:0 .3em;font-size:.65em;font-weight:600;text-decoration:none}.chat-log button.chat-translate{color:#aab7ff;background:#f6eedd1a;min-height:0;margin-left:.3em;padding:0 .5em;font-size:.75em;box-shadow:inset 0 0 0 1px #f6eedd4d}.chat-translate-note{opacity:.8;font-size:.8em;display:block}.chat-languages{color:#ffc2d4;margin:.2rem 0;font-size:.8rem}.player-card-languages{flex-direction:column;gap:.15rem;margin:0;font-size:.85rem;display:flex}.player-card-suggest{opacity:.85;font-style:italic}.help-panel{width:min(44rem,100% - 2rem);max-height:calc(100% - 4rem);overflow-y:auto}.help-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.help-tabs button{background:var(--cream-0);min-height:34px;color:var(--ink-soft);box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:800}.help-tabs button.chosen{background:var(--ink);color:var(--surface);box-shadow:none}.help-body h3{margin:.25rem 0 .5rem}.help-body h4{margin:.75rem 0 .25rem}.help-body p{margin:.4rem 0;line-height:1.4}.help-table{border-collapse:collapse;border-radius:var(--r-md);background:var(--surface-raised);width:100%;box-shadow:inset 0 0 0 1.5px var(--line-strong);margin:.4rem 0;font-size:.85rem;overflow:hidden}.help-table th,.help-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.4rem .6rem}.help-table tr:last-child>*{border-bottom:0}.help-table thead th{background:var(--cream-200);font-weight:800}.help-list{margin:.2rem 0;padding-left:1.1rem;font-size:.85rem;line-height:1.45}.help-list .help-cost{color:var(--port-700)}.help-keys th{white-space:nowrap;width:7rem}.help-body .help-lead{margin:0 0 .6rem;font-size:.95rem}.help-cards{grid-template-columns:repeat(auto-fill,minmax(min(18rem,100%),1fr));gap:.6rem;margin:.4rem 0;display:grid}.help-card-head{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;display:flex}.help-card-head h4{flex:1;margin:0;font-size:1.1rem}.help-card-icon{border-radius:var(--r-sm);background:var(--douro);color:#fff;width:2.3rem;height:2.3rem;box-shadow:var(--rb-mis-x) var(--rb-mis-y) 0 var(--rb-print-ink);flex:none;justify-content:center;align-items:center;display:inline-flex}.help-card-icon .icon{width:1.3rem;height:1.3rem}.help-body .help-card-note{color:var(--ink-muted);margin:-.2rem 0 0;font-size:.78rem;font-weight:700}.help-effects{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.help-effects li{border-radius:var(--r-pill);padding:.12rem .55rem;font-size:.78rem;font-weight:700;line-height:1.35}.help-effects li.up{background:var(--douro-100);color:var(--douro-700)}.help-effects li.down{background:var(--port-100);color:var(--port-700)}.help-body .help-note{color:var(--ink-soft);align-items:flex-start;gap:.45rem;margin:.6rem 0;font-size:.88rem;display:flex}.help-note>.icon{color:var(--azulejo-700);margin-top:.1em}.help-tips{flex-direction:column;gap:.45rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.help-tips li{align-items:flex-start;gap:.5rem;display:flex}.help-tips li>.icon{color:var(--douro-700);flex:none;margin-top:.05em}.help-moods{grid-template-columns:repeat(auto-fill,minmax(min(13rem,100%),1fr));gap:.5rem;margin:.4rem 0;padding:0;list-style:none;display:grid}.help-mood{flex-flow:wrap;align-items:center}.help-mood strong{font-family:var(--font-display);flex:1;font-size:1.05rem;font-weight:800}.help-mood .mood-face{width:2.3rem;height:2.3rem}.help-controls{flex-direction:column;gap:.45rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.help-controls li{grid-template-columns:7.5rem 1fr;align-items:center;gap:.6rem;display:grid}.help-control-glyph{justify-content:flex-start;display:flex}.help-body .card-title{margin:0}.server-field{flex-wrap:wrap;align-items:end;gap:.5rem;max-width:24rem;margin:1rem auto;padding:0 1rem;font-size:.9rem;display:flex}.server-field label{flex-direction:column;flex:12rem;gap:.25rem;display:flex}.update-banner{z-index:var(--z-system);left:50%;top:calc(.5rem + var(--safe-top));border-radius:var(--r-sm);background:var(--rb-dock);max-width:calc(100vw - 2rem);color:var(--rb-paper-raw);box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);align-items:center;gap:.75rem;padding:.5rem .9rem;font-size:.9rem;display:flex;position:fixed;transform:translate(-50%)}.homes-filters label{flex-direction:row;align-items:center;gap:.3rem;display:inline-flex}.homes-filters input{width:auto;margin:0}.panel .hint{opacity:.8;margin:0;font-size:.85rem}.change-password{flex-direction:column;gap:.75rem;display:flex}.privacy-link{text-align:center;margin:0 auto 1rem;font-size:.85rem}.privacy-link button.credits-link{font-size:inherit;padding:0;display:inline}.privacy-link button.credits-link .icon{display:none}body>.modal-backdrop{position:fixed}@media (width>=761px) and (height>=521px),(width>=761px) and (pointer:fine){.modal-backdrop>.panel.credits{box-sizing:border-box;overscroll-behavior:contain;width:min(40rem,100% - 2rem);max-height:calc(100dvh - 4rem);margin:2rem auto;overflow-y:auto}}.credits h3{margin:1rem 0 .25rem;font-size:1rem}.credits p{margin:.25rem 0}.credits-packages{columns:16rem auto;column-gap:1.5rem;margin:.25rem 0 .5rem;padding:0;font-size:.85rem;list-style:none}.credits-packages li{break-inside:avoid;overflow-wrap:anywhere}.credits-package{font-weight:600}.credits-licence{opacity:.8}.credits-texts{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--r-md);background:#0000000f;max-height:50vh;padding:.75rem;font-size:.75rem;overflow:auto}.sound-menu{pointer-events:auto;display:inline-block;position:relative}.sound-menu>summary{cursor:pointer;list-style:none;display:inline}.sound-menu>summary::-webkit-details-marker{display:none}.sound-menu-panel{z-index:calc(var(--z-hud) + 2);width:min(20rem,100vw - 2rem);padding:.5rem;position:absolute;bottom:calc(100% + .5rem);left:0}.sound-settings .hud-hint{margin:.2rem 0 0;font-size:.8rem}.w3d-fade{z-index:var(--z-world);opacity:0;pointer-events:none;background:#0b0f18;position:absolute;inset:0}.w3d-bubble{transform-origin:50% 100%;animation:bubble-pop var(--motion-base) var(--ease-back)}@keyframes bubble-pop{0%{opacity:0;scale:.4}}@media (prefers-reduced-motion:reduce){button,.badge.wallet{transition:none}button:not(:disabled):active,.badge.wallet.bump{scale:none}.w3d-bubble,.modal-backdrop,.modal-backdrop>.panel,.decorate-panel,.player-card,.getting-started.expanded,.chat.sheet{animation:none!important}.notice,.wallet-pop{animation-name:fade-only}.story-toasts li{animation:none}}@keyframes fade-only{0%{opacity:0}10%,80%{opacity:1}to{opacity:0}}.decor-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.decorate-panel.compact>p.hint,.decorate-panel.compact>.tabs,.decorate-panel.compact>.tabs~*{display:none}.decorate-panel.compact{max-height:none}:root[data-layout=landscape] .decorate-panel.compact{top:auto;bottom:calc(.5rem + var(--safe-bottom));right:calc(.5rem + var(--safe-right));width:min(var(--side-sheet-width), 19rem);border-radius:var(--r-xl);height:auto}.flat-status{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.flat-price .money-chip{font-size:.95rem}.btn-price{min-width:5.2rem;font-family:var(--font-display);font-variant-numeric:tabular-nums;flex:none;font-size:1rem;font-weight:800}.btn-price .icon{width:1.15em;height:1.15em;margin-right:.25em}.decor-head{align-items:center;padding-right:2.6rem}.decor-head .decor-toggle{white-space:nowrap}.decor-head .panel-title{padding-right:0}:root .player-card header .sheet-close.player-card-close{flex:none;width:36px;height:36px;position:static}.events-back{align-self:flex-start}.hud:has(.needs-strip:not([hidden])){z-index:calc(var(--z-next-step) + 1)}.modal-backdrop{box-sizing:border-box;padding-bottom:var(--keyboard-inset,0px)}@media (width<=760px),(height<=520px) and (pointer:coarse){.decorate-panel,.player-card,.getting-started.expanded{bottom:var(--keyboard-inset,0px)}.modal-backdrop>.panel,.decorate-panel,.player-card,.getting-started.expanded,.chat.sheet{scroll-padding:56px 0 calc(1rem + var(--safe-bottom))}.panel .sheet-footer{bottom:calc(-1rem - var(--safe-bottom));z-index:1;padding:.5rem .5rem calc(.5rem + var(--safe-bottom));background:var(--surface-raised);margin-inline:-.5rem;position:sticky;box-shadow:0 -10px 12px -10px #00000040}.panel .sheet-footer:not(.row){display:grid}.modal-backdrop>.panel:not(.paint-panel,.map-panel)>*,.decorate-panel>*,.player-card>*{flex-shrink:0}.modal-backdrop>.panel .flat-list,.modal-backdrop>.panel .homes-list{max-height:none;overflow:visible}.modal-backdrop>.panel{max-height:min(80dvh, calc(var(--app-height) - var(--safe-top) - var(--hud-bar) - .5rem))}}:is(:root:has(.modal-backdrop,.chat.sheet.open,.decorate-panel:not(.compact),.player-card) .notice,:root:has(.modal-backdrop,.chat.sheet.open,.decorate-panel:not(.compact),.player-card) .intro-toast){top:calc(var(--safe-top,0px) + .4rem);margin-top:0}:root:has(.modal-backdrop,.chat.sheet.open,.decorate-panel:not(.compact),.player-card) .story-toasts{top:calc(var(--safe-top,0px) + 3.4rem)}:root[data-layout=landscape]:has(.modal-backdrop>.panel:not(.map-panel)){--cover-right:calc(var(--side-sheet-width) + var(--safe-right))}:root[data-layout=landscape]:has(.decorate-panel:not(.compact),.player-card){--cover-right:calc(min(var(--side-sheet-width), 24rem) + var(--safe-right))}:root[data-layout=landscape]:has(.chat.sheet.open){--cover-left:calc(min(42vw, 26rem) + var(--safe-left))}:root[data-layout=landscape]:has(.needs-strip:not([hidden])){--cover-left:calc(min(24rem, 100vw - var(--safe-left) - var(--safe-right) - 2rem) + var(--safe-left) + var(--hud-edge))}:root[data-layout=landscape] .notice,:root[data-layout=landscape] .story-toasts,:root[data-layout=landscape] .intro-toast{left:calc(var(--cover-left,0px) + (100% - var(--cover-left,0px) - var(--cover-right,0px)) / 2)}:root[data-layout=landscape]:has(.modal-backdrop>.panel:not(.map-panel),.chat.sheet.open,.decorate-panel:not(.compact),.player-card,.needs-strip:not([hidden])) .notice{max-width:calc(100% - var(--cover-left,0px) - var(--cover-right,0px) - 2rem)}:root[data-layout=landscape] .decorate-panel.compact{max-height:calc(var(--app-height) - var(--hud-top) - 56px);overflow-y:auto}:root:is([data-layout=landscape],[data-layout=portrait],[data-layout=compact]) :is(.intro-toast,.need-tip){top:calc(var(--top-centre,calc(var(--safe-top,0px) + var(--hud-bar,0px) + .4rem)) + var(--next-step-height,0px) + 3.2rem)}:root[data-layout=landscape] :is(.intro-toast,.need-tip){max-width:var(--top-centre-width)}:root:is([data-layout=tablet],[data-layout=desktop]) .modal-backdrop{padding-top:calc(var(--safe-top,0px) + 3.25rem);padding-bottom:max(var(--keyboard-inset,0px), calc(var(--safe-bottom,0px) + .5rem))}:root:is([data-layout=tablet],[data-layout=desktop]) .modal-backdrop>.panel:not(.paint-panel,.map-panel){max-height:calc(100% - 3rem);overflow-y:auto}:root[data-layout=tablet] .decorate-panel{max-height:calc(100% - var(--safe-top,0px) - 2.25rem - 2 * 58px - 3rem - 2rem - var(--safe-bottom,0px))}.agree-terms{flex-direction:row;align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.agree-terms input{width:auto;margin-top:.2rem}.agree-links{flex-wrap:wrap;gap:.4rem 1rem;margin:0;font-size:.85rem;display:flex}.terms-gate{z-index:var(--z-system);background:#1d1a3f8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.terms-gate .panel{flex-direction:column;gap:.75rem;max-width:28rem;display:flex}.safety-heading{margin:.5rem 0 .25rem;font-size:.95rem}.blocked-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.blocked-list li{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.safety-links{gap:1rem;font-size:.85rem;display:flex}.field{border:0;flex-direction:column;gap:.3rem;min-width:0;margin:0;padding:0;display:flex}.field legend{margin-bottom:.3rem;padding:0}.password-row,.birth-row{gap:.4rem;display:flex}.password-row input,.birth-row select{flex:1;min-width:0}.show-password{flex:none;align-items:center;gap:.25rem;display:inline-flex}.panel input[aria-invalid=true],.panel select[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--error)}.field-error{color:var(--error);font-size:.85rem}.caps-hint{font-weight:700}.panel .notice{margin:0;font-size:.9rem}.forgot-password{align-self:flex-start;font-size:.85rem}.social-sign-in{text-align:center;flex-direction:column;gap:.4rem;display:flex}.social-button{font-weight:700}.social-button.apple{color:#fff;background:#000}.social-button.google{color:var(--ink);background:#fff;box-shadow:inset 0 0 0 1.5px #747775}.ink-day,.w3d-labels,.w3d-overlay{--rb-mustard:#f4b416;--rb-pink:#ff7aa2;--rb-teal:#00737c;--rb-cobalt:#2d4fd6;--rb-terra:#e05a2b;--rb-paper:var(--rb-paper-raw);--rb-paper-sunk:#eadfc6;--rb-ink:var(--rb-navy-raw);--rb-ink-soft:#4a4560;--rb-dock:var(--rb-navy-raw);--rb-print-ink:var(--rb-pink);--rb-print-ink-2:var(--rb-cobalt);--rb-link:var(--rb-cobalt);--rb-grain-opacity:.45;--rb-focus:0 0 0 3px var(--rb-paper-raw), 0 0 0 6px var(--rb-navy-raw);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,.ink-day,.w3d-labels,.w3d-overlay{--fill-cobalt:#2d4fd6;--fill-teal:#00737c;--fill-terra:#a8321a;--fill-navy:#1d1a3f;--surface:var(--rb-paper);--surface-raised:#fdf8ec;--surface-sunk:var(--rb-paper-sunk);--surface-sunk-2:#dccfb1;--ink:var(--rb-ink);--ink-soft:var(--rb-ink-soft);--ink-muted:#5f5a73;--rule:var(--rb-ink);--line:#1d1a3f33;--line-strong:#1d1a3f6b;--azulejo:var(--fill-cobalt);--azulejo-900:var(--rb-navy-raw);--azulejo-700:#2440b0;--azulejo-400:#6f86e6;--azulejo-200:color-mix(in srgb, var(--rb-cobalt) 32%, var(--surface));--azulejo-100:color-mix(in srgb, var(--rb-cobalt) 17%, var(--surface));--azulejo-50:color-mix(in srgb, var(--rb-cobalt) 9%, var(--surface));--terracotta:var(--rb-terra);--terracotta-700:#a8321a;--terracotta-100:color-mix(in srgb, var(--rb-terra) 18%, var(--surface));--port:var(--fill-terra);--port-700:#8f2814;--port-500:#c8452a;--port-100:color-mix(in srgb, var(--rb-terra) 20%, var(--surface));--douro:var(--fill-teal);--douro-700:#005c63;--douro-100:color-mix(in srgb, var(--rb-teal) 17%, var(--surface));--gold:var(--rb-mustard);--gold-700:#7a5310;--gold-100:color-mix(in srgb, var(--rb-mustard) 30%, var(--surface));--pink-700:#a3205f;--pink-100:color-mix(in srgb, var(--rb-pink) 22%, var(--surface));--granite-900:var(--ink);--granite-700:var(--ink-soft);--granite-500:var(--ink-muted);--granite-300:#a49eb4;--granite-200:#d6cfdf;--cream-0:var(--surface-raised);--cream-50:var(--surface);--cream:var(--surface);--cream-200:var(--surface-sunk);--cream-300:var(--surface-sunk-2);--paper:var(--surface);--ok:var(--douro-700);--error:var(--rb-error-ink);--glass:var(--surface);--glass-edge:var(--rule);--glass-dark:var(--rb-dock);--glass-dark-edge:#f6eedd66;--font-display:var(--rb-font-text);--font-ui:var(--rb-font-text);--font-poster:var(--rb-font-display);--r-xs:2px;--r-sm:3px;--r-md:3px;--r-lg:4px;--r-xl:4px;--r-pill:999px;--print-plate:#1d1a3fe0;--shadow-1:2px 2px 0 var(--line-strong);--shadow-2:3px 3px 0 var(--print-plate);--shadow-3:var(--rb-print-card);--lip:var(--rb-print-sm);--lip-pressed:1px 1px 0 var(--rb-print-ink);--focus-ring:var(--rb-focus);--grain-tile:url(/textures/grain.png);--tap:44px;font-family:var(--font-ui);font-weight:500}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--surface-raised:#2c2860;--surface-sunk-2:#120f2e;--ink-muted:#a9a2c8;--line:#f6eedd2e;--line-strong:#f6eedd61;--azulejo-900:var(--rb-paper-raw);--azulejo-700:#aab7ff;--azulejo-400:#8396ff;--terracotta-700:#ff9b7a;--port-700:#ffa184;--port-500:#f07a4e;--douro-700:#6fd6cf;--gold-700:#f7c140;--pink-700:#ff8fb2;--granite-300:#6e6898;--granite-200:#3a3570;--error:#ffa184;--azulejo-200:color-mix(in srgb, var(--rb-cobalt) 34%, var(--surface));--azulejo-100:color-mix(in srgb, var(--rb-cobalt) 22%, var(--surface));--azulejo-50:color-mix(in srgb, var(--rb-cobalt) 12%, var(--surface));--terracotta-100:color-mix(in srgb, var(--rb-terra) 24%, var(--surface));--port-100:color-mix(in srgb, var(--rb-terra) 24%, var(--surface));--douro-100:color-mix(in srgb, #1fa7a0 26%, var(--surface));--gold-100:color-mix(in srgb, var(--rb-mustard) 22%, var(--surface));--glass-dark-edge:#f6eedd73;--print-plate:#0000008c;--focus-ring:0 0 0 3px var(--rb-navy-raw), 0 0 0 6px var(--rb-mustard)}}body{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon{vertical-align:-.25em;flex:none;width:1.25em;height:1.25em}button,.btn{border-radius:var(--r-sm);background:var(--ink);color:var(--surface);font-family:var(--font-ui);box-shadow:var(--lip);cursor:pointer;transition:translate var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);border:0;padding:.5rem 1.05rem;font-weight:750;line-height:1.2}button>.icon:first-child:not(:only-child){margin-inline-end:.4em}.btn,button.chip,button.link,summary.chip,.icon-btn,.row-tap{justify-content:center;align-items:center;gap:.45em;display:inline-flex}.btn>.icon:first-child:not(:only-child),button.chip>.icon:first-child:not(:only-child),button.link>.icon:first-child:not(:only-child),.icon-btn>.icon:first-child:not(:only-child),.row-tap>.icon:first-child:not(:only-child){margin:0}button:not(:disabled):hover{filter:none;translate:-1px -1px}button:not(:disabled):active,.pressing{filter:none;box-shadow:var(--lip-pressed);translate:2px 2px;scale:1}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{box-shadow:var(--focus-ring);outline:none}button:disabled{background:var(--surface-sunk);color:var(--ink-muted);box-shadow:inset 0 0 0 1.5px var(--line-strong);opacity:1;cursor:not-allowed;filter:none}button.secondary,.btn-outline{background:var(--surface-raised);color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule)}button.secondary:not(:disabled):active,.btn-outline:not(:disabled):active{background:var(--surface-sunk);box-shadow:inset 0 0 0 2px var(--rule)}button.secondary:disabled{background:var(--surface-sunk);box-shadow:inset 0 0 0 1.5px var(--line-strong)}.btn-danger,button.danger{background:var(--fill-terra);color:var(--rb-paper-raw)}.btn-good{background:var(--fill-teal);color:var(--rb-paper-raw)}.btn-gold{background:var(--rb-mustard);color:var(--rb-navy-raw);box-shadow:3px 3px 0 var(--rb-navy-raw)}.btn-wide{width:100%}button.chip,button.link,summary.chip{border-radius:var(--r-pill);background:var(--surface-raised);min-height:32px;color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule);vertical-align:middle;align-items:center;gap:.35em;padding:.25rem .8rem;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}button.chip:not(:disabled):hover,button.link:not(:disabled):hover{background:var(--azulejo-50);translate:none}button.chip:not(:disabled):active,button.link:not(:disabled):active{background:var(--azulejo-100);box-shadow:inset 0 0 0 2px var(--rule);translate:none}button.chip:focus-visible,button.link:focus-visible{box-shadow:inset 0 0 0 2px var(--rule), var(--focus-ring)}button.chip[aria-pressed=true],button.link[aria-pressed=true]{background:var(--ink);color:var(--surface);box-shadow:inset 0 0 0 2px var(--rule)}button.chip:disabled,button.link:disabled{background:var(--surface-sunk);color:var(--ink-muted);box-shadow:inset 0 0 0 1.5px var(--line-strong)}button.chip.danger,button.link.danger{background:var(--port-100);color:var(--port-700);box-shadow:inset 0 0 0 2px var(--port-700)}button.chip.on-dark,.on-dark button.chip,.on-dark button.link{color:var(--rb-paper-raw);box-shadow:inset 0 0 0 2px var(--rb-paper-raw);background:0 0}button.chip.on-glass{background:var(--glass);min-height:36px;color:var(--ink);box-shadow:inset 0 0 0 2px var(--glass-edge), var(--shadow-2)}button.chip.on-glass[aria-expanded=true]{background:var(--ink);color:var(--surface)}.chip .icon,.link .icon{width:1.1em;height:1.1em}.icon-btn{min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-sm);background:var(--glass);color:var(--ink);box-shadow:inset 0 0 0 2px var(--glass-edge), var(--shadow-2);flex-direction:column;gap:2px;padding:0;position:relative}.icon-btn .icon{width:22px;height:22px}.icon-btn.round{border-radius:50%}.icon-btn.captioned{min-width:58px;min-height:54px;padding:6px 6px 5px}.icon-btn-caption{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:76px;color:var(--ink-soft);font-size:.68rem;font-weight:800;overflow:hidden}.icon-btn:not(:disabled):hover{background:var(--surface-raised);color:var(--ink)}.icon-btn:not(:disabled):active{box-shadow:inset 0 0 0 2px var(--glass-edge), 1px 1px 0 var(--print-plate)}.icon-btn:focus-visible{box-shadow:inset 0 0 0 2px var(--glass-edge), var(--focus-ring)}.icon-btn[aria-pressed=true],.icon-btn[aria-expanded=true]{background:var(--ink);color:var(--surface);box-shadow:inset 0 0 0 2px var(--glass-edge), var(--rb-print-sm)}.icon-btn[aria-pressed=true] .icon-btn-caption,.icon-btn[aria-expanded=true] .icon-btn-caption{color:var(--surface)}.icon-btn.dark{background:var(--glass-dark);color:var(--rb-paper-raw);box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2)}.icon-btn-dot{background:var(--rb-terra);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:5px;right:6px}.card{border-radius:var(--r-sm);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong);flex-direction:column;gap:.5rem;padding:.75rem .9rem;display:flex}.card>h3,.card-title{font-family:var(--font-ui);color:var(--ink);align-items:center;gap:.45rem;margin:0;font-size:1rem;font-weight:800;display:flex}.card-title .icon{color:var(--azulejo-700)}.card p{margin:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:.6rem;display:grid}.panel-title{align-items:center;gap:.65rem;display:flex}.panel-title-icon{border-radius:var(--r-sm);background:var(--fill-cobalt);width:2.1rem;height:2.1rem;color:var(--rb-paper-raw);box-shadow:var(--rb-mis-x) var(--rb-mis-y) 0 var(--rb-print-ink);rotate:var(--rb-tilt);flex:none;justify-content:center;align-items:center;display:inline-flex}.panel-title-icon .icon{width:1.25rem;height:1.25rem}.panel-title-icon.tone-terracotta{background:var(--rb-terra);color:var(--rb-navy-raw)}.panel-title-icon.tone-port{background:var(--fill-terra)}.panel-title-icon.tone-douro{background:var(--fill-teal)}.panel-title-icon.tone-gold{background:var(--rb-mustard);color:var(--rb-navy-raw)}.row-tap{border-radius:var(--r-sm);background:var(--surface-raised);width:100%;min-height:52px;color:var(--ink);text-align:left;box-shadow:inset 0 0 0 1.5px var(--line-strong);justify-content:flex-start;align-items:center;gap:.65rem;padding:.55rem .75rem;font-weight:700;display:flex}.row-tap:not(:disabled):hover{background:var(--azulejo-50);box-shadow:inset 0 0 0 2px var(--rule);translate:none}.row-tap:not(:disabled):active{background:var(--azulejo-100);box-shadow:inset 0 0 0 2px var(--rule);translate:none}.row-tap>.icon:first-child{color:var(--azulejo-700)}.row-tap-body{flex-direction:column;flex:1;min-width:0;display:flex}.row-tap-body small{color:var(--ink-muted);font-weight:600}.row-tap>.icon:last-child{color:var(--ink-muted)}.seg{border-radius:var(--r-sm);background:var(--surface-sunk);box-shadow:inset 0 0 0 2px var(--rule);flex-wrap:wrap;gap:3px;padding:3px;display:flex}.seg>button{border-radius:var(--r-xs);min-height:36px;color:var(--ink-soft);box-shadow:none;background:0 0;flex:auto;padding:.3rem .75rem;font-size:.88rem;font-weight:800}.seg>button:not(:disabled):hover{background:var(--surface-raised);translate:none}.seg>button:not(:disabled):active{box-shadow:none;translate:none}.seg>button[aria-pressed=true],.seg>button[aria-selected=true],.seg>button.chosen{background:var(--ink);color:var(--surface);box-shadow:none}.seg>button:disabled:not([aria-pressed=true]){color:var(--ink-muted);box-shadow:none;background:0 0;text-decoration:line-through}.meter{align-items:center;gap:.4rem;display:flex}.meter-icon{border-radius:var(--r-sm);background:var(--douro-100);width:1.55rem;height:1.55rem;color:var(--douro-700);flex:none;justify-content:center;align-items:center;display:inline-flex}.meter-icon .icon{width:.95rem;height:.95rem}.meter-bar{background:var(--surface-sunk);height:.6rem;box-shadow:inset 0 0 0 1.5px var(--rule);border-radius:0;flex:1;position:relative;overflow:hidden}.meter-bar>span{background:var(--rb-teal);height:100%;box-shadow:inset -2px 0 0 var(--rule);transition:width .5s var(--ease-out);border-radius:0;display:block}.meter.mid .meter-icon{background:var(--gold-100);color:var(--gold-700)}.meter.mid .meter-bar>span{background:var(--rb-ochre)}.meter.low .meter-icon{background:var(--fill-terra);color:var(--rb-paper-raw)}.meter.low .meter-bar>span{background:repeating-linear-gradient(-45deg, var(--fill-terra) 0 3px, var(--rb-terra) 3px 6px)}.pill{border-radius:var(--r-pill);background:var(--surface-sunk);color:var(--ink-soft);white-space:nowrap;box-shadow:inset 0 0 0 1.5px var(--line-strong);align-items:center;gap:.3em;padding:.12rem .55rem;font-size:.78rem;font-weight:800;line-height:1.35;display:inline-flex}.pill .icon{width:1em;height:1em}.pill.good{background:var(--douro-100);color:var(--douro-700);box-shadow:inset 0 0 0 1.5px var(--douro-700)}.pill.bad{background:var(--port-100);color:var(--port-700);box-shadow:inset 0 0 0 1.5px var(--port-700)}.pill.warn{background:var(--terracotta-100);color:var(--terracotta-700);box-shadow:inset 0 0 0 1.5px var(--terracotta-700)}.pill.info{background:var(--azulejo-100);color:var(--azulejo-700);box-shadow:inset 0 0 0 1.5px var(--azulejo-700)}.lock-badge{border-radius:var(--r-pill);background:var(--fill-navy);color:var(--rb-paper-raw);white-space:nowrap;box-shadow:0 0 0 1.5px var(--rb-paper-raw);align-items:center;gap:.25em;padding:.1rem .5rem .1rem .35rem;font-size:.75rem;font-weight:800;line-height:1.4;display:inline-flex}.lock-badge .icon{color:#f7c140;width:.95em;height:.95em}.money-chip{border-radius:var(--r-pill);background:var(--rb-mustard);color:var(--rb-navy-raw);font-family:var(--font-ui);font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:inset 0 0 0 1.5px var(--rb-navy-raw);align-items:center;gap:.3em;padding:.12rem .6rem .12rem .3rem;font-weight:800;line-height:1.35;display:inline-flex}.money-chip .icon{width:1.1em;height:1.1em;color:var(--rb-navy-raw)}button .money-chip{background:var(--rb-mustard);box-shadow:none}button:disabled .money-chip{color:var(--ink-muted);box-shadow:inset 0 0 0 1.5px var(--line-strong);background:0 0}button:disabled .money-chip .icon{color:var(--ink-muted)}.ticker{font-variant-numeric:tabular-nums}.mood-face{width:1.9rem;height:1.9rem;color:var(--rb-paper-raw);box-shadow:1.5px 1.5px 0 var(--rb-navy-raw);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.mood-face .icon{stroke-width:2.2px;width:72%;height:72%}.mood-face-great{background:var(--fill-teal)}.mood-face-fine{background:var(--fill-cobalt)}.mood-face-tense{background:var(--rb-ochre);color:var(--rb-navy-raw)}.mood-face-miserable{background:var(--fill-terra)}.keycap{border-radius:var(--r-sm);background:var(--surface-raised);min-width:1.9em;height:1.9em;color:var(--ink);font-family:var(--font-ui);white-space:nowrap;box-shadow:inset 0 0 0 1.5px var(--rule), inset 0 -3px 0 var(--line-strong);justify-content:center;align-items:center;padding:0 .45em;font-size:.85rem;font-weight:800;line-height:1;display:inline-flex}.keycap-group{flex-wrap:wrap;gap:3px;display:inline-flex}.touch-glyph{background:var(--fill-navy);width:2.4rem;height:2.4rem;color:var(--rb-paper-raw);box-shadow:inset 0 0 0 2px var(--rb-paper-raw);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.touch-glyph .icon{width:1.2rem;height:1.2rem}@media (prefers-reduced-motion:reduce){button,.btn,.meter-bar>span{transition:none}button:not(:disabled):hover,button:not(:disabled):active,.pressing{translate:none}}@media (pointer:coarse){.btn,button.chip,button.link,summary.chip,.seg>button{min-height:var(--tap)}}@media (hover:none){button:not(:disabled):hover{translate:none}}.title-corner{flex:none;align-items:center;gap:.5rem;display:flex}.language-stamps{gap:.35rem;display:flex}.title .stamp{width:var(--rb-tap);height:var(--rb-tap);background:var(--rb-paper-raw);color:var(--rb-navy-raw);font-family:var(--rb-font-text);font-size:var(--rb-step--2);letter-spacing:.04em;box-shadow:inset 0 0 0 2.5px var(--rb-navy-raw);border-radius:50%;place-items:center;padding:0;font-weight:800;transition:none;display:grid}.title .stamp[aria-pressed=true]{background:var(--rb-mustard);box-shadow:none}.title .stamp:not(:disabled):hover{filter:none;background:#fff8e8}.title .stamp[aria-pressed=true]:not(:disabled):hover{background:var(--rb-mustard)}.title .stamp:not(:disabled):active{filter:none;scale:.94}.title-dock :is(button,select,a):focus-visible{box-shadow:var(--rb-focus-on-dark);outline:none}.title-dock button.chip{min-height:var(--rb-tap);border-radius:var(--rb-r-pill);color:var(--rb-on-dock);font-family:var(--rb-font-text);box-shadow:inset 0 0 0 2px var(--rb-on-dock);background:0 0;padding:0 .9rem;font-weight:800}.title-dock button.chip:not(:disabled):hover{background:#f6eedd24}.title-dock .badge{border-radius:var(--rb-r-1);background:var(--rb-paper-raw);color:var(--rb-navy-raw)}.title-dock .language-picker{color:var(--rb-on-dock)}.title-dock .language-picker select{min-height:var(--rb-tap);border:2px solid var(--rb-on-dock);border-radius:var(--rb-r-1);background:var(--rb-dock);color:var(--rb-on-dock)}.title.form-open .title-dock{max-width:calc(50vw - var(--safe-l) - 2rem)}.title .panel{box-sizing:border-box;border:var(--rb-border);border-radius:var(--rb-r-1);background:var(--rb-paper);width:100%;color:var(--rb-ink);font-family:var(--rb-font-text);box-shadow:var(--rb-print-card);-webkit-backdrop-filter:none;margin:0 0 1.1rem;padding:1.3rem 1.3rem 1.4rem}.title .panel+.panel{margin-top:.4rem}.title .panel h2,.title .panel h3{font-family:var(--rb-font-display);letter-spacing:.005em;color:var(--rb-terra);font-weight:400}.title .panel h2{font-size:var(--rb-step-2);line-height:1}.title .panel .hint{opacity:1;color:var(--rb-ink-soft)}.title .panel.sign-in,.terms-gate .panel{isolation:isolate;color:var(--rb-on-card);box-shadow:none;background:0 0;border:0}.title .panel.sign-in:before,.terms-gate .panel:before,.title .panel.sign-in:after,.terms-gate .panel:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0;rotate:1deg}.title .panel.sign-in:before,.terms-gate .panel:before{background:var(--rb-card);box-shadow:var(--rb-print-card)}.title .panel.sign-in:after,.terms-gate .panel:after{background:var(--rb-grain);background-size:var(--rb-grain-size);opacity:calc(var(--rb-grain-opacity) * .4)}.title .panel.sign-in h2,.terms-gate .panel h2{font-family:var(--rb-font-display);font-size:var(--rb-step-3);color:var(--rb-card-heading);margin-bottom:.15rem;font-weight:400;line-height:1}.title .panel.sign-in .hint,.terms-gate .panel .hint{color:var(--rb-on-card)}.title .panel .field>label,.title .panel .field>legend,.terms-gate .panel .field>label,.terms-gate .panel .field>legend{font-size:var(--rb-step--2);letter-spacing:var(--rb-label-tracking);text-transform:uppercase;font-weight:800}.title .panel input:not([type=radio],[type=checkbox],[type=range]),.title .panel select,.terms-gate .panel input:not([type=radio],[type=checkbox],[type=range]),.terms-gate .panel select{min-height:var(--rb-tap);box-sizing:border-box;border-radius:var(--rb-r-1);background:var(--rb-field);color:var(--rb-on-field);font-family:var(--rb-font-text);box-shadow:inset 0 0 0 2px var(--rb-navy-raw);padding:.5rem .75rem;font-size:1rem;font-weight:500}.title .panel input:focus-visible,.title .panel select:focus-visible,.terms-gate .panel input:focus-visible,.terms-gate .panel select:focus-visible{box-shadow:inset 0 0 0 2px var(--rb-navy-raw), var(--rb-focus);outline:none}.title .panel input[aria-invalid=true],.title .panel select[aria-invalid=true],.terms-gate .panel input[aria-invalid=true],.terms-gate .panel select[aria-invalid=true]{box-shadow:inset 0 0 0 3px var(--rb-error-ink)}.title .panel input[type=checkbox],.terms-gate .panel input[type=checkbox]{width:1.3rem;height:1.3rem;accent-color:var(--rb-mustard)}.title .panel .field-error,.title .panel .error,.terms-gate .panel .field-error,.terms-gate .panel .error{border-radius:var(--rb-r-0);background:var(--rb-error-bg);color:var(--rb-error-ink);font-size:var(--rb-step--1);align-self:flex-start;margin:0;padding:.2rem .5rem;font-weight:700}.title .panel .notice,.terms-gate .panel .notice,.title .panel .caps-hint{background:var(--rb-mustard);color:var(--rb-navy-raw);opacity:1;align-self:flex-start;padding:.2rem .5rem;font-weight:700}.title .panel button[type=submit],.terms-gate .panel button:not(.chip,.link),.title .title-message>button{min-height:var(--rb-tap);border-radius:var(--rb-r-pill);background:var(--rb-accent);color:var(--rb-on-accent);font-family:var(--rb-font-display);font-size:var(--rb-step-1);box-shadow:5px 4px 0 var(--rb-navy-raw);align-self:flex-start;margin:.35rem 6px 5px 0;padding:.65em 1.25em .55em;font-weight:400;line-height:1}.title .panel:not(.sign-in) button[type=submit],.title .title-message>button{box-shadow:var(--rb-print)}.title .panel button[type=submit]:not(:disabled):hover,.terms-gate .panel button:not(.chip,.link):not(:disabled):hover{filter:none;translate:-1px -1px}.title .panel button[type=submit]:not(:disabled):active,.terms-gate .panel button:not(.chip,.link):not(:disabled):active{filter:none;box-shadow:2px 1px 0 var(--rb-navy-raw);translate:3px 3px;scale:1}.title .panel button[type=submit]:focus-visible,.terms-gate .panel button:not(.chip,.link):focus-visible,.title .title-message>button:focus-visible{box-shadow:var(--rb-focus), 9px 8px 0 var(--rb-navy-raw)}.title .panel button[type=submit]:disabled,.terms-gate .panel button:not(.chip,.link):disabled{background:var(--rb-accent);color:var(--rb-on-accent);box-shadow:none;filter:none;opacity:.55}.title .panel.sign-in button.chip,.title .panel.sign-in button.link,.terms-gate .panel button.chip,.terms-gate .panel button.link{min-height:var(--rb-tap);border-radius:var(--rb-r-0);color:var(--rb-on-card);font-family:var(--rb-font-text);text-underline-offset:4px;box-shadow:none;background:0 0;align-self:flex-start;padding:0 .15rem;font-size:.95rem;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.title .panel.sign-in button.chip:not(:disabled):hover,.title .panel.sign-in button.link:not(:disabled):hover,.terms-gate .panel button.chip:not(:disabled):hover,.terms-gate .panel button.link:not(:disabled):hover{color:var(--rb-card-heading);background:0 0}.title .panel button.chip.show-password,.title .panel.sign-in button.chip.show-password,.terms-gate .panel button.chip.show-password{min-height:var(--rb-tap);border-radius:var(--rb-r-1);background:var(--rb-paper-raw);color:var(--rb-navy-raw);box-shadow:inset 0 0 0 2px var(--rb-navy-raw);align-self:stretch;padding:0 .7rem;text-decoration:none}.title .panel.sign-in button.chip.show-password:not(:disabled):hover,.terms-gate .panel button.chip.show-password:not(:disabled):hover{color:var(--rb-navy-raw);background:#fff8e8}.title .panel :is(button,a):focus-visible,.terms-gate .panel :is(button,a):focus-visible{box-shadow:var(--rb-focus);outline:none}.title .panel.sign-in a,.terms-gate .panel a{color:var(--rb-on-card);text-underline-offset:3px;font-weight:700;text-decoration-thickness:2px}.title .panel .agree-terms{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:600}.title .panel .agree-links a,.terms-gate .panel .agree-links a{min-height:var(--rb-tap);align-items:center;display:inline-flex}.title .panel .social-sign-in .hint{color:inherit}.title .panel button.social-button{min-height:var(--rb-tap);border-radius:var(--rb-r-1);font-family:var(--rb-font-text)}.title .privacy-link{background:var(--rb-paper);color:var(--rb-ink);font-size:var(--rb-step--1);box-shadow:3px 3px 0 var(--rb-navy-raw);flex-wrap:wrap;align-self:flex-start;align-items:center;gap:0 .4rem;margin:0 0 1rem;padding:.1rem .6rem;font-weight:600;display:flex}.title .privacy-link a,.title .privacy-link button.link{min-height:var(--rb-tap);color:var(--rb-ink);text-underline-offset:3px;box-shadow:none;background:0 0;align-items:center;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;display:inline-flex}.title .server-field{box-sizing:border-box;background:var(--rb-paper);max-width:none;color:var(--rb-ink);box-shadow:3px 3px 0 var(--rb-navy-raw);margin:0 0 1rem;padding:.6rem .75rem}.title-message{text-align:start;align-items:flex-start}.terms-gate{background:#1d1a3f9e;overflow-y:auto}.terms-gate .panel{width:min(28rem,100% - 2rem);font-family:var(--rb-font-text);margin:1rem auto;padding:1.4rem 1.4rem 1.5rem}.next-step{box-sizing:border-box;border-radius:var(--r-sm);background:var(--glass);max-width:100%;box-shadow:inset 0 5px 0 var(--fill-teal), inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem .5rem;padding:.5rem .7rem;font-size:.9rem;line-height:1.3;display:grid}.next-step button{min-height:0;box-shadow:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.next-step .next-step-level{color:var(--azulejo-700);white-space:nowrap;grid-column:1/-1;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.next-step-bar{background:var(--cream-200);width:5.5rem;height:6px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:0;flex:0 0 5.5rem;display:block;overflow:hidden}.next-step-bar>span{border-radius:inherit;background:var(--rb-mustard);height:100%;display:block}.next-step-text{min-width:0}.next-step-label{color:var(--azulejo-700);margin-right:.2rem;font-weight:800}.next-step-label:before{vertical-align:-.2em;width:1.15em;height:1.15em;-webkit-mask:var(--icon-compass) center / contain no-repeat;-webkit-mask:var(--icon-compass) center / contain no-repeat;mask:var(--icon-compass) center / contain no-repeat;content:"";background:currentColor;margin-right:.3em;display:inline-block}:root{--icon-compass:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 16l2 -6l6 -2l-2 6l-6 2M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0M12 3l0 2M12 19l0 2M3 12l2 0M19 12l2 0'/></svg>")}.next-step-count{opacity:.7;font-variant-numeric:tabular-nums}.next-step .next-step-show{border-radius:var(--r-sm);background:var(--ink);color:var(--surface);box-shadow:var(--lip);padding:.2rem .65rem;font-size:.8rem;font-weight:800}.hud-next-step .next-step{box-shadow:none;color:inherit;font-size:inherit;background:0 0;border:0;border-radius:0;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:0;display:flex}.hud-next-step .next-step .next-step-level{color:#f7c140;flex:none}.hud-next-step .next-step-bar{width:3rem;box-shadow:none;background:#f6eedd40;flex-basis:3rem}.hud-next-step .next-step-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.hud-next-step .next-step-label{color:#f7c140}.hud-next-step .next-step .next-step-show{background:var(--rb-mustard);min-height:28px;color:var(--rb-navy-raw);box-shadow:inset 0 0 0 1.5px var(--rb-navy-raw);flex:none}@media (width<=760px),(height<=520px) and (pointer:coarse){.hud-next-step .next-step .next-step-level{display:none}.hud-next-step .next-step-label{font-size:0}.hud-next-step .next-step-label:before{width:1.1rem;height:1.1rem}.hud-next-step .next-step .next-step-show{padding:.1rem .45rem;font-size:.75rem}}.story-confetti{pointer-events:none;width:100%;height:100%;z-index:var(--z-celebration);position:fixed;inset:0}.story-toasts{top:calc(var(--top-centre,env(safe-area-inset-top,0px) + .75rem) + var(--next-step-height,0px) + 3rem);pointer-events:none;z-index:var(--z-toast);flex-direction:column;align-items:center;gap:.3rem;margin:0;padding:0;list-style:none;display:flex;position:fixed;left:50%;transform:translate(-50%)}.story-toasts li{border-radius:var(--r-sm);background:var(--fill-cobalt);color:var(--rb-paper-raw);box-shadow:inset 0 0 0 2px var(--rb-navy-raw), 3px 3px 0 var(--rb-print-ink);animation:story-pop var(--motion-slow) var(--ease-back);padding:.35rem .9rem;font-size:.85rem;font-weight:800}.story-toasts li.big{background:var(--rb-mustard);color:var(--rb-navy-raw);font-family:var(--font-poster);rotate:var(--rb-tilt);font-size:1.15rem;font-weight:400}@keyframes story-pop{0%{opacity:0;transform:translateY(-6px)scale(.92)}}.story-unlock{box-sizing:border-box;text-align:left;max-width:30rem;max-height:calc(100dvh - 4rem);overflow-y:auto}.story-unlock-kicker{color:var(--azulejo-700);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.story-unlock h2{margin:.1rem 0 0}.story-unlock-gloss{opacity:.75;margin:0 0 .5rem}.story-unlock h3{margin:.6rem 0 .3rem;font-size:.95rem}.story-unlock-card{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 4px 0 0 var(--gold), inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);margin:0 0 .5rem;padding:.6rem .8rem}.story-unlock-card h4{margin:0 0 .2rem}.story-unlock-card p{margin:.2rem 0}.story-unlock-todo{font-size:.9rem}.locked-note{border-radius:var(--r-md);background:var(--cream-200);color:var(--granite-700);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:.4rem 0;padding:.5rem .7rem;font-size:.85rem;font-weight:700;display:flex}.locked-note-icon{background:var(--fill-navy);color:#f7c140;border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;display:inline-flex}.locked-note-icon .icon{width:.95rem;height:.95rem}.journal-panel{box-sizing:border-box;max-width:34rem;max-height:calc(100dvh - 4rem);overflow-y:auto}.journal-rep{flex-wrap:wrap;align-items:center;gap:.2rem .5rem;display:flex}.journal-rep small{opacity:.75;flex-basis:100%}.journal-gloss{opacity:.7}.journal-bar{width:8rem}.journal-chapter{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);margin:0 0 .6rem;padding:.65rem .85rem}.journal-chapter.locked{opacity:.55}.journal-chapter h3,.journal-path h3{margin:0;font-size:1rem}.journal-chapter h3 small,.journal-path h3 small{opacity:.7;font-weight:400}.journal-tag{background:var(--cream-200);white-space:nowrap;border-radius:999px;margin-left:.4rem;padding:.05rem .5rem;font-size:.75rem;font-weight:800}.journal-tag.ok{background:var(--douro-100);color:var(--douro-700)}.journal-said{margin:.3rem 0;font-style:italic}.journal-goals{margin:.3rem 0;padding:0;list-style:none}.journal-goals>li{border-bottom:1px dashed var(--line);align-items:baseline;gap:.5rem;padding:.35rem 0;display:flex}.journal-goals>li:last-child{border-bottom:0}.journal-goals>li.done{color:var(--ok)}.journal-goal{flex:1;min-width:0}.journal-hint{opacity:.7;display:block}.journal-count{opacity:.7;font-variant-numeric:tabular-nums}.journal-bonus,.journal-ok{margin:.2rem 0;font-size:.85rem}.journal-ok{color:var(--ok);font-weight:600}.journal-streak{margin:.5rem 0;font-weight:600}.journal-streak small{opacity:.7;font-weight:400}.journal-happening{border-radius:var(--r-lg);background:var(--azulejo-50);box-shadow:inset 0 0 0 1px var(--azulejo-100);padding:.6rem .8rem}.journal-happening p{margin:.2rem 0 .4rem}.journal-path{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);border:2px solid #0000;margin:0 0 .6rem;padding:.6rem .8rem}.journal-path.chosen{border-color:var(--azulejo)}.journal-path p{margin:.2rem 0}.journal-levels ol{margin:0;padding:0;list-style:none}.journal-levels ol>li{opacity:.65;margin:0 0 .4rem}.journal-levels ol>li.reached{opacity:1}.journal-levels ul{margin:.1rem 0 0;padding-left:1.2rem}.story-line-role{opacity:.85;margin:0 0 .4rem;font-size:.85rem}.story-line-said{border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 4px;background:var(--azulejo-50);box-shadow:inset 0 0 0 1px var(--azulejo-100);margin:0 0 .6rem;padding:.55rem .8rem}.story-line-said small{color:var(--azulejo-700);font-weight:700}.story-line-said p{margin:.2rem 0 0;font-style:italic}.quest-web-place h3 small{font-weight:400;display:block}.quest-web-quest.locked{opacity:.75}.quest-web-leads{color:var(--douro-700)}.events-panel{box-sizing:border-box;width:min(42rem,100% - 2rem);max-height:calc(100% - 4rem);overflow-y:auto}.events-panel h3{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.events-panel h4{margin:.4rem 0 0}.events-empty{color:var(--ink-muted)}.events-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.event-row{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-raised);width:100%;color:var(--ink);text-align:left;align-items:center;gap:.75rem;padding:.6rem .7rem;font-weight:400;display:flex}.event-row:hover{border-color:var(--azulejo)}.event-main{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.event-main strong{overflow-wrap:anywhere}.event-main small,.event-side small{color:var(--ink-muted)}.event-side{flex-direction:column;flex:none;align-items:flex-end;gap:.25rem;display:flex}.event-kind{background:var(--surface-sunk);color:var(--ink);white-space:nowrap;border-radius:999px;flex:none;padding:.15rem .45rem;font-size:.75rem;font-weight:700}.event-kind.kind-party,.event-kind.kind-dj{color:var(--rb-navy-raw);background:#ff7aa2}.event-kind.kind-conference,.event-kind.kind-meetup{background:var(--azulejo);color:#fff}.event-kind.kind-book_club{color:var(--rb-navy-raw);background:#e39a2c}.event-kind.kind-sports{background:var(--fill-teal);color:var(--rb-paper-raw)}.badge{background:var(--surface-raised);border:1.5px solid var(--line-strong);border-radius:4px;padding:.1rem .45rem;font-size:.8rem;font-weight:700}.badge.on{background:var(--fill-teal);border-color:var(--fill-teal);color:var(--rb-paper-raw)}.events-panel .good,.event-inside .good{color:var(--ok);font-weight:600}.events-panel .bad{color:var(--error)}.event-page{flex-direction:column;gap:.5rem;display:flex}.event-page>.link:first-child{align-self:flex-start}.event-when{margin:0;font-weight:600}.event-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.event-need{border-left:4px solid var(--gold);background:var(--gold-100);margin:0;padding:.45rem .6rem}.event-host{border-radius:var(--r-sm);background:var(--surface-sunk);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.guest-list{margin:0;padding:0;list-style:none}.guest-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.guest-list small{color:var(--ink-muted)}.inline-form,.events-panel .row,.event-inside .row,.door-card .row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-form input{flex:10rem;min-width:0}.booking-form{flex-direction:column;gap:.6rem;display:flex}.booking-form select,.booking-form textarea,.listing-report select,.host-tools select{font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-raised);padding:.4rem .5rem}.form-row{flex-wrap:wrap;gap:.6rem;display:flex}.form-row>label{flex:8rem;min-width:0}.venue-choice{border:0;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.4rem;margin:0;padding:0;display:grid}.venue-choice legend{margin-bottom:.3rem;font-weight:700}.venue-choice label{border:1px solid var(--line-strong);border-radius:var(--r-sm);flex-direction:row;align-items:flex-start;gap:.4rem;padding:.45rem .5rem;font-weight:400}.venue-choice label.chosen{border-color:var(--azulejo);background:var(--azulejo-50)}.venue-choice span{flex-direction:column;display:flex}.venue-choice small{color:var(--ink-muted)}.panel label.check{flex-direction:row;align-items:center;gap:.4rem;font-weight:400}.booking-fee{margin:0;font-weight:700}.report-link{color:var(--ink-muted);align-self:flex-start}.listing-report{flex-direction:column;gap:.4rem;display:flex}.club-next{color:var(--azulejo-700);margin:0;font-weight:600}.club-reminder{border-radius:var(--r-sm);background:var(--azulejo-50);color:var(--azulejo-700);margin:0;padding:.45rem .6rem;font-weight:600}.club-reminder.due{background:var(--gold-100);color:var(--gold-700);border-left:4px solid var(--gold)}.reminder-toggles{flex-direction:column;gap:.25rem;display:flex}.pass-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;display:grid}.pass-slot{flex-direction:column;gap:.4rem;display:flex}.pass-card{aspect-ratio:1.6;box-sizing:border-box;border-radius:var(--r-md);color:var(--rb-paper-raw);background:var(--fill-cobalt);box-shadow:inset 0 0 0 2.5px var(--rb-navy-raw), var(--rb-print);flex-direction:column;gap:.2rem;padding:.8rem .9rem;display:flex;position:relative;overflow:hidden}.pass-card:after{content:"";border:3px solid #f6eedd59;width:5rem;height:5rem;position:absolute;top:-1.5rem;right:-1.5rem;transform:rotate(45deg)}.pass-card.pass-vip{background:var(--fill-navy);color:#f7c140}.pass-card.pass-certificate{background:var(--rb-paper-raw);color:var(--rb-navy-raw);border:2px solid #e39a2c}.pass-card.level-3{box-shadow:0 0 0 2px #e39a2c, var(--rb-print)}.pass-card.status-revoked,.pass-card.status-expired{filter:grayscale(.9);opacity:.75}.pass-card header,.pass-card footer{text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;gap:.5rem;font-size:.75rem;display:flex}.pass-card footer{text-transform:none;letter-spacing:0;align-items:flex-end;margin-top:auto}.pass-title{font-family:var(--font-poster);overflow-wrap:anywhere;font-size:1.25rem;line-height:1.05}.pass-holder{font-weight:700}.pass-card code{opacity:.85;white-space:nowrap;font-size:.8rem}.pass-card .pass-status{text-align:right;font-size:.75rem}.pass-status.valid:before{content:"● ";color:#6fdc8c}.shown-pass{border-radius:var(--r-md);background:var(--surface);width:min(18rem,100% - 2rem);box-shadow:inset 0 0 0 2.5px var(--rule), var(--shadow-2);padding:.75rem;position:absolute;top:5rem;left:50%;transform:translate(-50%)}.shown-pass p{color:var(--azulejo-700);margin:0 0 .5rem;font-weight:700}.door-card{box-sizing:border-box;border-radius:var(--r-md);background:var(--surface);border-top:6px solid var(--rb-mustard);width:min(24rem,100% - 2rem);box-shadow:inset 0 0 0 2.5px var(--rule), var(--shadow-2);flex-direction:column;gap:.4rem;padding:.8rem .9rem;display:flex;position:absolute;bottom:6rem;left:50%;transform:translate(-50%)}.door-card.admitted{border-top-color:var(--ok)}.door-who{align-items:center;gap:.6rem;display:flex}.door-who>span:last-child{flex-direction:column;display:flex}.door-who small{color:var(--ink-muted)}.door-badge{background:var(--gold-100);border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-size:1.2rem;display:grid}.door-card.admitted .door-badge{background:var(--fill-teal);color:#fff;font-weight:700}.door-line{font-family:var(--font-ui);margin:0;font-size:1.05rem;font-style:italic;font-weight:600}.event-inside{box-sizing:border-box;border-radius:var(--r-md);background:var(--surface);width:min(20rem,100% - 2rem);box-shadow:inset 0 0 0 2.5px var(--rule), var(--shadow-2);flex-direction:column;gap:.4rem;padding:.7rem .8rem;display:flex;position:absolute;top:4rem;right:1rem}.event-inside header{flex-wrap:wrap;align-items:center;gap:.2rem .5rem;display:flex}.event-inside header small{width:100%;color:var(--ink-muted)}.event-announcement{border-radius:var(--r-sm);background:var(--gold-100);border-left:4px solid var(--gold);overflow-wrap:anywhere;margin:0;padding:.45rem .6rem;font-weight:600}.event-screen{object-fit:contain;background:var(--fill-navy);border-radius:4px;width:100%;max-height:9rem;display:block}.host-tools{border-top:1px solid var(--line-strong);flex-direction:column;gap:.4rem;padding-top:.4rem;display:flex}.host-tools label{flex-direction:column;gap:.2rem;font-weight:600;display:flex}.host-tools input{font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.35rem .5rem}@media (width<=760px),(height<=520px) and (pointer:coarse){.event-inside{top:auto;left:calc(var(--safe-left,0px) + .75rem);right:calc(var(--safe-right,0px) + .75rem);bottom:calc(var(--touch-bottom,16px) + var(--touch-joystick-size,140px) + 56px);gap:.3rem;width:auto;padding:.5rem .65rem;font-size:.9rem}.event-screen{display:none}.door-card,.shown-pass{bottom:calc(var(--touch-bottom,16px) + var(--touch-joystick-size,140px) + 12px)}.shown-pass{top:auto}.event-row{grid-template-columns:1fr auto;gap:.3rem .6rem;display:grid}.event-row .event-kind{grid-column:1/-1;justify-self:start}.event-side{max-width:6rem}}.play-layer{pointer-events:none;font-size:.95rem;position:absolute;inset:0}.play-layer button,.play-layer canvas,.play-drag{pointer-events:auto}.play-drag{touch-action:none;cursor:grab;position:absolute;inset:0}.play-card{border-radius:var(--r-sm);background:var(--glass-dark);min-width:min(22rem,100% - 2rem);max-width:calc(100% - 2rem);color:var(--rb-paper-raw);text-align:center;box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);padding:.55rem .9rem;position:absolute;bottom:7.5rem;left:50%;transform:translate(-50%)}.play-card p{margin:.2rem 0}.play-card-top{top:4.5rem;bottom:auto}.play-alert{background:var(--fill-terra);animation:.18s linear infinite play-shake}@keyframes play-shake{0%,to{transform:translate(-50%)}50%{transform:translate(calc(3px - 50%))}}.play-small{opacity:.9;font-size:.82rem}.play-ok{color:#6fd6cf}.play-no{color:#f7c140}.play-meter{grid-template-columns:auto 1fr;align-items:center;gap:.5rem;margin-top:.3rem;font-size:.82rem;display:grid}.play-meter-track{border-radius:var(--r-sm);background:#ffffff38;height:.65rem;position:relative;overflow:hidden}.play-meter-band{background:#1fa7a099;position:absolute;top:0;bottom:0}.play-meter-fill{background:var(--gold);height:100%;transition:width 60ms linear;position:relative}.play-meter-big{grid-template-columns:1fr;gap:.2rem;font-size:.85rem}.play-meter-big .play-meter-track{border-radius:var(--r-sm);height:1.3rem;overflow:visible}.play-meter-big .play-meter-band{border-radius:var(--r-sm);background:#1fa7a0bf;box-shadow:inset 0 0 0 2px #6fd6cf}.play-meter-big .play-meter-fill{border-radius:var(--r-sm);background:#f4b41699}.play-meter-needle{background:#fff;border-radius:2px;width:4px;margin-left:-2px;transition:left 60ms linear;position:absolute;top:-.3rem;bottom:-.3rem;box-shadow:0 0 0 1px #0006}.play-card-fishing{min-width:min(26rem,100% - 2rem)}.play-tell{background:var(--fill-cobalt)}.play-reel-hint{color:#6fd6cf;min-height:1.4em;font-size:1.05rem;font-weight:700}.play-reel-hint-ease{color:#ffa184;animation:.3s steps(2,end) infinite play-blink}.play-reel-hint-reel{color:#f7c140;animation:.3s steps(2,end) infinite play-blink}@keyframes play-blink{to{opacity:.55}}.play-progress{background:#ffffff2e;border-radius:3px;height:.35rem;margin-top:.35rem;overflow:hidden}.play-progress div{background:#aab7ff;height:100%}.play-action{background:var(--fill-cobalt);color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;min-width:7.5rem;box-shadow:var(--shadow-2);border:2px solid #fff;border-radius:999px;padding:.7rem 1.2rem;font-size:1.05rem;font-weight:700;position:absolute;bottom:3.2rem;left:50%;transform:translate(-50%)}.play-action:active{transform:translate(-50%)scale(.95)}.play-action-touch{min-width:0;padding:0;font-size:.95rem;left:auto;transform:none}.play-action-touch:active{transform:scale(.94)}.play-stop{position:absolute;top:4.5rem;right:1rem}.play-lane{border-radius:var(--r-md);background:#ffffff1f;height:2rem;margin:.4rem 0;position:relative;overflow:hidden}.play-lane-target{border:3px solid var(--rb-mustard);border-radius:50%;width:1.7rem;height:1.7rem;margin-left:-.85rem;position:absolute;top:.15rem;left:12%}.play-cue{background:#fff;border-radius:50%;width:1.2rem;height:1.2rem;margin-left:-.6rem;position:absolute;top:.4rem}.play-cue-hit{opacity:.5;background:#6fd6cf}.play-cue-double{background:#f7c140;width:.85rem;height:.85rem;margin-top:.18rem;margin-left:-.42rem}.play-cue-hold{border-radius:var(--r-md);background:linear-gradient(90deg,#fff 0 1.2rem,#ffffff8c 1.2rem)}.play-cue-hold.play-cue-hit{opacity:.85;background:linear-gradient(90deg,#6fd6cf 0 1.2rem,#6fd6cf73 1.2rem)}.play-cue-holding{box-shadow:0 0 0 3px #f7c140b3}.play-lane-target-held{background:#f7c14059;box-shadow:0 0 0 3px #f7c140b3}.play-card-busk{min-width:min(30rem,100% - 2rem)}.play-card-busk .play-lane{border-radius:var(--r-md);height:2.6rem}.play-card-busk .play-lane-target{width:2.2rem;height:2.2rem;margin-left:-1.1rem;top:.2rem;left:14%}.play-card-busk .play-cue{width:1.4rem;height:1.4rem;margin-left:-.7rem;top:.6rem}.play-card-busk .play-cue-double{width:.9rem;height:.9rem;margin-left:-.45rem;top:.85rem}.play-crowd{grid-template-columns:1fr auto;align-items:center;gap:.5rem;margin-top:.2rem;display:grid}.play-crowd-track{background:#ffffff2e;border-radius:4px;height:.55rem;overflow:hidden}.play-crowd-fill{background:linear-gradient(90deg, var(--rb-mustard), #f7c140);border-radius:4px;height:100%;transition:width .12s ease-out}.play-crowd-flourish{background:linear-gradient(90deg,#f7c140,#fff);box-shadow:0 0 0 3px #f7c140}.play-combo{text-align:right;color:#f7c140;min-width:4.5rem;font-size:.95rem;font-weight:800;animation:.25s ease-out play-combo-pop}@keyframes play-combo-pop{0%{transform:scale(1.3)}}.play-pop{text-shadow:0 2px 6px #00000080;font-size:1.6rem;font-weight:800;animation:.6s ease-out forwards play-rise;position:absolute;bottom:13rem;left:50%;transform:translate(-50%)}.play-pop-perfect{color:#f7c140}.play-pop-good{color:#6fd6cf}.play-pop-miss{color:#ffa184}@keyframes play-rise{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-2rem)}}.play-reticle{border-radius:var(--r-sm);border:2px solid #ffffffd9;position:absolute;box-shadow:0 0 0 9999px #0000002e}.play-reticle:before,.play-reticle:after{content:"";background:#ffffffd9;width:1.4rem;height:2px;margin-left:-.7rem;position:absolute;top:50%;left:50%}.play-reticle:after{width:2px;height:1.4rem;margin:-.7rem 0 0 -1px}.play-trace-desk{right:max(1rem, var(--safe-right,0px));flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.play-trace-pad{border-radius:var(--r-sm);width:min(42vh,20rem);height:min(42vh,20rem);box-shadow:var(--shadow-2);touch-action:none;cursor:crosshair;border:3px solid #fff}.play-card-inline{width:min(42vh,20rem);min-width:0;position:static;transform:none}.play-buttons{justify-content:center;gap:.5rem;margin-top:.3rem;display:flex}.play-finish{border-radius:var(--r-sm);background:var(--surface);color:var(--ink);text-align:center;box-shadow:inset 0 0 0 2.5px var(--rule), var(--shadow-2);padding:.5rem 1.1rem;animation:.3s ease-out play-in;position:absolute;top:9.5rem;left:50%;transform:translate(-50%)}.play-finish-missed{background:var(--surface-sunk)}.play-finish-title{font-family:var(--font-poster);margin:.2rem 0;font-size:1.3rem;font-weight:400}.play-coins{color:var(--gold-700);font-size:1.5rem;font-weight:800;animation:.8s ease-out play-rise-in}@keyframes play-in{0%{opacity:0;transform:translate(-50%,.6rem)scale(.96)}}@keyframes play-rise-in{0%{opacity:0;transform:translateY(.8rem)}}.play-flash{pointer-events:none;background:#fff;animation:.35s ease-out forwards play-flash;position:absolute;inset:0}@keyframes play-flash{0%{opacity:.85}to{opacity:0}}:root[data-playing] .touch-cluster{display:none}:root[data-layout=landscape] .play-card{bottom:calc(var(--safe-bottom,0px) + .5rem);min-width:0;max-width:44%;padding:.35rem .7rem;font-size:.8rem}:root[data-layout=landscape] .play-card-top{top:auto}:root[data-layout=landscape] .play-card-fishing{width:44%}:root[data-layout=landscape] .play-card-busk{width:70%;max-width:70%;bottom:calc(var(--safe-bottom,0px) + .3rem)}:root[data-layout=landscape] .play-card-busk .play-lane{height:2.4rem}.tune-picker-hint{opacity:.8;margin:-.25rem 0 0;font-size:.9rem}.tune-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.tune-option{text-align:left;border-radius:var(--r-md);background:var(--cream-200);width:100%;min-height:3.2rem;color:inherit;border:2px solid #0000;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:.6rem;padding:.5rem .8rem;font-weight:600;display:grid}.tune-option-name,.tune-option-mood{grid-column:1}.tune-option .icon,.tune-option .lock-badge{grid-area:1/2/span 2}.tune-option-chosen{border-color:var(--port-700);background:var(--port-100)}.tune-option:disabled{opacity:.55}.tune-option-name{font-size:1rem}.tune-option-mood{opacity:.8;font-size:.82rem;font-weight:400}.tune-picker-actions{justify-content:flex-end;gap:.5rem;display:flex}.tune-picker-actions button:last-child{flex:1}:root[data-layout=landscape] .tune-picker .tune-list{grid-template-columns:1fr 1fr}:root[data-layout=landscape] .play-trace-desk{left:50%;right:auto;transform:translate(-50%,-45%)}:root[data-layout=landscape] .play-trace-desk .play-card{max-width:none}:root[data-layout=landscape] .play-stop{top:3.2rem;right:auto;left:max(.6rem, var(--safe-left,0px))}:root[data-layout=portrait] .play-stop,:root[data-layout=portrait] .play-card-top{top:calc(var(--safe-top,0px) + var(--hud-bar,76px) + 3.4rem)}:root[data-layout=portrait] .play-card-top{min-width:0;max-width:none;left:.5rem;right:5.5rem;transform:none}.market-list{margin:.5rem 0;padding:0;list-style:none}.market-list li{border-bottom:1px solid #00000014;grid-template-columns:1fr auto;align-items:center;gap:.3rem .8rem;padding:.45rem 0;display:grid}.market-list .market-actions{gap:.4rem;display:flex}.album-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem;display:grid}.album-grid figure{margin:0}.album-grid img{border-radius:var(--r-sm);width:100%}.trace-studio{z-index:var(--z-sheet);background:var(--rb-dock);color:var(--ink);pointer-events:auto;grid-template:"top""stage"minmax(0,1fr)"bar"/minmax(0,1fr);display:grid;position:fixed;inset:0}:root[data-trace-studio] :is(.hud,.hud-corner,.hud-next-step,.chat-toggle,.touch-cluster,.activity-bar,.play-stop){display:none}:root[data-trace-studio] .notice,:root[data-trace-studio] .intro-toast{top:calc(var(--safe-top,0px) + 3.6rem)}.trace-top{box-sizing:border-box;min-height:calc(52px + var(--safe-top,0px));padding:calc(4px + var(--safe-top,0px)) calc(6px + var(--safe-right,0px)) 4px calc(6px + var(--safe-left,0px));background:var(--surface);box-shadow:0 1px 0 var(--line);grid-area:top;align-items:center;gap:.35rem;display:flex}.trace-top-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;padding:0 .25rem;font-size:1.05rem;overflow:hidden}.trace-stage{min-width:0;min-height:0;padding:10px calc(10px + var(--safe-right,0px)) 10px calc(10px + var(--safe-left,0px));box-sizing:border-box;touch-action:none;grid-area:stage;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;container-type:size}.trace-studio .play-trace-pad{transform-origin:0 0;border:0;outline:3px solid #fff;flex:none;width:min(100cqw - 26px,100cqh - 26px);height:min(100cqw - 26px,100cqh - 26px)}.trace-zoom-out{right:calc(10px + var(--safe-right,0px));position:absolute;bottom:10px}.trace-bar{box-sizing:border-box;padding:8px calc(10px + var(--safe-right,0px)) calc(10px + var(--safe-bottom,0px)) calc(10px + var(--safe-left,0px));background:var(--surface);box-shadow:0 -1px 0 var(--line);overscroll-behavior:contain;flex-direction:column;grid-area:bar;gap:6px;display:flex}.trace-status .play-meter{margin-top:0}.trace-status .play-meter-track{background:#0000001f}.trace-status .play-small{color:var(--ink-muted);margin:.2rem 0 0}.trace-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.trace-actions button{min-height:44px}.trace-actions button:not(.chip){flex:auto}@media (orientation:landscape){.trace-studio{grid-template:"top top""stage bar"minmax(0,1fr)/minmax(0,1fr) auto}.trace-bar{width:calc(200px + var(--safe-right,0px));padding:10px calc(10px + var(--safe-right,0px)) calc(10px + var(--safe-bottom,0px)) 10px;box-shadow:-1px 0 0 var(--line);overflow-y:auto}.trace-actions{flex-direction:column;align-items:stretch}.trace-stage{padding-right:10px}.trace-zoom-out{right:10px}}.art-thumb{object-fit:cover;background:var(--surface-sunk);vertical-align:middle;border:3px solid #6e4a2e;border-radius:2px;flex:none;width:2.75rem;height:2.75rem}.art-menu li{justify-content:flex-start}.art-menu li>span{overflow-wrap:anywhere;flex:auto;min-width:0}.gallery-panel{box-sizing:border-box;width:min(44rem,100% - 2rem);max-height:calc(100% - 4rem);overflow-y:auto}.art-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.9rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.art-card{flex-direction:column;gap:.2rem;min-width:0;display:flex}.art-card strong{overflow-wrap:anywhere}.art-card small{color:var(--ink-muted)}.art-picture{aspect-ratio:1;object-fit:cover;box-sizing:border-box;background:var(--surface-sunk);width:100%;box-shadow:var(--shadow-1);border:6px solid #6e4a2e;outline:1px solid #4e321e;display:block}.art-picture.art-portrait{aspect-ratio:3/4}.art-picture.art-landscape{aspect-ratio:4/3}.art-picture.frame-gilt{border-color:#c9a24a;outline-color:#8e6d2a}.art-card-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.2rem;display:flex}.art-owned{justify-content:flex-start!important;align-items:flex-start!important}.art-owned-body{flex-direction:column;flex:auto;gap:.25rem;min-width:0;display:flex}.art-owned-body small{color:var(--ink-muted)}.art-owned-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.art-price input{width:8.5rem;max-width:100%}.gallery-panel .danger{color:var(--port-700)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.artwork-panel{box-sizing:border-box;width:min(36rem,100% - 2rem);max-height:calc(100% - 4rem);overflow-y:auto}.art-view{flex-direction:column;align-items:center;gap:.5rem;margin:0 0 .6rem;display:flex}.art-view img{max-width:100%;max-height:60vh;box-shadow:var(--shadow-2);background:var(--surface-sunk);border:12px solid #6e4a2e;outline:2px solid #4e321e;display:block}.art-view.frame-gilt img{border-color:#c9a24a;outline-color:#8e6d2a}.reported-line .art-thumb{margin-right:.5rem}.art-likes{align-items:center;gap:.4rem;display:inline-flex}.art-likes .like{color:var(--pink-700);background:var(--surface-raised);border:1px solid var(--pink-700);border-radius:999px;padding:.15rem .6rem}.art-likes .like.liked{color:#fff;background:#a3205f;border-color:#a3205f}.artwork-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.art-badge{color:var(--rb-navy-raw);background:var(--rb-mustard);border:1.5px solid var(--rb-navy-raw);border-radius:3px;margin-left:.4rem;padding:0 .45rem;font-size:.75rem;font-weight:800;display:inline-block}.art-card .art-badge{align-self:flex-start;margin-left:0}.painter-week{color:var(--rb-paper-raw);background:var(--fill-teal);box-shadow:inset 0 0 0 2.5px var(--rb-navy-raw), var(--rb-print-sm);border:0;margin-bottom:.6rem;padding:.5rem .8rem}.painter-week h3,.art-row h3{font-family:var(--font-ui);margin:0 0 .25rem;font-weight:800}.painter-week p{margin:0}.art-open{cursor:zoom-in;background:0 0;border:0;padding:0}.paint-panel{box-sizing:border-box;width:min(60rem,100% - 2rem);max-height:calc(100% - 2rem);margin:0;overflow:auto}.paint-head{justify-content:space-between;align-items:center;gap:.5rem;padding-right:2.25rem;display:flex}.paint-head .panel-title{margin:0}.paint-body{align-items:flex-start;gap:1rem;display:flex}.paint-stage{flex-direction:column;flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex}.paint-frame{box-sizing:border-box;max-width:100%;box-shadow:var(--shadow-2);transform-origin:0 0;border:10px solid #6e4a2e;outline:2px solid #4e321e;line-height:0;display:flex}.paint-canvas{background:var(--surface-sunk);touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:auto;max-width:100%;height:auto;max-height:min(62vh,36rem);display:block}.paint-canvas.tool-fill{cursor:cell}.paint-tools{flex-direction:column;flex:0 0 19rem;gap:.6rem;min-width:0;display:flex}.paint-row{border:0;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;margin:0;padding:0;display:flex}.paint-tool{background:var(--surface-sunk);color:var(--ink);align-items:center;gap:.35rem;padding:.4rem .7rem;display:inline-flex}.paint-tool[aria-pressed=true]{background:var(--ink);color:var(--surface)}.paint-size{justify-content:center;width:2.5rem;height:2.5rem;padding:0}.paint-size span{background:currentColor;border-radius:50%;max-width:1.8rem;max-height:1.8rem;display:block}.paint-palette{grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));gap:.3rem;display:grid}.paint-swatch{aspect-ratio:1;border:2px solid #00000026;border-radius:50%;min-width:2rem;padding:0}.paint-swatch[aria-checked=true]{outline:3px solid var(--ink);outline-offset:1px}.paint-picker{aspect-ratio:1;background:conic-gradient(#e44,#ee4,#4e4,#4ee,#44e,#e4e,#e44);border-radius:50%;min-width:2rem;display:block;overflow:hidden}.panel .paint-picker input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0}.paint-frame-chip{border:1px solid #0000004d;border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.paint-upload .hint,.paint-tools .hint,.paint-drawer .hint{color:var(--ink-muted);margin:.3rem 0 0;font-size:.85rem}.paint-panel button.danger{background:var(--fill-terra);color:#fff}html:root .modal-backdrop>.panel.paint-panel.studio{z-index:var(--z-sheet);background:var(--rb-dock);width:auto;max-width:none;height:auto;max-height:none;box-shadow:none;opacity:1;border-radius:0;grid-template:"top""stage"minmax(0,1fr)"bar"/minmax(0,1fr);gap:0;margin:0;padding:0;animation:none;display:grid;position:fixed;inset:0;overflow:hidden;transform:none}:root[data-paint-studio] :is(.hud,.hud-corner,.hud-next-step,.chat-toggle,.touch-cluster){display:none}:root[data-paint-studio] .notice,:root[data-paint-studio] .intro-toast{top:calc(var(--safe-top,0px) + 3.6rem)}.paint-top{box-sizing:border-box;min-height:calc(52px + var(--safe-top,0px));padding:calc(4px + var(--safe-top,0px)) calc(6px + var(--safe-right,0px)) 4px calc(6px + var(--safe-left,0px));background:var(--surface);box-shadow:0 1px 0 var(--line);grid-area:top;align-items:center;gap:.35rem;display:flex}.paint-top-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;padding:0 .25rem;font-size:1.05rem;overflow:hidden}.paint-top-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.paint-finish{border-radius:var(--r-pill);white-space:nowrap;min-height:40px;padding:0 .9rem}.studio .paint-stage{min-width:0;min-height:0;padding:10px calc(10px + var(--safe-right,0px)) 10px calc(10px + var(--safe-left,0px));box-sizing:border-box;touch-action:none;grid-area:stage;justify-content:center;align-items:center;gap:0;display:flex;position:relative;overflow:hidden;container-type:size}.studio .paint-frame{border-width:8px;flex:none;max-width:none}.studio .paint-canvas{max-width:calc(100cqw - 36px);max-height:calc(100cqh - 36px)}.paint-zoom-out{right:calc(10px + var(--safe-right,0px));position:absolute;bottom:10px}.paint-bar{box-sizing:border-box;padding:6px calc(8px + var(--safe-right,0px)) calc(8px + var(--safe-bottom,0px)) calc(8px + var(--safe-left,0px));background:var(--surface);box-shadow:0 -1px 0 var(--line);overscroll-behavior:contain;flex-direction:column;grid-area:bar;gap:6px;display:flex}.paint-bar-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;display:flex}.paint-bar .paint-row{flex-wrap:nowrap;gap:4px}.paint-bar .paint-size{width:36px;height:36px;min-height:0}.paint-bar .paint-palette{grid-template-columns:repeat(auto-fill,minmax(2.25rem,1fr));gap:6px}.paint-bar .paint-swatch,.paint-bar .paint-picker{aspect-ratio:1;width:100%;min-width:0;height:auto;min-height:0}@media (orientation:landscape){html:root .modal-backdrop>.panel.paint-panel.studio{grid-template:"top top""stage bar"minmax(0,1fr)/minmax(0,1fr) auto}.paint-bar{width:calc(178px + var(--safe-right,0px));padding:8px calc(8px + var(--safe-right,0px)) calc(8px + var(--safe-bottom,0px)) 8px;box-shadow:-1px 0 0 var(--line);overflow-y:auto}.paint-bar-group{flex-direction:column;gap:8px}.paint-bar .paint-row{flex-wrap:wrap;justify-content:center}.paint-bar .paint-palette{grid-template-columns:repeat(4,1fr)}.studio .paint-stage{padding-right:10px}.paint-zoom-out{right:10px}}@media (width<=420px){.paint-top-title{display:none}}.paint-drawer-shade{z-index:1;background:#1d1a3f61;position:fixed;inset:0}.paint-drawer{z-index:2;left:0;right:0;bottom:var(--keyboard-inset,0px);box-sizing:border-box;max-height:calc(var(--app-height,100dvh) - 52px - var(--safe-top,0px));padding:.5rem calc(1rem + var(--safe-right,0px)) calc(1rem + var(--safe-bottom,0px)) calc(1rem + var(--safe-left,0px));overscroll-behavior:contain;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -2.5px 0 var(--rule);flex-direction:column;gap:.6rem;display:flex;position:fixed;overflow-y:auto}.paint-drawer-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.paint-drawer-head h3{margin:0;font-size:1.05rem}.paint-drawer>label{flex-direction:column;gap:.3rem;display:flex}.paint-drawer .paint-tool,.paint-drawer button.secondary{min-height:44px}@media (orientation:landscape){.paint-drawer{top:calc(52px + var(--safe-top,0px));left:auto;bottom:var(--keyboard-inset,0px);width:min(26rem,60vw);max-height:none;padding-right:calc(1rem + var(--safe-right,0px));border-radius:var(--r-xl) 0 0 var(--r-xl);box-shadow:-2px 0 16px #0000004d}}.wallet-balances{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.wallet-balances li{border-radius:var(--r-sm);background:var(--surface-sunk);flex-direction:column;padding:.45rem .6rem;font-size:.85rem;display:flex}.wallet-balances strong{font-size:1.15rem}.cherries-card,.chest-list,.career-card,.postcard-set,.mestre-task,.mestre-run{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-raised);padding:.6rem .75rem}.cherries-card p{margin:0 0 .4rem}.cherries-actions{flex-wrap:wrap;gap:.4rem;display:flex}.cherries-note{color:var(--douro-700);margin:.4rem 0 0}.chest-list h3,.career-card h3,.postcard-set h3,.mestre-task h3,.mestre-run h3{margin:0 0 .4rem;font-size:1rem}.chest-list ul{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.chest-list li{align-items:center;gap:.4rem;display:flex}.chest-list li button{margin-left:auto}.chest-stage{border-radius:var(--r-md);background:var(--gold-100);flex-direction:column;align-items:center;gap:.5rem;min-height:6rem;padding:.75rem;display:flex}.chest-box{font-size:3.2rem;line-height:1;animation:1.6s ease-in-out infinite chest-wobble}.chest-stage.revealed .chest-box{animation:.6s ease-out forwards chest-open}.chest-prize{text-align:center;flex-direction:column;align-items:center;gap:.15rem;animation:.5s ease-out .25s both prize-rise;display:flex}.chest-stage.rarity-uncommon{box-shadow:inset 0 0 0 2px var(--douro-700)}.chest-stage.rarity-rare{box-shadow:inset 0 0 0 2px var(--azulejo-700)}.chest-stage.rarity-epic{box-shadow:inset 0 0 0 3px var(--pink-700)}@keyframes chest-wobble{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)translateY(-2px)}}@keyframes chest-open{to{opacity:.6;transform:scale(.8)translateY(-4px)}}@keyframes prize-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chest-box,.chest-stage.revealed .chest-box,.chest-prize{animation:none}}.chest-odds h4{margin:.5rem 0 .25rem}.chest-odds table{border-collapse:collapse;width:100%;font-size:.85rem}.chest-odds td{border-bottom:1px solid var(--line);padding:.2rem .3rem}.chest-odds td.num{text-align:right;font-variant-numeric:tabular-nums}.chest-odds tr.rarity-rare td:nth-child(2){color:var(--azulejo-700);font-weight:600}.chest-odds tr.rarity-epic td:nth-child(2){color:var(--pink-700);font-weight:700}.journal-collections,.journal-careers,.journal-mestre{flex-direction:column;gap:.6rem;display:flex}.postcards{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.postcards li{border-radius:var(--r-sm);background:var(--surface-raised);box-shadow:var(--shadow-1);text-align:center;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem;font-size:.78rem;display:flex}.postcards li.missing{background:var(--surface-sunk);box-shadow:none;color:var(--ink-muted)}.postcard-face{font-size:1.6rem}.postcard-set.done{border-color:var(--douro-700)}.career-ladder{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.career-ladder li{background:var(--surface-sunk);border-radius:999px;padding:.15rem .45rem}.career-ladder li.reached{background:var(--azulejo);color:#fff}.career-strikes{border-radius:var(--r-sm);background:var(--gold-100);padding:.4rem .6rem}.missing-list{margin:.2rem 0;padding-left:1.1rem;font-size:.85rem}.tests-list ul,.mestre-steps{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.mestre-steps{padding-left:1rem;font-size:.85rem;list-style:outside}.mestre-join{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.mestre-join input{width:6rem}.quiz{flex-direction:column;gap:.6rem;margin:0;padding-left:1.2rem;display:flex}.quiz p{margin:0 0 .3rem;font-weight:600}.quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;display:grid}.quiz-options input{width:auto;min-height:0;margin:0}.quiz-options label{border:1px solid var(--line-strong);border-radius:var(--r-sm);cursor:pointer;flex-direction:row;align-items:center;gap:.35rem;padding:.35rem .5rem;display:flex}.quiz-options label.chosen{border-color:var(--azulejo);background:var(--azulejo-50)}.quiz-options label.right{border-color:var(--douro-700);background:var(--douro-100)}.journal-panel .tabs{flex-wrap:wrap}.journal-panel .tabs button{flex:auto}.quiz-options label.wrong{border-color:var(--port-700);background:var(--port-100)}.modal-backdrop>.test-panel{max-height:calc(100dvh - 2rem);overflow-y:auto}.test-start{flex-direction:column;gap:.4rem;display:flex}.test-panel .relaxed-toggle{flex-direction:row;align-items:center;gap:.4rem;display:flex}.test-panel .relaxed-toggle input{width:auto;min-height:0}.minigame{flex-direction:column;gap:.5rem;display:flex}.minigame-step{color:var(--ink-muted);margin:0;font-size:.8rem}.minigame-prompt{margin:0;font-weight:600}.minigame-label{margin:.3rem 0 0;font-size:.85rem;font-weight:600}.minigame-options{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.35rem;display:grid}.minigame-options button{text-align:left;min-height:44px}.minigame-options button.chosen{border-color:var(--azulejo);background:var(--azulejo-50)}.minigame-actions{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.minigame-actions .big{min-width:8rem;min-height:52px;font-size:1.1rem}.order-picked{min-height:1.4rem;margin:0;padding-left:1.4rem}.study-card{border:1px dashed var(--line-strong);border-radius:var(--r-sm);background:var(--surface-raised);flex-direction:column;gap:.5rem;padding:.6rem;display:flex}.study-items{margin:0;padding-left:1.2rem;font-size:1.1rem;font-weight:600}.study-wines{border-collapse:collapse;font-size:.9rem}.study-wines th,.study-wines td{text-align:left;border-bottom:1px solid var(--line);padding:.2rem .5rem}.study-bar,.window-bar{border-radius:var(--r-sm);background:var(--surface-sunk);height:14px;position:relative;overflow:hidden}.window-bar{border-radius:var(--r-sm);height:34px}.study-bar span,.window-fill{background:var(--rb-terra);position:absolute;inset:0 auto 0 0}.window-fill{opacity:.75}.window-zone{background:var(--fill-teal);opacity:.55;z-index:1;position:absolute;top:0;bottom:0}.stage-steam .window-fill{background:var(--surface-sunk);box-shadow:inset 0 0 0 2px var(--line-strong)}.stage-traffic .window-fill{background:var(--fill-cobalt)}.window-verdict{margin:0;font-weight:700}.window-verdict.in{color:var(--douro-700)}.window-verdict.near{color:var(--gold-700)}.window-verdict.out{color:var(--port-700)}.test-score{margin:0;font-size:.85rem}.career-police{border-left:3px solid var(--fill-cobalt);background:var(--azulejo-50);margin:.2rem 0;padding:.4rem .6rem;font-size:.85rem}.career-entry{margin:.3rem 0}.job-order{margin:.2rem 0;font-weight:600}.job-tray{flex-wrap:wrap;align-items:center;gap:.3rem;margin:.3rem 0;display:flex}.job-tray button{min-height:44px}.job-fragile{color:var(--gold-700);margin:.2rem 0;font-size:.85rem}.patrol-welcome{width:100%;margin-top:.4rem}.dome-opened{border-radius:var(--r-sm);background:var(--douro-100);color:var(--douro-700);margin:0;padding:.5rem .7rem;font-size:1.1rem;font-weight:700}.dome-sentence{font-weight:600}.district-card{border-radius:var(--r-md);background:var(--azulejo-50);border:1px solid var(--line-strong);padding:.7rem}.district-card h3{margin-top:0}.w3d-sign-gate{color:var(--ink);background:#e6f4ffd9;border:1px solid #9fdcffe6;font-weight:700}:root[data-layout=landscape] .test-panel .minigame-options{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}:root[data-layout=landscape] .test-panel h2{margin:0;font-size:1.05rem}.intro-layer{z-index:var(--z-spotlight);pointer-events:none;position:fixed;inset:0}.intro-dim{animation:intro-fade var(--motion-slow) var(--ease-out);position:absolute;inset:0}.intro-ring{box-sizing:border-box;border:3px solid var(--intro-gold);border-radius:var(--r-md);animation:1.6s ease-in-out infinite intro-pulse;position:absolute;box-shadow:0 0 0 3px #ffd54a40,0 0 18px #ffd54a8c}.intro-ring.round{border-radius:50%}@keyframes intro-pulse{50%{box-shadow:0 0 0 7px #ffd54a1f,0 0 26px #ffd54ab3}}@keyframes intro-fade{0%{opacity:0}}@keyframes intro-rise{0%{opacity:0;translate:0 6px}}.intro-card{box-sizing:border-box;width:min(22rem, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 1rem));border-radius:var(--r-md);background:var(--intro-paper);color:var(--ink);pointer-events:auto;transition:left var(--motion-slow) var(--ease-out), top var(--motion-slow) var(--ease-out);animation:intro-rise var(--motion-base) var(--ease-out);padding:.75rem .9rem .8rem;font-size:.92rem;line-height:1.38;position:absolute;box-shadow:0 8px 28px #00000059,0 0 0 1px #1f4e9c2e}.intro-card:before{content:"";background:var(--intro-paper);width:14px;height:14px;display:none;position:absolute;rotate:45deg}.intro-card.side-below:before{top:-7px;left:calc(var(--tail,50%) - 7px);display:block}.intro-card.side-above:before{bottom:-7px;left:calc(var(--tail,50%) - 7px);display:block}.intro-card.side-right:before{left:-7px;top:calc(var(--tail,50%) - 7px);display:block}.intro-card.side-left:before{right:-7px;top:calc(var(--tail,50%) - 7px);display:block}.intro-card-inner{max-height:calc(var(--app-height,100dvh) - var(--safe-top,0px) - var(--safe-bottom,0px) - 2.6rem);overflow-y:auto}.intro-card-head{letter-spacing:.04em;text-transform:uppercase;color:var(--azulejo-700);align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;display:flex}.intro-count{color:var(--ink-muted);font-weight:600}.intro-card button.intro-skip{min-height:32px;color:var(--ink-muted);text-transform:none;letter-spacing:0;background:0 0;margin-left:auto;padding:.3rem .55rem;font-size:.75rem;text-decoration:underline}.intro-dots{flex-wrap:wrap;gap:3px;margin:.3rem 0 .45rem;display:flex}.intro-dots span{background:#d9d3c4;border-radius:50%;width:6px;height:6px}.intro-dots span.here{background:var(--azulejo);outline:2px solid #1f4e9c40}.intro-card h2{color:var(--azulejo-700);margin:0 0 .25rem;font-size:1.08rem;line-height:1.25}.intro-need-icon{vertical-align:-.1em;margin-right:.4rem;font-size:1.25rem}.intro-body{margin:0}.intro-hint{color:var(--ink-muted);margin:.4rem 0 0;font-size:.8rem}.intro-nice{color:var(--ok);margin:.4rem 0 0;font-weight:700}.intro-moods,.intro-checks{margin:.4rem 0 0;padding:0;font-size:.86rem;list-style:none}.intro-moods li{border-left:4px solid var(--line-strong);padding:.15rem 0 .15rem .55rem}.intro-moods .mood-great{border-color:var(--ok)}.intro-moods .mood-fine{border-color:var(--fill-cobalt)}.intro-moods .mood-tense{border-color:var(--rb-ochre)}.intro-moods .mood-miserable{border-color:var(--error)}.intro-checks li:before{content:"○ ";color:var(--ink-muted)}.intro-checks li.ok:before{content:"✓ ";color:var(--ok);font-weight:700}.intro-meter,.need-card-bar{background:var(--surface-sunk);border-radius:3px;height:6px;margin-top:.45rem;display:block;overflow:hidden}.intro-meter>span,.need-card-bar>span{height:100%;transition:width var(--motion-base) var(--ease-out);background:linear-gradient(90deg,#1f4e9c,#5ad1ff);display:block}.intro-card-foot{justify-content:flex-end;gap:.5rem;margin-top:.65rem;display:flex}.intro-card-foot button{min-width:5.5rem;min-height:44px}.intro-card-foot button:disabled{cursor:default}:root[data-layout=landscape] .intro-card{width:min(20rem, calc(100vw - var(--safe-left) - var(--safe-right) - 1rem));padding:.55rem .75rem .6rem;font-size:.84rem;line-height:1.32}:root[data-layout=landscape] .intro-card h2{font-size:.98rem}:root[data-layout=landscape] .intro-dots{margin:.2rem 0 .3rem}:root[data-layout=landscape] .intro-card-foot{margin-top:.4rem}:root[data-layout=landscape] .intro-card-foot button{min-height:40px;padding:.3rem .9rem}.intro-toast,.need-tip{box-sizing:border-box;border-radius:var(--r-md);background:var(--intro-paper);color:var(--ink);box-shadow:var(--shadow-2);animation:intro-rise var(--motion-base) var(--ease-out);position:fixed;left:50%;translate:-50%}.intro-toast{top:calc(var(--safe-top,0px) + var(--next-step-height,0px) + 3.6rem);z-index:var(--z-tip);max-width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 1rem);border-left:4px solid var(--intro-gold);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:600;display:flex}.intro-toast button{min-height:40px}.need-tip{top:calc(var(--safe-top,0px) + var(--next-step-height,0px) + 3.6rem);z-index:var(--z-tip);width:min(21rem, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 1rem));border-left:4px solid var(--intro-gold);padding:.65rem .85rem .7rem;font-size:.88rem;line-height:1.35}.need-tip p{margin:.35rem 0 0}.need-tip .need-tip-head{color:var(--azulejo-700);align-items:center;gap:.45rem;margin:0;font-size:1rem;display:flex}.need-tip-icon,.need-card-icon{font-size:1.35rem;line-height:1}.need-tip-foot{justify-content:flex-end;gap:.5rem;margin-top:.55rem;display:flex}.need-tip-foot button{min-height:40px}:root[data-layout=landscape] .need-tip{width:min(19rem, calc(100vw - var(--safe-left) - var(--safe-right) - 1rem));font-size:.82rem}.need-wrap{position:relative}.needs-grid button.need{box-sizing:border-box;width:100%;min-height:24px;color:inherit;font:inherit;text-align:left;background:0 0;border-radius:4px;margin:0;padding:.1rem 0}.needs-grid button.need:hover,.needs-grid button.need:focus-visible,.needs-grid button.need[aria-expanded=true]{background:var(--azulejo-50)}.need-card{z-index:1;box-sizing:border-box;border-radius:var(--r-md);background:var(--surface-raised);width:16rem;max-width:calc(100vw - 2rem);color:var(--ink);box-shadow:var(--shadow-2);text-align:left;white-space:normal;animation:intro-rise var(--motion-fast) var(--ease-out);padding:.6rem .75rem .65rem;font-size:.82rem;line-height:1.35;position:absolute;top:calc(100% + 6px);left:0}.hud:has(.need-card){z-index:calc(var(--z-next-step) + 1)}.need-card.up{top:auto;bottom:calc(100% + 6px)}.need-card p{margin:.3rem 0 0}.need-card .need-card-head{align-items:center;gap:.4rem;margin:0;display:flex}.need-card-small{color:var(--ink-soft);font-size:.78rem}.need-card-label{color:var(--azulejo-700);font-weight:700}.need-card-list{margin:.15rem 0 0;padding-left:1rem}.need-card-show{min-height:36px;margin-top:.45rem}.help-replay{align-self:flex-start;min-height:40px}.glance-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem;margin:.5rem 0 .8rem;display:grid}.glance-card{border-radius:var(--r-md);background:var(--surface-sunk);border:1px solid var(--line-strong);padding:.6rem .75rem}.glance-card h4{color:var(--azulejo-700);margin:0 0 .25rem}.glance-card p{margin:.25rem 0 0;font-size:.85rem}.glance-icon{font-size:1.3rem}.glance-label{font-weight:700}.glance-small{color:var(--ink-soft)}.glance-tips{flex-wrap:wrap;gap:.4rem 1rem;padding:0;list-style:none;display:flex}.controls-pic{margin:.4rem 0 .8rem}.controls-pic.keys{border-radius:var(--r-md);background:var(--surface-sunk);border:1px solid var(--line-strong);flex-wrap:wrap;align-items:flex-end;gap:.7rem 1.1rem;padding:.75rem;display:flex}.pic-group{flex-direction:column;align-items:center;gap:.3rem;display:flex}.pic-label{color:var(--ink-soft);text-align:center;font-size:.78rem}.pic-key{box-sizing:border-box;border-radius:var(--r-sm);border:1px solid var(--line-strong);min-width:2rem;height:2rem;color:var(--ink);background:#fff;border-bottom-width:3px;place-items:center;padding:0 .4rem;font:700 .85rem system-ui,sans-serif;display:inline-grid}.pic-key.wide{min-width:4rem}.pic-wasd{grid-template-rows:repeat(2,2rem);grid-template-columns:repeat(3,2rem);gap:3px;display:grid}.pic-wasd .pic-key:first-child{grid-area:1/2}.pic-wasd .pic-key:nth-child(2){grid-area:2/1}.pic-wasd .pic-key:nth-child(3){grid-area:2/2}.pic-wasd .pic-key:nth-child(4){grid-area:2/3}.pic-mouse{flex-direction:row;align-items:center}.pic-mouse-body{border-radius:var(--r-md);background:#fff;border:2px solid #9a9384;width:1.6rem;height:2.4rem;position:relative}.pic-mouse-body span{background:var(--azulejo);border-radius:2px;width:3px;height:.55rem;position:absolute;top:.35rem;left:50%;translate:-50%}.controls-pic.touch .pic-screen{aspect-ratio:932/430;border-radius:var(--r-md);background:linear-gradient(#8fb7d8 0%,#c9b98e 62%,#8a7b5c 100%);border:6px solid #1c2230;max-width:30rem;position:relative;overflow:hidden}.pic-zone{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.4rem;display:flex;position:absolute;top:28%;bottom:0}.pic-zone .pic-label{border-radius:var(--r-sm);background:#ffffffd9;padding:.15rem .4rem;font-size:.7rem}.pic-zone.left{background:#1f4e9c2e;border-right:2px dashed #ffffffb3;width:33%;left:0}.pic-zone.right{width:32%;top:22%;bottom:22%;left:40%}.pic-stick{background:radial-gradient(circle,#fff 0 32%,#ffffff40 34%);border:3px solid #ffffffd9;border-radius:50%;width:2.6rem;height:2.6rem}.pic-corner{gap:.3rem;display:flex;position:absolute;top:6%;right:3%}.pic-cluster{align-items:flex-end;gap:.3rem;display:flex;position:absolute;bottom:6%;right:3%}.pic-round{color:#fff;background:#1c2230b8;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.85rem;display:inline-grid}.pic-use{background:var(--azulejo);color:#fff;border:3px solid #ffffffb3;border-radius:50%;place-items:center;width:3.4rem;height:3.4rem;font-size:.72rem;font-weight:700;display:inline-grid}.pic-legend{color:var(--ink-soft);flex-wrap:wrap;gap:.3rem .9rem;margin-top:.4rem;font-size:.8rem;display:flex}@media (prefers-reduced-motion:reduce){.intro-ring,.intro-dim,.intro-card,.intro-toast,.need-tip,.need-card{transition:none;animation:none}}.intro-layer.calm .intro-ring,.intro-layer.calm .intro-card{transition:none;animation:none}:root{--intro-gold:var(--gold);--intro-paper:var(--surface)}.intro-ring{border-color:var(--rb-mustard);box-shadow:0 0 0 2.5px var(--rb-navy-raw);animation:none}.intro-ring:after{content:"";border:3px solid var(--rb-mustard);border-radius:inherit;animation:1.6s ease-in-out infinite intro-breathe;position:absolute;inset:-8px}@keyframes intro-breathe{50%{opacity:.25;scale:1.04}}@media (prefers-reduced-motion:reduce){.intro-ring:after{animation:none}}.intro-card,.intro-toast,.need-tip{border-radius:var(--r-sm);box-shadow:inset 0 5px 0 var(--rb-mustard), inset 0 0 0 2.5px var(--glass-edge), var(--shadow-3);border-left:0}.intro-card.side-below:before{box-shadow:inset 2.5px 2.5px 0 var(--glass-edge)}.intro-card.side-above:before{box-shadow:inset -2.5px -2.5px 0 var(--glass-edge)}.intro-card.side-right:before{box-shadow:inset 2.5px -2.5px 0 var(--glass-edge)}.intro-card.side-left:before{box-shadow:inset -2.5px 2.5px 0 var(--glass-edge)}.intro-card-head{font-family:var(--font-ui);letter-spacing:var(--rb-label-tracking);font-weight:800}.intro-card h2{font-family:var(--font-poster);font-weight:400}.intro-count,.intro-hint,.need-card-small,.glance-small,.pic-label,.pic-legend{color:var(--ink-muted)}.intro-card button.intro-skip{border-radius:var(--r-pill);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong);background:0 0;font-weight:800;text-decoration:none}.intro-card button.intro-skip:not(:disabled):hover{background:var(--surface-sunk);translate:none}.intro-dots span{background:var(--cream-300)}.intro-dots span.done{background:var(--ink-muted)}.intro-dots span.here{background:var(--rb-mustard);outline:1.5px solid var(--rule);border-radius:0;width:14px}.intro-body{font-size:.98rem}.intro-need-icon,.need-tip-icon,.need-card-icon,.glance-icon{border-radius:var(--r-sm);background:var(--douro);width:2rem;height:2rem;color:var(--rb-paper-raw);vertical-align:middle;box-shadow:var(--rb-mis-x) var(--rb-mis-y) 0 var(--rb-print-ink);rotate:var(--rb-tilt);flex:none;justify-content:center;align-items:center;margin-right:.45rem;font-size:1rem;display:inline-flex}.intro-need-icon .icon,.need-tip-icon .icon,.need-card-icon .icon,.glance-icon .icon{width:1.15rem;height:1.15rem}.intro-moods li,.intro-checks li{border-radius:var(--r-sm);background:var(--surface-raised)}.intro-meter,.need-card-bar{background:var(--cream-200);height:8px;box-shadow:inset 0 0 0 1.5px var(--rule);border-radius:0}.intro-meter>span,.need-card-bar>span{background:var(--rb-teal);box-shadow:inset -2px 0 0 var(--rule);border-radius:0}.need-card-bar.low>span{background:repeating-linear-gradient(-45deg, var(--fill-terra) 0 3px, #f07a4e 3px 6px)}.need-card{border-radius:var(--r-sm);background:var(--surface);box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2)}.needs-grid button.need{border-radius:var(--r-xs);min-height:28px;box-shadow:none;padding:.1rem .15rem}.needs-grid button.need:hover,.needs-grid button.need:focus-visible,.needs-grid button.need[aria-expanded=true]{background:var(--azulejo-50);filter:none;translate:none}.need-card-label{font-family:var(--font-display);font-weight:800}.glance-card,.controls-pic{border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong), var(--shadow-1);border:0}.glance-card h4{font-family:var(--font-display);align-items:center;font-weight:800;display:flex}.pic-key{border-radius:var(--r-sm);background:var(--surface-raised);color:var(--ink);font-family:var(--font-ui);box-shadow:inset 0 0 0 1.5px var(--rule), inset 0 -3px 0 var(--line-strong);border:0;font-weight:800}.pic-round .icon{width:1.1em;height:1.1em}.pic-use{font-family:var(--font-display);background:var(--fill-cobalt);font-weight:800}.pic-legend .icon{vertical-align:-.15em;width:1em;height:1em}.help-replay{align-self:flex-start}.hud{border-radius:var(--r-sm);background:var(--glass);box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);color:var(--ink)}.hud.hud-desktop{top:calc(var(--safe-top,0px) + 1rem);left:calc(var(--safe-left,0px) + 1rem);box-sizing:border-box;pointer-events:auto;-webkit-user-select:none;user-select:none;flex-direction:column;gap:.5rem;width:19.5rem;max-width:calc(100% - 2rem);padding:.7rem .8rem .8rem;font-size:.9rem;display:flex;bottom:auto}.hud-desktop p{margin:0}.hud-status-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hud-desktop .hud-time{align-items:center;gap:.5rem;display:flex}.hud-desktop .hud-clock{flex-direction:column;line-height:1.05;display:flex}.hud-desktop .hud-clock strong{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.01em;font-size:1.7rem;font-weight:850}.hud-desktop .hud-clock:before,.hud-desktop .hud-clock-sep{display:none}.hud-desktop .hud-clock-weekday{letter-spacing:var(--rb-label-tracking);color:var(--ink-muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.hud-status-place{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.hud-place{min-width:0;color:var(--ink);align-items:center;gap:.3rem;font-weight:800;display:inline-flex}.hud-place>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-place .icon{color:var(--terracotta-700)}.presence-chip.alone{opacity:.8}.hud-desktop .needs{border-radius:var(--r-sm);background:var(--surface-raised);box-shadow:inset 0 0 0 1.5px var(--line-strong);flex-direction:column;gap:.45rem;margin:0;padding:.55rem .6rem .6rem;display:flex}.hud-desktop .mood{flex-wrap:wrap;align-items:center;gap:.3rem .4rem;display:flex}.hud-desktop .mood-text{font-family:var(--font-display);flex:1 0 auto;font-size:1.05rem}.hud-desktop .mood-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hud-desktop .mood .chip{min-height:28px;padding:.15rem .6rem}.hud-desktop .needs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hud-chips{flex-wrap:wrap;gap:.35rem;display:flex}.hud-chips .chip{max-width:100%}.hud-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-loading{font-weight:700}.hud-debug{color:var(--ink-muted);font:600 .72rem/1.3 ui-monospace,Menlo,monospace}.hud-dock{left:calc(var(--safe-left,0px) + 1rem);bottom:calc(var(--safe-bottom,0px) + 1rem);border-radius:var(--r-sm);background:var(--glass);max-width:calc(100% - 25rem);box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);flex-wrap:wrap;align-items:stretch;gap:4px;padding:6px;display:flex;position:absolute}.hud-dock .icon-btn{box-shadow:none;background:0 0}.hud-dock .icon-btn:not(:disabled):hover{background:var(--azulejo-50)}.hud-dock .icon-btn:not(:disabled):active{box-shadow:none}.hud-dock .icon-btn:focus-visible{box-shadow:var(--focus-ring)}.hud-dock .icon-btn[aria-expanded=true]{background:var(--ink)}.hud-dock-gap{background:var(--line-strong);width:2px;margin:8px 2px}.hud-keys-tip{left:calc(var(--safe-left,0px) + 1rem);bottom:calc(var(--safe-bottom,0px) + 1rem + 66px + .6rem);box-sizing:border-box;border-radius:var(--r-sm);background:var(--glass);width:15.5rem;box-shadow:inset 0 0 0 2.5px var(--glass-edge), var(--shadow-2);flex-direction:column;align-items:flex-start;gap:.45rem;padding:.6rem .7rem .7rem;font-size:.85rem;display:flex;position:absolute}.hud-keys-tip header{width:100%;font-family:var(--font-display);color:var(--azulejo-900);align-items:center;gap:.4rem;font-size:1rem;display:flex}.hud-keys-tip header strong{flex:1;font-weight:600}.hud-keys-tip header>.icon{color:var(--azulejo-700)}.hud-keys-tip .hud-keys-close{border-radius:var(--r-sm);min-width:30px;min-height:30px;box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--ink);background:0 0}.hud-keys-tip .hud-keys-close .icon{width:16px;height:16px}.keys-summary{flex-direction:column;gap:.3rem;margin:0;padding:0;font-weight:700;list-style:none;display:flex}.keys-summary li{align-items:center;gap:.5rem;display:flex}.keys-summary li>.icon{width:1.9em;color:var(--azulejo-700)}.hud-looking{left:50%;bottom:calc(var(--safe-bottom,0px) + 6.5rem);z-index:calc(var(--z-hud) + 1);border-radius:var(--r-pill);background:var(--glass-dark);color:var(--rb-paper-raw);white-space:nowrap;box-shadow:inset 0 0 0 2px var(--glass-dark-edge), var(--shadow-2);pointer-events:none;align-items:center;gap:.45rem;margin:0;padding:.45rem .9rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%)}:root[data-layout=desktop] .prompt{bottom:calc(1.75rem + 66px)}:root[data-layout=desktop] .activity-bar{bottom:calc(5.25rem + 66px)}:root[data-layout=tablet] .hud-dock{top:calc(var(--safe-top,0px) + 1rem);right:calc(var(--safe-right,0px) + 1rem);grid-template-columns:repeat(6,auto);max-width:none;display:grid;bottom:auto;left:auto}:root[data-layout=tablet] .hud-dock-gap{display:none}:root[data-layout=tablet] .job-panel,:root[data-layout=tablet] .player-card,:root[data-layout=tablet] .decorate-panel{top:calc(var(--safe-top,0px) + 1rem + 2 * 58px + 1.25rem)}:root:is([data-layout=desktop],[data-layout=tablet]) .quest-log{top:calc(var(--safe-top,0px) + 16.5rem)}:root:is([data-layout=desktop],[data-layout=tablet]) .modal-backdrop{z-index:var(--z-sheet)}.settings-panel{overscroll-behavior:contain;width:min(30rem,100% - 2rem);max-height:calc(100% - 3rem);overflow-y:auto}.settings-sections{flex-direction:column;gap:.65rem;display:flex}.settings-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.settings-buttons button{align-items:center;gap:.4em;display:inline-flex}.settings-buttons button>.icon:first-child:not(:only-child){margin:0}.settings-account .badge{align-self:flex-start}@media (width<=760px),(height<=520px) and (pointer:coarse){.hud-compact .hud-clock:before{display:none}.hud-compact .hud-weather{align-items:center;gap:.15rem;display:inline-flex}.hud-compact .badge.wallet{padding:0 .6rem 0 .3rem;font-size:.95rem}.hud-compact .badge.wallet .icon{width:1.2em;height:1.2em}.hud-compact .hud-mood .mood-face{width:1.5rem;height:1.5rem}.hud-mood-caret .icon{width:1rem;height:1rem}}:root:not([data-layout=landscape]) .hud-compact .hud-mood>strong{display:none}:root:not([data-layout=landscape]) .hud-compact .hud-mood{padding-right:.45rem}:root:not([data-layout=landscape]) .hud-compact .needs-strip .needs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}@media (width<=760px),(height<=520px) and (pointer:coarse){:root:not([data-layout=landscape]) .app:has(.needs-strip:not([hidden])){--hud-bar:104px}}:root[data-layout=tablet] .hud-next-step{max-width:min(32rem,100% - 50rem)}.hud-tiles{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.45rem;display:grid}.icon-btn.hud-tile{border-radius:var(--r-sm);background:var(--surface-raised);min-height:68px;box-shadow:inset 0 0 0 2px var(--rule), var(--rb-print-sm)}.icon-btn.hud-tile .icon{color:var(--azulejo-700);width:26px;height:26px}.icon-btn.hud-tile .icon-btn-caption{max-width:100%;font-size:.78rem}.hud-places{flex-direction:column;gap:.45rem;display:flex}.hud-places:empty{display:none}.hud-sheet .presence-chip{align-self:flex-start}.hud-sheet .hud-hint{color:var(--ink-muted);font-size:.85rem}.sheet-close{border-radius:var(--r-sm);background:var(--surface-raised);min-height:0;color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule), 2px 2px 0 var(--print-plate);padding:0;font-size:1.5rem;line-height:1}.sheet-close:not(:disabled):hover{background:var(--port-100);color:var(--port-700);filter:none}.sheet-close:not(:disabled):active{box-shadow:inset 0 0 0 2px var(--rule)}.sheet-close:focus-visible{box-shadow:inset 0 0 0 2px var(--rule), var(--focus-ring)}.sheet-close .icon{width:20px;height:20px}:root:is([data-layout=desktop],[data-layout=tablet]) .sheet-top{z-index:3;justify-content:flex-end;height:0;margin:0 0 -.75rem;display:flex;position:sticky;top:0}:root:is([data-layout=desktop],[data-layout=tablet]) .sheet-grip{display:none}:root:is([data-layout=desktop],[data-layout=tablet]) .sheet-close{width:38px;height:38px;position:absolute;top:-.6rem;right:-.6rem}.modal-backdrop:has(>.graphics-panel){background:#1c223014;justify-content:flex-end;align-items:stretch}.graphics-panel{overscroll-behavior:contain;background:var(--surface);width:min(30rem,100% - 2rem);max-height:calc(100% - 2rem);margin:1rem;overflow-y:auto}.gfx{flex-direction:column;gap:.75rem;display:flex}.gfx h2{margin:0}.gfx-live{z-index:1;background:var(--fill-navy);color:var(--rb-paper-raw);text-align:center;border-radius:999px;margin:0;padding:.3rem .6rem;font:600 .75rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:sticky;top:0}@media (width<=760px),(height<=520px) and (pointer:coarse){.gfx-live{top:52px}}.gfx fieldset{border:1px solid var(--line-strong);border-radius:var(--r-sm);margin:0;padding:.4rem .75rem .6rem}.gfx legend{font-size:var(--rb-step--1);letter-spacing:var(--rb-label-tracking);text-transform:uppercase;color:var(--ink);padding:0 .3rem;font-weight:800}.gfx-preset-row{flex-wrap:wrap;gap:.3rem;display:flex}.gfx-preset-row button{background:var(--surface-raised);color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule);padding:.3rem .6rem;font-size:.85rem}.gfx-preset-row button.chosen{background:var(--ink);color:var(--surface);box-shadow:var(--lip)}.gfx-preset-row button:disabled:not(.chosen){opacity:.45}.gfx-test{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.85rem;display:flex}.gfx-row{border-bottom:1px solid var(--line);flex-direction:column;gap:.15rem;padding:.35rem 0;display:flex}.gfx-row:last-child{border-bottom:none}.panel .gfx-line{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;min-height:36px;font-weight:600;display:flex}.panel .gfx-line label{font-weight:600;display:inline}.gfx-line select{max-width:55%;font:inherit;border-radius:4px;padding:.2rem .35rem;font-weight:400}.gfx-line input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--azulejo)}.gfx-range{flex:0 15rem;align-items:center;gap:.5rem;display:flex}.panel .gfx-range input{min-width:6rem;accent-color:var(--azulejo);border:none;flex:1;padding:0}.gfx-range output{text-align:right;font-variant-numeric:tabular-nums;min-width:5.5rem;font-size:.85rem;font-weight:400}.gfx-help,.gfx-note{color:var(--ink-muted);margin:0;font-size:.8rem;line-height:1.35}.gfx-when{white-space:nowrap;vertical-align:.05rem;border-radius:999px;margin-right:.15rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-block}.gfx-when-live{background:var(--douro-100);color:var(--douro-700)}.gfx-when-room{background:var(--gold-100);color:var(--gold-700)}.gfx-when-reload{background:var(--port-100);color:var(--port-700)}.gfx-pending{border-left:4px solid var(--gold);background:var(--gold-100);flex-direction:column;gap:.4rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.gfx-pending p{margin:0}body:has(.graphics-panel) .fps-readout{display:none}@media (width<=760px),(height<=520px) and (pointer:coarse){.modal-backdrop:has(>.graphics-panel){justify-content:center;align-items:flex-end}.panel .gfx-line{min-height:44px}.gfx-line select{min-height:40px;font-size:16px}.gfx-preset-row button{min-height:40px}}:root[data-layout=landscape] .modal-backdrop:has(>.graphics-panel){background:0 0}:root[data-layout=landscape] .modal-backdrop>.graphics-panel{background:var(--surface);margin:0}
