:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

/* Layout: the city canvas is the hero; a side panel (right on desktop, below on phones) holds the place you're in. Phone and sheets slide up over the city. */
:root{
  --paper:#F1F2F6; --card:#FFFFFF; --ink:#1B2240; --muted:#5A6180; --line:#DADDE7; --chip:#E8EBF4;
  --red:#C8322B; --blue:#2C4FA3; --gold:#F2C14E; --gold-ink:#7A5A00; --good:#2E7D4F; --warn:#B7770C; --crit:#B3261E;
  --shadow:0 1px 0 rgba(27,34,64,.06),0 10px 30px -14px rgba(27,34,64,.45);
  --display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --body:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#10132A; --card:#1A1F38; --ink:#ECEEF6; --muted:#A2A8C3; --line:#2E3456; --chip:#262C4A;
  --red:#F0675E; --blue:#86A2F2; --gold:#F2C14E; --gold-ink:#F2C14E; --good:#5CC48A; --warn:#F0B44C; --crit:#F0675E;
  --shadow:0 1px 0 rgba(0,0,0,.3),0 10px 30px -14px rgba(0,0,0,.8); color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#10132A; --card:#1A1F38; --ink:#ECEEF6; --muted:#A2A8C3; --line:#2E3456; --chip:#262C4A;
  --red:#F0675E; --blue:#86A2F2; --gold:#F2C14E; --gold-ink:#F2C14E; --good:#5CC48A; --warn:#F0B44C; --crit:#F0675E;
  --shadow:0 1px 0 rgba(0,0,0,.3),0 10px 30px -14px rgba(0,0,0,.8); color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45;padding-inline:12px;padding-block:12px 32px}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.08;text-wrap:balance}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.app{max-width:1180px;margin:0 auto;display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:920px){.app.playing{grid-template-columns:minmax(0,1fr) 380px}}
.stage{position:relative;border-radius:18px;overflow:hidden;background:#9CCBE0;height:min(64svh,620px);min-height:360px;box-shadow:var(--shadow);touch-action:none;user-select:none;-webkit-user-select:none}
.app:not(.playing) .stage{height:min(calc(100svh - 24px),860px)}
canvas#world{display:block;width:100%;height:100%;cursor:pointer}
.plaid{background:
  repeating-linear-gradient(90deg,rgba(200,50,43,.85) 0 10px,transparent 10px 22px,rgba(44,79,163,.8) 22px 30px,transparent 30px 44px),
  repeating-linear-gradient(0deg,rgba(200,50,43,.6) 0 10px,transparent 10px 22px,rgba(44,79,163,.55) 22px 30px,transparent 30px 44px),#F7F5F0}
.label{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:600;background:var(--chip);color:var(--ink)}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.red{background:var(--red);color:#fff}
.btn.ghost{background:transparent;color:var(--muted);padding:8px 4px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* Overlay card on the canvas (welcome / roll / create) */
.ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(180deg,rgba(16,19,42,.15),rgba(16,19,42,.55))}
.ov[hidden]{display:none!important}
.ovcard{background:var(--card);color:var(--ink);border-radius:18px;max-width:520px;width:100%;max-height:100%;overflow:auto;box-shadow:var(--shadow)}
.ovcard .band{height:16px}
.ovcard .in{padding:20px;display:flex;flex-direction:column;gap:14px}
.welcome-t{font-family:var(--display);font-weight:800;font-size:clamp(34px,9vw,58px);letter-spacing:-.035em;line-height:.92}
.welcome-t span{color:var(--red)}
.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1 1 auto}
.reels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:520px){.reels{grid-template-columns:repeat(4,minmax(0,1fr))}}
.reel{border:1.5px dashed var(--line);border-radius:12px;padding:10px 8px;text-align:center;min-height:78px;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}
.reel b{font-family:var(--display);font-size:16px;line-height:1.1;overflow-wrap:anywhere}
.reel.spin b{animation:flick .12s steps(2) infinite}
@keyframes flick{50%{opacity:.35}}
.reel.set{border-style:solid;border-color:var(--ink)}
.profile{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start;border-top:1px solid var(--line);padding-top:14px}
.profile canvas{width:96px;height:120px;border-radius:12px;background:var(--chip)}
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;font-size:14px}
.facts dt{color:var(--muted)} .facts dd{margin:0;font-weight:600}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.form label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:13px;color:var(--muted)}
select,input[type=text]{font:inherit;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);width:100%}
.swatches{display:flex;gap:6px;flex-wrap:wrap}
.sw{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0}
.sw[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--card) inset}

/* HUD over canvas */
.hud{position:absolute;left:10px;right:10px;top:10px;display:flex;gap:8px;align-items:flex-start;justify-content:space-between;pointer-events:none}
.hud>*{pointer-events:auto}
.glass{background:rgba(255,255,255,.93);color:#1B2240;border-radius:12px;padding:7px 11px;box-shadow:0 4px 18px -8px rgba(0,0,0,.4)}
.clock b{font-family:var(--display);font-size:17px;font-weight:800}
.clock small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:#5A6180;text-transform:uppercase}
.money b{font-family:var(--display);font-size:17px;font-weight:800;display:block}
.money small{display:block}
.money b.neg{color:#B3261E}
.needs{display:grid;gap:4px;min-width:118px}
.need{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:#5A6180}
.need i{display:block;height:6px;border-radius:4px;background:#E3E6EF;overflow:hidden;position:relative}
.need i::after{content:"";position:absolute;inset:0;width:var(--v);background:var(--c,#2C4FA3);border-radius:4px;transition:width .4s}
.hud-l{display:flex;gap:8px;flex-wrap:wrap}
.bottom{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;pointer-events:none}
.bottom>*{pointer-events:auto}
.place{font-size:12px}
.place b{font-family:var(--display);font-size:15px}
.zoom{display:flex;flex-direction:column;gap:6px}
.zoom button{width:38px;height:38px;border-radius:10px;border:0;background:rgba(255,255,255,.93);color:#1B2240;font-weight:700;font-size:18px;box-shadow:0 4px 18px -8px rgba(0,0,0,.4)}
.phonebtn{position:relative;width:58px;height:58px;border-radius:18px;border:0;background:#1B2240;color:#fff;box-shadow:0 8px 24px -10px rgba(0,0,0,.6);display:grid;place-items:center}
.phonebtn svg{width:24px;height:24px}
.badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#C8322B;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.banner{position:absolute;left:50%;transform:translateX(-50%);bottom:84px;width:min(440px,calc(100% - 20px));background:#fff;color:#1B2240;border-radius:14px;padding:10px 12px;box-shadow:0 12px 30px -12px rgba(0,0,0,.55);display:flex;gap:10px;align-items:center;border:0;text-align:left;animation:drop .3s ease-out}
@keyframes drop{from{transform:translate(-50%,14px);opacity:0}}
@media (min-width:920px){.app.playing .stage{height:min(calc(100svh - 56px),780px);position:sticky;top:12px}}
.banner .av{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;font-family:var(--display);font-weight:800;color:#fff;background:#2C4FA3}
.banner small{display:block;color:#5A6180;font-size:12px}
.banner span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:330px;font-size:14px}

/* Side panel */
.side{display:flex;flex-direction:column;gap:12px;min-width:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.card .hd{padding:14px 16px 8px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.card .hd h2{font-size:22px}
.card .bd{padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}
.acts{display:grid;gap:6px}
.act{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:10px 12px;width:100%}
.act:hover:not(:disabled){border-color:var(--ink)}
.act:disabled{opacity:.55;cursor:not-allowed}
.act b{display:block;font-size:14px}
.act small{display:block;color:var(--muted);font-size:12px;line-height:1.3}
.act .t{font-family:var(--mono);font-size:11px;color:var(--muted);flex:none}
.goto{display:flex;flex-wrap:wrap;gap:6px}
.goto button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 11px;font-size:13px}
.goto button.hl{background:var(--gold);color:#1B2240;border-color:var(--gold)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:10.5px;padding:3px 8px;border-radius:999px;background:var(--chip);letter-spacing:.02em}
.chip.warn{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}
.chip.crit{background:color-mix(in srgb,var(--crit) 18%,transparent);color:var(--crit)}
.chip.good{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}
.facts2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:0 16px 16px}
.facts2 div{min-width:0}
.facts2 b{display:block;font-size:14px;overflow-wrap:anywhere}
.log p{margin:0;font-size:13.5px;padding:4px 0;border-top:1px dashed var(--line)}
.log p:first-child{border-top:0}
.log p.bad{color:var(--crit)} .log p.good{color:var(--good)}
.progress{height:6px;background:var(--chip);border-radius:4px;overflow:hidden}
.progress i{display:block;height:100%;width:0;background:var(--red);animation:fill .7s linear forwards}
@keyframes fill{to{width:100%}}

/* Sheets */
.sheet{position:fixed;inset:0;z-index:40;background:rgba(16,19,42,.5);display:flex;align-items:flex-end;justify-content:center;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.sheet .card{width:100%;max-width:560px;max-height:min(86svh,760px);display:flex;flex-direction:column;animation:up .22s ease-out}
@keyframes up{from{transform:translateY(24px);opacity:.6}}
.sheet .scroll{overflow:auto;padding:0 16px 16px;display:flex;flex-direction:column;gap:10px}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--chip);padding:4px;border-radius:12px;margin:0 16px 12px}
.tabs button{border:0;background:transparent;padding:8px 4px;border-radius:9px;font-weight:600;color:var(--muted);font-size:13px}
.tabs button[aria-selected="true"]{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
.msg{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}
.msg.unread{border-color:var(--ink)}
.msg .who{display:flex;gap:10px;align-items:center}
.msg .av,.person .av{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;font-family:var(--display);font-weight:800;color:#fff}
.msg .who small{display:block;color:var(--muted);font-size:12px}
.msg p{margin:0}
.msg .choices{display:flex;flex-direction:column;gap:6px}
.msg .choices .btn{text-align:left;padding:10px 12px}
.msg .out{background:color-mix(in srgb,var(--gold) 22%,transparent);border-radius:10px;padding:10px;font-size:14px}
.person{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.person:first-child{border-top:0}
.person .grow{flex:1;min-width:0}
.person b{display:block}
.person small{display:block;color:var(--muted);font-size:12.5px}
.bar{height:5px;border-radius:3px;background:var(--chip);overflow:hidden;margin-top:4px;max-width:160px}
.bar i{display:block;height:100%;background:var(--blue)}
.ms{display:flex;gap:10px;align-items:center;padding:6px 0;font-size:14px}
.ms i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:none}
.ms.done i{background:var(--good);border-color:var(--good)}
.ms.done{font-weight:600}
.ms:not(.done){color:var(--muted)}
.opt{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.opt small{display:block;color:var(--muted);font-size:12.5px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));background:#1B2240;color:#fff;padding:10px 14px;border-radius:12px;font-size:14px;z-index:60;max-width:min(92vw,460px);box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}
.foot{font-size:12px;color:var(--muted);text-align:center;max-width:70ch;margin:4px auto 0}
@media (max-width:420px){.needs{min-width:96px}.need{grid-template-columns:38px 1fr}.form{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Simulation mode: world fills the screen; controls sit above it. */
body.in-game{padding:0;overflow:hidden;--paper:#17232C;--card:#202F3A;--ink:#EEF4EB;--muted:var(--ui-muted);--line:#3D5059;--chip:#2C3F49;--blue:var(--ui-accent);--good:var(--ui-accent);--crit:#F07868;--warn:#F2C14E;color-scheme:dark}
.in-game .app.playing{display:block;max-width:none;margin:0}
.in-game .app.playing .stage{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;border-radius:0;box-shadow:none}
.in-game #side{display:none}
.in-game .foot{display:none}
.in-game #syncStatus{display:block;position:fixed;top:86px;left:24px;margin:0;padding:4px 9px;background:rgba(18,33,41,.83);border-radius:6px;color:#E2EADB;font-size:10px;z-index:12;max-width:calc(100vw - 48px)}
.in-game .hud{top:max(16px,env(safe-area-inset-top));left:24px;right:24px;z-index:10}
.in-game .glass{background:rgba(22,38,47,.92);color:#EFF4EA;border:1px solid rgba(233,246,226,.18);border-radius:14px;box-shadow:0 6px 24px #10202b40;backdrop-filter:blur(14px)}
.in-game .clock small,.in-game .money .label{color:var(--ui-muted)!important}
.in-game .clock b,.in-game .money b{font-size:21px}
.in-game .money b.neg{color:#F07868}
.in-game .needs{min-width:190px;padding:12px}
.in-game .need{color:#CDD9CE;grid-template-columns:48px 1fr;font-size:10px}
.in-game .need i{height:8px;background:#3D5059}
.in-game .bottom{position:fixed;left:20px;right:20px;bottom:max(14px,env(safe-area-inset-bottom));z-index:50;display:flex;justify-content:center;pointer-events:none}
.sim-dock{display:flex;align-items:center;gap:18px;width:min(100%,1080px);padding:10px 14px;background:rgba(20,35,44,.96);border:1px solid color-mix(in srgb, var(--ui-border) 50%, transparent);border-radius:22px;box-shadow:0 12px 50px #081b2680;backdrop-filter:blur(20px);pointer-events:auto;color:#EEF4EB}
.sim-character{display:flex;align-items:center;gap:11px;min-width:185px;max-width:265px;border:0;padding:0;background:none;text-align:left;flex:1}
.sim-character canvas{width:48px;height:62px;flex:none;background:var(--ui-raised);border-radius:13px}
.sim-character span{min-width:0}
.sim-character small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ui-accent)}
.sim-character b{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim-character em{display:block;font-size:11px;font-style:normal;color:var(--ui-muted);max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;flex:2}
.dock-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:58px;min-height:64px;background:#2C3E4780;border:1px solid transparent;border-radius:13px;color:#D4E0DA;transition:background .15s,color .15s}
.dock-btn svg{width:24px;height:24px}
.dock-btn>span:not(.dock-badge){font-weight:600;font-size:11px}
.dock-btn:hover{background:var(--ui-raised)}
.dock-btn[aria-pressed="true"]{background:var(--ui-accent);color:var(--ui-text);border-color:var(--ui-accent)}
.dock-btn:disabled{opacity:.45;cursor:default}
.dock-btn kbd{position:absolute;right:5px;top:3px;font:9px var(--mono);opacity:.5}
.dock-badge{position:absolute;top:3px;right:4px;padding:1px 5px;min-width:17px;border-radius:9px;background:#F07868;color:#17232C;font-size:10px;font-weight:800}
.sim-camera{display:grid;grid-template-columns:repeat(2,28px);gap:4px}
.sim-camera button{height:28px;border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-raised);color:#EDF5E7;font-size:17px}
.sim-camera button:last-child{grid-column:span 2}
.in-game .sheet{bottom:118px;align-items:flex-start;justify-content:flex-end;padding:18px 24px;background:transparent;pointer-events:none}
.in-game .sheet>.card{pointer-events:auto;max-width:460px;max-height:calc(100dvh - 160px);background:rgba(27,44,53,.98);border-radius:20px;border-color:color-mix(in srgb, var(--ui-muted) 40%, transparent);box-shadow:0 18px 70px #08182370}
.in-game .sheet .hd{padding:19px 20px 12px}
.in-game .sheet .scroll{padding:0 20px 20px}
.in-game .sheet .hd h2{font-size:24px}
.in-game .act{background:var(--ui-raised);border-color:var(--ui-border);padding:13px 14px}
.in-game .act:hover:not(:disabled){background:var(--ui-raised);border-color:var(--ui-accent)}
.in-game .btn.primary{background:var(--ui-accent);color:var(--ui-text)}
.in-game .btn:focus-visible,.in-game button:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}
.in-game .toast{bottom:126px;background:var(--ui-background);border:1px solid var(--ui-accent);color:#F4F8EE;z-index:65}
.in-game .banner{bottom:122px;background:var(--ui-background);color:#F3F6EA;border:1px solid color-mix(in srgb, var(--ui-accent) 40%, transparent)}
.in-game .banner small{color:var(--ui-muted)}
.travel-pins{display:flex;gap:8px}.travel-pins>*{flex:1}
.travel-group{display:grid;gap:8px}.travel-group h3{font-size:12px;color:var(--ui-muted);letter-spacing:.04em;margin-top:10px}
.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.destination{display:block;min-height:64px;padding:10px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-raised);text-align:left;color:#EFF4EA}
.destination b{display:block;font-size:12px}.destination small{display:block;margin-top:3px;font-size:10px;color:var(--ui-muted)}
.destination:hover{border-color:var(--ui-accent);background:var(--ui-raised)}.destination:disabled{opacity:.5;cursor:default}
@media(max-width:740px){
  .in-game .hud{top:max(10px,env(safe-area-inset-top));left:10px;right:10px;gap:6px}
  .in-game .hud-l{gap:5px;flex-wrap:nowrap}
  .in-game .glass{padding:8px}
  .in-game .clock b,.in-game .money b{font-size:16px}
  .in-game .clock small{font-size:8px;max-width:150px}
  .in-game .needs{min-width:100px;width:120px;gap:6px}
  .in-game .need{grid-template-columns:36px 1fr;gap:4px;font-size:8px}
  .in-game .need i{height:6px}
  .in-game #syncStatus{top:78px;left:10px;max-width:calc(100vw - 20px);font-size:9px}
  .in-game .bottom{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom))}
  .sim-dock{gap:0;padding:6px;border-radius:18px}
  .sim-character,.sim-camera{display:none}
  .sim-nav{gap:3px}
  .dock-btn{min-width:0;min-height:58px;border-radius:12px;gap:4px}
  .dock-btn svg{width:22px;height:22px}.dock-btn>span:not(.dock-badge){font-size:9px}
  .dock-btn kbd{display:none}
  .in-game .sheet{bottom:calc(82px + env(safe-area-inset-bottom));justify-content:center;align-items:flex-end;padding:10px 8px}
  .in-game .sheet>.card{max-height:calc(100dvh - 175px);max-width:560px}
  .in-game .sheet .hd{padding:15px 16px 10px}.in-game .sheet .scroll{padding:0 16px 16px}
  .in-game .toast{bottom:90px}.in-game .banner{bottom:90px}
}

/* Life Phone: live apps over the city. */
.in-game .sheet>.phone-panel{width:390px;max-width:100%;height:760px;max-height:calc(100dvh - 150px);background:#10132A;color:#ECEEF6;border:1px solid #444D6B;border-radius:26px;overflow:hidden;--card:#1A1F38;--ink:#ECEEF6;--muted:#A2A8C3;--line:#343C59;--chip:#262C4A;--paper:#10132A;--good:#91D577;--crit:#F07868;position:relative;isolation:isolate}
.phone-home-panel::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/phone/london.png') center top/cover no-repeat;opacity:.38}
.phone-topbar{display:flex;align-items:center;gap:10px;padding:14px 18px 6px;flex-shrink:0;min-height:48px}
.phone-topbar b{font-size:16px;flex:1}.phone-topbar>button:last-child{margin-left:auto}
.phone-brand{font-size:10px;letter-spacing:.26em;color:#A2A8C3}
.phone-topbar button,.phone-footer button,.phone-back{border:0;background:transparent;color:#D8DEEF;border-radius:12px;padding:8px;display:flex;align-items:center;gap:8px}
.phone-topbar img,.phone-back img{width:20px;height:20px;filter:invert(1)}
.in-game .phone-panel .phone-content{padding:10px 22px 16px;flex:1;min-height:0;gap:16px;overscroll-behavior:contain}
.phone-home{display:flex;flex-direction:column;gap:26px}
.phone-hero>small{display:none}.phone-hero h2{font-size:40px!important;letter-spacing:-1.5px;margin:10px 0 14px;line-height:1.05}
.phone-hero h2 span{color:var(--ui-accent)}.phone-clock{font:38px var(--mono);font-weight:400;letter-spacing:1px}
.phone-hero p{margin:4px 0 0;color:#B2BBD4;font-size:17px}
.phone-notification{background:#1A1F38ED;border:1px solid #343C59;border-radius:20px;padding:16px}
.phone-message-preview{display:flex;gap:12px;align-items:flex-start}
.phone-avatar{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;background:#EC9D86;color:#222A40;border-radius:50%;font-size:19px;font-weight:700}
.phone-message-preview b{font-size:17px}.phone-notification p{font-size:13px;line-height:1.5;color:#B2BBD4;margin:3px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.phone-open{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--ui-border);border-radius:25px;background:var(--ui-raised);color:var(--ui-accent);padding:11px 16px;margin-top:15px;font-weight:600;font-size:14px}
.phone-open img{width:20px;height:20px;filter:invert(1)}
.phone-apps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}
.phone-app{border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:9px;color:#ECEEF6;font-size:13px;font-weight:600;min-width:0}
.phone-app-icon{position:relative;width:76px;height:76px;max-width:100%;display:grid;place-items:center;border-radius:23px;background:var(--ui-border);box-shadow:inset 0 1px 0 #ffffff30}
.phone-app-icon img{width:40px;height:40px;filter:invert(1);opacity:.92}
.app-map .phone-app-icon{background:#435C78}.app-people .phone-app-icon{background:#66509B}.app-money .phone-app-icon{background:#87713C}.app-life .phone-app-icon{background:#AF6865}.app-city .phone-app-icon{background:#367F8E}
.phone-unread{position:absolute;right:-5px;top:-7px;min-width:25px;height:25px;padding:2px 6px;background:#F07868;border-radius:20px;font-size:14px;color:#fff;display:grid;place-items:center}
.phone-app:hover .phone-app-icon{outline:2px solid var(--ui-accent);outline-offset:3px}
.phone-tagline{text-align:center;font-size:10px;letter-spacing:.1em;color:#A2A8C3;margin:0}
.phone-footer{display:flex;justify-content:center;padding:8px 0 14px;flex-shrink:0}
.phone-footer button{background:#252D47;border:1px solid #444D6B;border-radius:50%;padding:11px}
.phone-footer img{width:23px;height:23px;filter:invert(1)}
.phone-panel .msg{background:#1A1F38;border-color:#343C59}.phone-panel .msg.unread{border-color:var(--ui-accent)}
.phone-panel .btn{background:#262C4A;color:#ECEEF6}.phone-panel .person{border-color:#343C59}.phone-panel .bar i{background:#91D577}
.phone-balance{padding:18px 0 24px}.phone-balance small,.phone-balance p,.phone-help{color:#A2A8C3;font-size:13px}.phone-balance h2{font-size:32px;margin-top:8px;color:var(--ui-accent)}.phone-balance p{margin:8px 0 0}
.phone-money-list>div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #343C59;font-size:13px}.phone-money-list b{font-size:13px}.phone-help{margin:0}
.phone-back{margin:10px 14px 0;font-size:12px;width:fit-content}
@media(max-width:740px){.in-game .sheet>.phone-panel{max-height:calc(100dvh - 175px)}.in-game .phone-panel .phone-content{padding:6px 20px 16px}.phone-home{gap:22px}.phone-hero h2{font-size:36px!important}.phone-app-icon{width:70px;height:70px}}
@media(prefers-reduced-motion:reduce){.phone-panel{animation:none!important}}

/* Native phone apps: readable lists, conversation bubbles and familiar navigation. */
.in-game .sheet>.phone-native{background:#F2F2F7;color:#17171B;border-color:#D1D1D6;--ink:#17171B;--paper:#F2F2F7;--card:#fff;--chip:#E5E5EA;--line:#D1D1D6;--muted:#77777E;--crit:#C63735;--good:#338D53;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif}
.phone-native .phone-topbar{background:#F2F2F7;min-height:54px;padding:10px 14px;border-bottom:1px solid #DADADF}
.phone-native .phone-topbar b{font-size:16px;font-weight:600}.phone-native .phone-topbar button{color:#007AFF}
.phone-native .phone-topbar img,.phone-native .phone-back img,.phone-native .phone-footer img{filter:none;opacity:.65}
.phone-native .phone-footer{background:#F2F2F7;padding:7px 0 10px;border-top:1px solid #DADADF}
.phone-native .phone-footer button{border:0;background:#E5E5EA;padding:9px}
.phone-native .phone-footer img{width:20px;height:20px}
.in-game .phone-native .phone-content{padding:18px 18px 22px;gap:16px}
.phone-native h2,.phone-native h3{font-family:inherit;letter-spacing:-.6px}
.native-heading h2{font-size:31px;line-height:1.1;font-weight:750}.native-heading p{margin:5px 0 0;font-size:12px;color:#77777E}
.phone-search{display:flex;align-items:center;gap:7px;background:#E5E5EA;padding:9px 10px;border-radius:11px}
.phone-search img{width:18px;height:18px;opacity:.4}.phone-search input{background:transparent;border:0;outline:0;min-width:0;width:100%;font:inherit;font-size:15px;color:#17171B;padding:0}.phone-search:focus-within{outline:2px solid #007AFF;outline-offset:2px}
.conversation-list,.contacts-list{background:#fff;border-radius:14px;overflow:hidden}
.conversation-row{width:100%;border:0;border-bottom:1px solid #E5E5EA;background:#fff;display:flex;align-items:center;gap:9px;padding:14px 10px 14px 7px;text-align:left;color:#17171B}
.conversation-row:last-child,.contact-row:last-child{border-bottom:0}.conversation-row:hover,.contact-row:hover{background:#F7F7FA}
.unread-dot{height:8px;width:8px;flex-shrink:0;border-radius:50%;background:transparent}.unread-dot.is-unread{background:#007AFF}
.chat-avatar{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:50%;background:#D7D9DF;color:#555963;font-weight:600;font-size:16px}
.conversation-summary{min-width:0;flex:1;display:grid;gap:4px}.conversation-line{display:flex;gap:6px;justify-content:space-between;align-items:baseline}.conversation-line b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-line small{font-size:9px;white-space:nowrap;color:#88888F}
.conversation-preview{font-size:12px;color:#77777E;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.conversation-summary em{font-style:normal;color:#007AFF;font-size:10px}
.conversation-row>img,.contact-row>img{width:14px;height:14px;opacity:.3;flex-shrink:0}.phone-empty{text-align:center;color:#77777E;font-size:14px;padding:20px 0}
.phone-conversation .phone-topbar{align-items:center;min-height:83px}.chat-contact{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.chat-contact .chat-avatar{width:34px;height:34px;font-size:13px}.chat-contact b{font-size:12px!important;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.in-game .phone-conversation .phone-content{background:#fff;gap:20px;padding:16px 14px 20px}.chat-timeline{display:flex;flex-direction:column;gap:7px}
.chat-date{text-align:center;font-size:10px;color:#88888F;margin:11px 0 5px}
.chat-bubble{max-width:85%;padding:10px 13px;border-radius:18px;font-size:14px;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-bubble.incoming{align-self:flex-start;background:#E9E9EB;color:#17171B;border-bottom-left-radius:6px}.chat-bubble.outgoing{align-self:flex-end;background:#007AFF;color:#fff;border-bottom-right-radius:6px}
.chat-outcome{align-self:center;color:#727278;font-size:11px;text-align:center;line-height:1.45;padding:5px 12px;max-width:95%}.chat-sent{align-self:flex-end;color:#88888F;font-size:9px;padding-right:5px}
.chat-response{display:flex;flex-direction:column;gap:7px;background:#F2F2F7;border-radius:15px;padding:12px;margin:7px 0 9px}
.chat-response>small,.chat-composer>small{font-size:11px;color:#77777E;font-weight:600}.chat-response button{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid #DADADF;border-radius:13px;text-align:left;padding:10px 12px;color:#007AFF;font-size:13px}.chat-response button>span{flex:1}.chat-response button>small{font-size:10px;color:#77777E;max-width:42%}.chat-response img{width:16px;height:16px;opacity:.4}.chat-response button:disabled{opacity:.5;cursor:default}
.chat-composer{border-top:1px solid #E5E5EA;padding-top:13px;display:grid;gap:10px}.chat-composer>div{display:flex;flex-wrap:wrap;gap:7px}.chat-composer button{border:1px solid #BED9FC;background:#F0F6FF;color:#007AFF;border-radius:17px;padding:9px 12px;font-size:12px}.chat-composer button:disabled{opacity:.5}.chat-composer p,.chat-waiting{font-size:11px;color:#88888F;text-align:center;margin:0}
.contact-row{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:0;border-bottom:1px solid #E5E5EA;text-align:left;color:#17171B;padding:12px}.contact-row>span:nth-child(2){flex:1;min-width:0}.contact-row b{display:block;font-size:14px}.contact-row small{display:block;font-size:11px;color:#77777E;margin-top:3px}
.contact-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:14px 0}.contact-profile .chat-avatar{width:76px;height:76px;font-size:28px}.contact-profile h2{font-size:25px}.contact-profile p{color:#77777E;margin:0;font-size:13px}
.contact-shortcuts{display:flex;gap:8px;justify-content:center}.phone-native .contact-shortcuts .btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;color:#007AFF;flex:1;font-size:12px}.contact-shortcuts img{width:23px;height:23px;opacity:.55}
.native-group,.phone-native .phone-money-list{background:#fff;border-radius:14px;padding:0 14px}.native-group>div,.phone-native .phone-money-list>div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #E5E5EA;font-size:13px}.native-group>div:last-child,.phone-native .phone-money-list>div:last-child{border:0}.native-group b{text-align:right;font-weight:500;max-width:60%;overflow-wrap:anywhere}
.native-section-title{font-size:12px;letter-spacing:0!important;color:#77777E;margin:3px 0 0;text-transform:uppercase;font-weight:500}.contact-history{background:#fff;border-radius:14px;padding:0 14px}.contact-history p{margin:0;padding:12px 0;border-bottom:1px solid #E5E5EA;font-size:13px;line-height:1.5}.contact-history p:last-child{border:0}.contact-history small{display:block;color:#77777E;font-size:10px;margin-bottom:3px}
.phone-native .phone-balance{background:#fff;border-radius:18px;padding:23px 20px}.phone-native .phone-balance h2{color:#17171B;letter-spacing:-1px;font-size:34px}.phone-native .phone-balance small,.phone-native .phone-balance p,.phone-native .phone-help{color:#77777E}
.phone-native .btn{background:#E5E5EA;color:#007AFF;border-radius:12px}.in-game .phone-native .btn.primary{background:#007AFF;color:#fff}
.phone-native .profile{flex-direction:column;align-items:center;background:#fff;border-radius:18px;padding:18px!important}.phone-native .facts2{background:#fff;border-radius:14px;padding:14px!important;gap:14px}.phone-native .facts2 .label{font-family:inherit;font-size:10px;letter-spacing:0;color:#77777E}.phone-native .ms{border-color:#E5E5EA;background:#fff;padding:13px;border-radius:10px}.phone-native .ms.done{color:#338D53}.phone-native .log{background:#fff;border-radius:14px;padding:6px 14px}.phone-native .log p{border-top:1px solid #E5E5EA;padding:10px 0}
.phone-native .person{background:#fff;border:0;border-bottom:1px solid #E5E5EA;padding:12px;border-radius:12px}.phone-native .person small{color:#77777E}.phone-native .bar i{background:#007AFF}
.phone-native .phone-back{color:#007AFF}.phone-native .hd .label{color:#77777E;font-family:inherit;font-size:11px;letter-spacing:0}.phone-native .goto button{background:#fff;border:1px solid #DADADF;color:#17171B}
.in-game .phone-native button:focus-visible{outline:3px solid #007AFF;outline-offset:2px}
@media(max-width:740px){.in-game .phone-native .phone-content{padding:14px 14px 18px}.conversation-line small{font-size:8px}.chat-bubble{font-size:13px}}

/* City atlas: a readable map with destination selection and actual walking routes. */
.in-game .sheet>.atlas-panel:not(.phone-panel){max-width:760px;max-height:calc(100dvh - 155px)}
.atlas-toolbar{display:flex;align-items:center;gap:6px}.atlas-toolbar button{border:1px solid #CCD4D7;background:#fff;color:#32444F;padding:8px 12px;border-radius:9px;font-size:12px;min-height:36px}.atlas-toolbar button:nth-child(-n+2){font-size:18px;min-width:36px;padding:4px}.atlas-toolbar button:nth-child(3){margin-left:auto}
.atlas-surface{position:relative;overflow:hidden;border-radius:15px;border:1px solid #CFD6D2;background:#F0EFE9}
.atlas-surface canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab}.atlas-surface canvas:active{cursor:grabbing}
.atlas-compass{position:absolute;right:12px;top:12px;background:#FFFFFFE8;border-radius:20px;padding:7px 10px;font:600 11px system-ui;color:#465466;pointer-events:none}
.atlas-credit{position:absolute;bottom:7px;left:10px;font:9px system-ui;color:var(--ui-border);pointer-events:none;background:#ffffffbb;border-radius:3px;padding:2px 4px}
.atlas-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 0 5px;flex-shrink:0}.atlas-filters button{white-space:nowrap;background:#E8EEEE;border:0;border-radius:20px;padding:8px 12px;font-size:11px;color:#46545B}.atlas-filters button[aria-pressed=true]{background:#2979E5;color:#fff}
.atlas-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;color:#26313B;border:1px solid #D8DFE1;border-radius:14px;padding:15px}.atlas-selection small{display:block;font-size:9px;letter-spacing:.08em;color:#72818A}.atlas-selection b{display:block;font-size:16px;margin:4px 0}.atlas-selection p{margin:0;font-size:11px;color:#66737A}.atlas-selection .btn{font-size:12px;flex-shrink:0}.in-game .atlas-selection .btn.primary{background:#2979E5;color:#fff}
.atlas-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.atlas-places>button{display:flex;align-items:center;gap:10px;min-width:0;text-align:left;border:1px solid #D8DFE1;background:#fff;color:#26313B;border-radius:11px;padding:11px}.atlas-places>button[aria-pressed=true]{border-color:#2979E5;background:#EAF2FD}.atlas-place-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%}.atlas-places b{display:block;font-size:12px}.atlas-places small{display:block;font-size:9px;color:#72818A;margin-top:3px}
.phone-map .atlas-places{grid-template-columns:1fr}.phone-map .atlas-toolbar button{padding:6px 8px;font-size:10px}.phone-map .atlas-toolbar button:nth-child(-n+2){font-size:18px}
@media(max-width:740px){.atlas-places{grid-template-columns:1fr}.atlas-selection{padding:12px}.atlas-selection b{font-size:14px}.atlas-toolbar button{padding:7px 9px;font-size:10px}}

/* Furnishable interiors share the existing isometric game renderer. */
.in-game .sheet>.room-panel{max-width:790px}
.room-toolbar{display:flex;gap:7px;flex-wrap:wrap}.room-toolbar .btn{font-size:12px;padding:10px 13px}
#roomCanvas{display:block;width:100%;height:auto;border:1px solid var(--ui-muted);border-radius:16px;background:#CED7DC;touch-action:manipulation;cursor:crosshair}
.room-guidance{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--ui-raised);border-radius:12px}.room-guidance b{font-size:13px}.room-guidance>span{font-size:12px;color:var(--ui-muted);flex:1}.room-guidance>div{display:flex;gap:7px}.room-guidance .btn{padding:7px 10px;font-size:11px}
.room-content h3{font-size:16px}.room-content h3 small{font-size:11px;color:var(--ui-muted);margin-left:8px;font-family:var(--body)}
.room-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.room-inventory .btn{text-align:left;padding:11px;font-size:12px}.room-inventory small{display:block;font-size:10px;font-weight:400;margin-top:4px;opacity:.75}
.room-shop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.room-shop article{display:grid;justify-items:stretch;gap:6px;padding:10px;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:14px}.room-shop canvas{max-width:100%;height:auto;justify-self:center}.room-shop b{font-size:12px}.room-shop small{font-size:10px;color:var(--ui-muted)}.room-shop .btn{padding:8px;font-size:12px}
.room-note{font-size:11px;line-height:1.55;color:var(--ui-muted);margin:0}
@media(max-width:740px){.room-inventory,.room-shop{grid-template-columns:repeat(2,minmax(0,1fr))}.room-toolbar .btn{font-size:10px;padding:9px}.room-guidance{gap:8px}.room-guidance>span{flex-basis:100%}}
#roomCanvas{aspect-ratio:760/440;height:auto;touch-action:none;cursor:grab}
#roomCanvas:active{cursor:grabbing}
.room-camera-help{font-size:11px;color:var(--ui-muted);margin:0}.room-camera-reset{align-self:flex-start;font-size:10px;padding:6px 10px}
.room-level-tabs{display:flex;gap:8px}.room-level-tabs .btn{flex:1;font-size:12px;padding:10px}
@media(max-width:740px){#roomCanvas{aspect-ratio:1.15}.room-level-tabs .btn{font-size:10px;padding:9px 5px}}

/* Home replaces the city viewport; menus stay compact over the 3D world. */
.home-interior{position:absolute;inset:0;z-index:4;background:#D3DCE0}
#homeRoomCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
#homeRoomCanvas:active{cursor:grabbing}
.home-controls{position:absolute;top:118px;left:24px;right:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;pointer-events:none}
.home-controls>div{background:#192C37DD;border:1px solid #ffffff25;border-radius:14px;padding:13px 16px;color:#F4F6EE;backdrop-filter:blur(12px);max-width:320px}
.home-controls small{font-size:10px;color:#C4D1C9;letter-spacing:.02em}.home-controls h2{font-size:21px;margin:5px 0}.home-controls p{font-size:11px;color:#C4D1C9;margin:0}
.home-controls nav{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:520px;pointer-events:auto}.home-controls .btn{background:#1B303CDD;color:#EFF4EE;border:1px solid #ffffff25;font-size:11px;padding:10px 12px;backdrop-filter:blur(12px)}
.home-controls .btn:hover{background:var(--ui-raised)}
.home-instructions{position:absolute;bottom:122px;left:50%;transform:translateX(-50%);max-width:80%;background:#192C37DB;color:#E9F1E9;border-radius:12px;padding:9px 14px;font-size:11px;text-align:center;display:flex;align-items:center;gap:9px;backdrop-filter:blur(10px)}
.home-instructions .btn{font-size:10px;padding:6px 10px}
.inside-home .sheet>.room-panel{max-width:360px}.inside-home .room-shop{grid-template-columns:repeat(2,minmax(0,1fr))}.inside-home .room-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.inside-home .room-toolbar .btn{font-size:10px;padding:8px}
@media(max-width:740px){.home-controls{top:112px;left:10px;right:10px;gap:8px;flex-direction:column}.home-controls>div{padding:9px 12px;max-width:100%}.home-controls h2{font-size:16px}.home-controls small{font-size:8px}.home-controls p{font-size:9px}.home-controls nav{gap:4px;justify-content:flex-start;max-width:100%}.home-controls .btn{font-size:9px;padding:8px}.home-instructions{bottom:88px;font-size:9px;max-width:90%;width:max-content;padding:7px 10px}.inside-home .sheet>.room-panel{max-width:100%}}

/* Interior HUD: let the room take the visual space. */
.inside-home .hud{left:16px;right:16px;top:max(12px,env(safe-area-inset-top));gap:6px}
.inside-home .glass{padding:9px 12px;border-radius:12px;background:#162B35DC;border:1px solid #FFFFFF20;box-shadow:0 3px 16px #16232C22}
.inside-home .clock b,.inside-home .money b{font-size:20px}.inside-home .clock small{font-size:9px;max-width:none}.inside-home .hud-l{gap:6px}.inside-home .needs{min-width:145px;gap:5px;padding:10px 12px}.inside-home .need{font-size:9px;grid-template-columns:42px 1fr;gap:6px}.inside-home .need i{height:5px}
.inside-home #syncStatus{top:78px;background:none;color:var(--ui-border);padding:0;font-size:9px;text-shadow:0 1px 2px #FFFFFF99}
.home-controls{top:102px;left:16px;right:16px;align-items:center;gap:8px}
.home-controls>div{background:none;border:0;padding:0;backdrop-filter:none;max-width:300px;text-shadow:0 1px 4px color-mix(in srgb, var(--ui-background) 56%, transparent)}.home-controls small{font-size:9px;color:#E7EADF}.home-controls h2{font-size:16px;margin:2px 0}.home-controls p{display:none}
.home-controls nav{gap:5px;max-width:480px}.home-controls .btn{font-size:10px;padding:8px 10px;border-radius:9px;background:#1B303CDA}
.home-more{position:relative;pointer-events:auto}.home-more summary{list-style:none;cursor:pointer}.home-more summary::-webkit-details-marker{display:none}.home-more>div{position:absolute;right:0;top:39px;min-width:135px;padding:6px;border-radius:12px;background:#182F3BF5;box-shadow:0 5px 24px #12253055;display:flex;flex-direction:column;gap:5px}.home-more>div .btn{text-align:left;border:0}
.home-instructions{bottom:116px;font-size:10px;background:#1B303CA6;border:1px solid #FFFFFF12;padding:6px 12px;border-radius:8px}
@media(max-width:740px){
 .inside-home .hud{left:10px;right:10px;top:max(10px,env(safe-area-inset-top))}.inside-home .glass{padding:7px 9px;border-radius:10px}.inside-home .clock b,.inside-home .money b{font-size:16px}.inside-home .clock small{font-size:7px;max-width:110px}.inside-home .money .label{font-size:8px}.inside-home .needs{min-width:90px;width:110px;padding:8px;gap:4px}.inside-home .need{font-size:7px;grid-template-columns:30px 1fr;gap:4px}
 .inside-home #syncStatus{top:72px;left:11px;font-size:8px}.home-controls{top:93px;left:10px;right:10px;flex-direction:row;align-items:flex-start;flex-wrap:wrap}.home-controls>div{width:100%;max-width:none}.home-controls h2{font-size:14px}.home-controls small{font-size:8px}.home-controls nav{gap:4px}.home-controls .btn{font-size:9px;padding:7px 9px}.home-instructions{bottom:86px;font-size:8px;max-width:90%;background:#1B303C99}.inside-home .dock-btn{min-height:51px}.inside-home .sim-dock{padding:5px;border-radius:14px}.inside-home .dock-btn svg{width:20px;height:20px}
}
.home-controls>div{color:var(--ui-raised);text-shadow:0 1px 2px #FFFFFF88}.home-controls small{color:var(--ui-border)}

/* My Life: a personal profile with readable chapters. */
.life-profile{display:flex;align-items:center;gap:16px;padding:6px 0 12px}.life-profile canvas{width:66px;height:83px;flex-shrink:0;border-radius:20px;background:#E3E8E6}.life-profile>div{min-width:0}.life-profile small{font-size:9px;letter-spacing:.06em;color:#77777E}.life-profile h2{font-size:23px;line-height:1.15;margin:5px 0;overflow-wrap:anywhere}.life-profile p{font-size:12px;color:#77777E;margin:0 0 8px}.life-chapter{display:inline-block;background:#E1ECDF;color:var(--ui-border);border-radius:12px;padding:4px 9px;font-size:10px;font-weight:600}
.life-tabs{display:flex;gap:3px;background:#E5E5EA;border-radius:10px;padding:3px;flex-shrink:0}.life-tabs button{flex:1;border:0;background:none;color:#77777E;padding:8px 4px;font-size:12px;border-radius:8px;font-weight:600}.life-tabs button[aria-pressed=true]{background:#fff;color:#17171B;box-shadow:0 1px 3px #22222212}
.life-section{display:flex;flex-direction:column;gap:17px}.life-wealth{background:#fff;border-radius:18px;padding:20px 18px 0;overflow:hidden}.life-wealth>small,.life-progress-summary>small{font-size:9px;letter-spacing:.1em;color:#77777E}.life-wealth>b{font-size:32px;letter-spacing:-1px;display:block;margin-top:7px;font-variant-numeric:tabular-nums}.life-wealth>p{font-size:11px;color:#77777E;margin:3px 0 17px}.life-wealth>div>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:10px 0}.life-wealth>div b{font-weight:500}.life-wealth>button{display:flex;align-items:center;justify-content:space-between;background:none;width:calc(100% + 36px);margin:16px -18px 0;padding:13px 18px;border:0;border-top:1px solid #EEEEF2;color:#007AFF;font-size:12px;text-align:left}.life-wealth button img{width:16px;height:16px;opacity:.4}
.life-buffer{padding:0 2px}.life-buffer>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:9px}.life-buffer span{color:#77777E}.life-buffer p{font-size:10px;color:#77777E;margin:7px 0 0}.life-section progress{width:100%;height:6px;border:0;border-radius:10px;overflow:hidden;display:block;appearance:none;background:#DDE2DD}.life-section progress::-webkit-progress-bar{background:#DDE2DD}.life-section progress::-webkit-progress-value{background:#69A17A;border-radius:10px}.life-section progress::-moz-progress-bar{background:#69A17A;border-radius:10px}
.life-details{background:#fff;border-radius:14px;padding:0 14px}.life-details>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid #EEEEF2;padding:12px 0;font-size:12px}.life-details>div:last-child{border:0}.life-details span{color:#77777E;max-width:40%;flex-shrink:0}.life-details b{font-weight:500;text-align:right;max-width:65%;line-height:1.5;overflow-wrap:anywhere}
.life-personality{background:#fff;border-radius:14px;padding:13px 14px;font-size:12px}.life-personality summary,.life-settings summary{cursor:pointer}.life-personality>div{display:grid;gap:12px;margin-top:16px}.life-personality>div>div{display:flex;gap:8px;align-items:center}.life-personality span{width:75px;text-transform:capitalize;font-size:11px}.life-personality meter{flex:1;min-width:0;height:10px}.life-personality small{color:#77777E;font-size:10px}
.life-next{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:14px;background:#E7EFFA;color:#25537C;padding:14px;text-align:left}.life-next b{display:block;font-size:13px}.life-next small{display:block;font-size:10px;margin-top:4px;color:#5A7590}.life-next img{width:18px;height:18px;opacity:.4}
.life-progress-summary{background:#fff;border-radius:18px;padding:20px}.life-progress-summary h2{font-size:38px;margin:10px 0 2px}.life-progress-summary h2 span{font-size:19px;color:#A3A3A9;font-weight:400}.life-progress-summary>p{font-size:11px;color:#77777E;margin:0 0 15px}.life-progress-summary>div{border-top:1px solid #EEEEF2;margin-top:18px;padding-top:14px}.life-progress-summary>div small{display:block;color:#77777E;font-size:10px}.life-progress-summary>div b{display:block;font-size:12px;margin-top:5px;font-weight:500}
.life-milestone-group{background:#fff;border-radius:15px;padding:14px}.life-milestone-group header{display:flex;justify-content:space-between;align-items:center;padding:0 0 9px}.life-milestone-group h3{font-size:15px}.life-milestone-group header>span{font-size:11px;color:#77777E}.life-milestone-group ol{list-style:none;padding:0;margin:0}.life-milestone-group li{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid #EEEEF2}.life-milestone-marker{display:block;width:22px;height:22px;border:1px solid #D8D8DE;border-radius:50%;flex-shrink:0;background:#F7F7FA}.achieved .life-milestone-marker{background:#DFECDF;border-color:#A7C5A9;display:grid;place-items:center}.life-milestone-marker img{width:13px;height:13px;opacity:.6}.life-milestone-group li b{font-weight:500;font-size:12px;display:block}.life-milestone-group li small{font-size:10px;color:#8C8C93;display:block;margin-top:4px}.life-milestone-group .achieved small{color:#568361}
.life-story-heading h3{font-size:18px}.life-story-heading p{font-size:11px;color:#77777E;line-height:1.5;margin:6px 0 0}.life-timeline{list-style:none;margin:0;padding:0 0 0 8px}.life-timeline li{position:relative;padding:0 0 23px 19px;border-left:1px solid #DADADF}.life-timeline li::before{content:"";position:absolute;left:-4px;top:3px;width:7px;height:7px;border-radius:50%;background:#B3B9C3}.life-timeline li.good::before{background:#69A17A}.life-timeline li.bad::before{background:#D88176}.life-timeline li small{font-size:9px;color:#8C8C93;letter-spacing:.06em}.life-timeline li p{font-size:12px;line-height:1.55;margin:5px 0 0;color:#303039}.life-timeline li:last-child{padding-bottom:0}
.life-settings{border-top:1px solid #DADADF;padding-top:15px;color:#8C8C93;font-size:11px;margin-top:6px}.life-settings p{font-size:10px;line-height:1.5}.phone-native .life-settings #quit{color:#C63735;font-size:11px;background:none;padding:9px 0}

/* Actions: a compact activity menu grounded in the current location. */
.in-game .sheet>.activity-panel{max-width:440px;background:#1B2C35F5;border-color:#FFFFFF22}.activity-panel .hd .label{font-family:var(--body);font-size:11px;letter-spacing:0;text-transform:none;color:var(--ui-muted)}.in-game .activity-panel .activity-content{gap:17px}
.activity-location{display:flex;align-items:center;gap:12px;padding:15px;background:var(--ui-raised);border:1px solid #49606A;border-radius:15px}.activity-location-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:var(--ui-border)}.activity-location img{width:23px;height:23px;filter:invert(1);opacity:.85}.activity-location>div{flex:1;min-width:0}.activity-location small{font-size:8px;letter-spacing:.08em;color:var(--ui-muted)}.activity-location h3{font-size:16px;line-height:1.25;margin:4px 0;font-family:var(--body)}.activity-location p{margin:0;font-size:10px;color:var(--ui-muted)}.activity-status{background:var(--ui-border);color:var(--ui-accent);border-radius:20px;padding:5px 8px;font-size:9px;white-space:nowrap}.activity-status.is-closed{background:#5B3D3C;color:#F0BBB0}.activity-hours{margin:-9px 3px 0;font-size:10px;color:var(--ui-muted)}
.activity-count{display:flex;align-items:center;justify-content:space-between;font-size:12px}.activity-count span{font-size:10px;color:var(--ui-muted)}
.activity-group h3{font-family:var(--body);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-muted);margin:0 0 7px}.activity-group>div{background:#243841;border:1px solid #415863;border-radius:14px;overflow:hidden}
.activity-row{display:flex;align-items:center;gap:11px;width:100%;border:0;border-bottom:1px solid #405761;background:transparent;padding:14px 12px;text-align:left;color:#EEF3EC;min-height:74px}.activity-row:last-child{border-bottom:0}.activity-row:hover:not(:disabled){background:var(--ui-raised)}.activity-row:disabled{opacity:1;cursor:default}.activity-row:disabled .activity-icon{opacity:.4}
.activity-icon{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;background:var(--ui-raised)}.activity-icon img{width:19px;height:19px;filter:invert(1);opacity:.85}.activity-work .activity-icon{background:#3C4E64}.activity-admin .activity-icon{background:#62553C}.activity-connections .activity-icon{background:#554963}
.activity-description{flex:1;min-width:0}.activity-description b{display:block;font-size:12px;font-weight:600;line-height:1.45}.activity-description small{display:block;margin-top:4px;color:var(--ui-muted);font-size:10px;line-height:1.5}.activity-description em{display:block;font-style:normal;font-size:10px;color:#E5B899;margin-top:6px;line-height:1.5}.activity-row:disabled .activity-description b{color:var(--ui-muted)}
.activity-duration{font-size:9px;line-height:1.4;color:var(--ui-muted);border:1px solid var(--ui-border);background:var(--ui-raised);padding:5px 7px;border-radius:7px;white-space:nowrap;align-self:flex-start;margin-top:2px}
.activity-suggestion{border:1px solid var(--ui-accent);border-radius:14px;background:var(--ui-raised);overflow:hidden}.activity-suggestion>small{display:block;padding:12px 12px 0;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-accent)}.activity-suggestion .activity-row{border:0;background:none}.activity-suggestion .activity-icon{background:var(--ui-border)}
.activity-unavailable{border-top:1px solid #405761;padding-top:15px}.activity-unavailable summary{font-size:11px;color:var(--ui-muted);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.activity-unavailable summary::before{content:"";width:6px;height:6px;border-right:1px solid var(--ui-muted);border-bottom:1px solid var(--ui-muted);transform:rotate(-45deg);margin-right:9px}.activity-unavailable[open] summary::before{transform:rotate(45deg)}.activity-unavailable summary span{margin-left:auto;padding:3px 7px;background:var(--ui-raised);border-radius:6px;font-size:9px}.activity-unavailable>div{margin-top:12px;border:1px solid #405761;border-radius:14px;overflow:hidden}
.activity-empty{padding:18px 5px;text-align:center}.activity-empty>img{width:35px;height:35px;filter:invert(1);opacity:.5;margin-bottom:12px}.activity-empty h3{font-family:var(--body);font-size:15px}.activity-empty p{color:var(--ui-muted);font-size:11px;line-height:1.6;margin:8px 0 15px}
.activity-footer{display:flex;gap:7px;flex-wrap:wrap}.activity-footer .btn{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;flex:1;padding:10px;background:var(--ui-raised);color:var(--ui-text)}.activity-footer img{width:16px;height:16px;filter:invert(1);opacity:.7}
@media(max-width:740px){.activity-row{padding:13px 10px;gap:9px}.activity-icon{width:30px;height:30px}.activity-description b{font-size:11px}.activity-duration{font-size:8px;padding:4px 5px}.activity-location{padding:12px}.activity-location h3{font-size:14px}}

/* Randomised life: independently scrolling details and always-visible choices. */
.ov:has(.life-roll){padding:16px;touch-action:pan-y;background:linear-gradient(180deg,color-mix(in srgb, var(--ui-background) 33%, transparent),#0C1A25B8)}
.ovcard.life-roll{width:100%;max-width:660px;max-height:100%;display:flex;flex-direction:column;overflow:hidden;background:#1C2E36;color:#EFF4EB;border:1px solid color-mix(in srgb, var(--ui-muted) 27%, transparent);border-radius:24px;box-shadow:0 24px 80px #06151F77;--ink:#EFF4EB;--muted:var(--ui-muted);--line:#FFFFFF1C;--chip:var(--ui-raised);--paper:#1C2E36}
.roll-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 24px 0;flex-shrink:0}.roll-header .btn{padding:8px 0;font-size:12px;color:var(--ui-muted);min-height:36px}.roll-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--ui-muted);line-height:1.6}
.roll-content{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;padding:16px 24px 24px;display:flex;flex-direction:column;gap:22px;scrollbar-width:thin;scrollbar-color:var(--ui-muted) transparent}.roll-heading h1{font-size:clamp(24px,5vw,32px);letter-spacing:-.035em;text-wrap:initial}.roll-heading p{font-size:12px;color:var(--ui-muted);line-height:1.6;margin:8px 0 0}
.life-roll .reels{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.life-roll .reel{padding:12px 9px;min-height:86px;border:1px solid color-mix(in srgb, var(--ui-muted) 33%, transparent);background:var(--ui-raised);border-radius:12px;gap:7px}.life-roll .reel.set{border-color:color-mix(in srgb, var(--ui-accent) 40%, transparent)}.life-roll .reel .label{font-size:8px;letter-spacing:.07em;color:var(--ui-muted)}.life-roll .reel b{font-size:14px;line-height:1.3;overflow-wrap:normal;word-break:normal;hyphens:auto;font-weight:700}
.roll-character{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:18px}.roll-character canvas{display:block;width:80px;height:100px;background:linear-gradient(145deg,var(--ui-border),var(--ui-raised));border:1px solid color-mix(in srgb, var(--ui-muted) 27%, transparent);border-radius:16px}.roll-character>div{min-width:0}.roll-character h2{font-size:clamp(23px,5vw,29px);line-height:1.13;letter-spacing:-.025em;margin:7px 0;text-wrap:initial;overflow-wrap:break-word}.roll-character p{font-size:12px;color:var(--ui-muted);margin:0}
.roll-route{padding:13px 16px;background:var(--ui-raised);border-radius:12px;border:0}.roll-route p{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:break-word;margin:4px 0 0}.roll-section h3{font-family:var(--body);font-size:13px;font-weight:600;color:#D9E5DB;margin:0 0 10px}.roll-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0}.roll-facts>div{min-width:0;padding:11px 0;border-top:1px solid #FFFFFF1A}.roll-facts dt{font-size:11px;color:var(--ui-muted);margin-bottom:5px}.roll-facts dd{font-size:13px;line-height:1.5;font-weight:600;margin:0;overflow-wrap:break-word;word-break:normal}.roll-story{padding:15px 17px;background:var(--ui-background);border:1px solid color-mix(in srgb, var(--ui-muted) 20%, transparent);border-radius:14px}.roll-story p{font-size:13px;line-height:1.7;color:#D0DFD5;margin:7px 0 0}.roll-wait{padding:30px 12px;text-align:center;color:var(--ui-muted);font-size:13px}
.roll-footer{flex-shrink:0;padding:16px 24px 18px;border-top:1px solid #FFFFFF1C;background:#1C2E36}.roll-buttons{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:10px}.roll-buttons .btn{min-height:48px;font-size:13px;border-radius:12px;padding:12px;white-space:normal}.roll-buttons .primary{display:flex;justify-content:space-between;align-items:center;background:var(--ui-accent);color:var(--ui-text)}.roll-buttons .primary span{font-size:20px;line-height:1}.roll-buttons #rRe{background:var(--ui-raised);color:#DCE8DF;display:flex;align-items:center;justify-content:center;gap:8px}.roll-buttons small{font-size:10px;white-space:nowrap;color:var(--ui-muted)}.roll-footer p{font-size:10px;text-align:center;color:var(--ui-muted);line-height:1.5;margin:10px 0 0}
@media(max-width:540px){.ov:has(.life-roll){padding:8px}.ovcard.life-roll{border-radius:19px}.roll-header{padding:10px 16px 0}.roll-content{padding:12px 16px 18px;gap:18px}.life-roll .reels{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.life-roll .reel{min-height:68px;padding:10px 12px;text-align:left;align-items:flex-start;gap:4px}.life-roll .reel b{font-size:15px}.roll-character{grid-template-columns:72px minmax(0,1fr);gap:14px}.roll-character canvas{width:72px;height:90px}.roll-facts{gap:0 16px}.roll-footer{padding:12px 16px 14px}}
@media(max-height:540px){.roll-header{padding-top:6px}.roll-content{gap:14px;padding-top:8px}.roll-footer{padding-top:9px;padding-bottom:9px}.roll-footer p{margin-top:6px}.roll-buttons .btn{min-height:40px}}

/* Compact character briefing; no decorative left-edge accent bars. */
.life-roll .roll-header{padding:12px 20px;border-bottom:1px solid #FFFFFF12}
.roll-header h1{font-family:var(--body);font-size:12px;font-weight:500;color:var(--ui-muted);letter-spacing:0}
.life-roll .roll-content{padding:20px;gap:16px}
.life-roll .roll-character{grid-template-columns:86px minmax(0,1fr);gap:18px;padding-bottom:3px}
.life-roll .roll-character canvas{width:86px;height:108px;border:0;border-radius:10px;background:var(--ui-raised)}
.life-roll .roll-character h2{font-size:clamp(23px,4vw,30px);margin:0 0 8px;line-height:1.15}
.life-roll .roll-character p{font-size:12px;line-height:1.5}
.life-roll .roll-character .roll-character-city{margin-top:5px;color:var(--ui-accent);font-size:11px}
.life-roll .reels{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;border-top:1px solid #FFFFFF16;border-bottom:1px solid #FFFFFF16;padding:3px 0}
.life-roll .reel,.life-roll .reel.set{border:0;border-radius:0;background:transparent;min-height:0;padding:11px 0;text-align:left;align-items:flex-start;gap:5px}
.life-roll .reel .label{font-family:var(--body);font-size:11px;text-transform:none;letter-spacing:0;color:var(--ui-muted)}
.life-roll .reel b{font-size:13px;line-height:1.4;font-weight:600}
.life-roll .roll-route{border:0;background:none;border-radius:0;padding:0;display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:baseline}
.roll-route>span{font-size:11px;color:var(--ui-muted)}
.life-roll .roll-route p{margin:0;font-size:12px;line-height:1.5;font-weight:500;color:var(--ui-text)}
.life-roll .roll-section h3{font-size:12px;margin-bottom:5px}
.life-roll .roll-facts{gap:0 20px}
.life-roll .roll-facts>div{padding:8px 0;border-top:0}
.life-roll .roll-facts dt{font-size:10px;margin-bottom:3px}
.life-roll .roll-facts dd{font-size:12px;font-weight:500;line-height:1.45}
.life-roll .roll-story{background:none;border:0;border-top:1px solid #FFFFFF16;border-radius:0;padding:12px 0 0}
.life-roll .roll-story p{font-size:12px;line-height:1.65;margin:0;color:var(--ui-muted)}
.life-roll .roll-footer{padding:13px 20px}
.life-roll .roll-buttons .btn{min-height:44px;font-size:12px;border-radius:10px}
@media(max-width:540px){.life-roll .roll-header{padding:8px 16px}.life-roll .roll-content{padding:16px;gap:15px}.life-roll .roll-character{grid-template-columns:70px minmax(0,1fr);gap:14px}.life-roll .roll-character canvas{width:70px;height:88px}.life-roll .roll-character h2{font-size:24px}.life-roll .roll-footer{padding:12px 16px}.life-roll .roll-route{grid-template-columns:58px minmax(0,1fr)}}

/* Shared Borgaring palette, matching the welcome screen in every game state. */
:root,:root[data-theme="dark"],:root[data-theme="light"],body.in-game{
 --ui-background:#1C1F36;--ui-raised:#272B49;--ui-border:#3B405E;
 --ui-text:#ECEEF6;--ui-muted:#A2A8C3;--ui-accent:#F0645C;
 --paper:#10132A;--card:var(--ui-background);--ink:var(--ui-text);
 --muted:var(--ui-muted);--line:var(--ui-border);--chip:var(--ui-raised);
 --red:var(--ui-accent);--blue:#86A2F2;--crit:#F0645C;--good:#5CC48A;--warn:#F2C14E;
 color-scheme:dark;
}
.ovcard.life-roll{background:var(--ui-background);color:var(--ui-text);--ink:var(--ui-text);--muted:var(--ui-muted);--line:var(--ui-border);--chip:var(--ui-raised);--paper:var(--ui-background);border-color:var(--ui-border)}
.life-roll .roll-footer{background:var(--ui-background)}
.life-roll .roll-buttons .primary,.in-game .btn.primary,.dock-btn[aria-pressed="true"]{background:var(--ui-accent);color:var(--ui-text);border-color:transparent}
.life-roll .roll-buttons #rRe{background:var(--ui-raised);color:var(--ui-text)}
.in-game .glass{background:color-mix(in srgb,var(--ui-background) 94%,transparent);color:var(--ui-text);border-color:var(--ui-border)}
.sim-dock{background:color-mix(in srgb,var(--ui-background) 97%,transparent);color:var(--ui-text);border-color:var(--ui-border)}
.in-game .sheet>.card:not(.phone-native){background:var(--ui-background);color:var(--ui-text);border-color:var(--ui-border)}
.in-game .sheet>.phone-native{color-scheme:light;--paper:#F2F2F7;--card:#fff;--ink:#17171B;--muted:#77777E;--line:#D1D1D6;--chip:#E5E5EA;--blue:#007AFF;--good:#338D53;--crit:#C63735}
.in-game .phone-native .btn.primary{background:var(--ui-accent);color:#fff}
.dock-btn:hover,.destination:hover,.in-game .act:hover:not(:disabled){background:var(--ui-border)}
.in-game #syncStatus,.in-game .toast,.in-game .banner{background:var(--ui-background);color:var(--ui-text);border-color:var(--ui-border)}
.in-game .btn:focus-visible,.in-game button:focus-visible{outline-color:var(--ui-accent)}
.activity-icon,.activity-work .activity-icon,.activity-admin .activity-icon,.activity-connections .activity-icon,.activity-suggestion .activity-icon{background:var(--ui-raised)}
.activity-suggestion{background:var(--ui-raised);border-color:var(--ui-border)}
.activity-suggestion>small{color:var(--ui-accent)}
.sim-character canvas,.life-roll .roll-character canvas{background:var(--ui-raised)}
.sim-camera button{background:var(--ui-raised);border-color:var(--ui-border);color:var(--ui-text)}
.dock-badge{background:var(--ui-accent);color:var(--ui-text)}

/* Live friend chats retain native iMessage bubbles inside the Borgaring phone. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.native-heading>.btn{margin-top:10px;font-size:12px;padding:8px 12px}
.phone-native .live-chat-footer{padding:9px 12px 8px;display:flex;flex-direction:column;gap:5px;flex-shrink:0}
.live-composer{display:flex;align-items:flex-end;gap:8px;width:100%}.live-composer textarea{resize:none;min-height:37px;max-height:110px;flex:1;min-width:0;border:1px solid #C7C7CE;border-radius:19px;background:#fff;color:#17171B;font:14px -apple-system,BlinkMacSystemFont,sans-serif;line-height:1.45;padding:8px 13px;overflow-y:auto}.live-composer textarea:focus{outline:2px solid #007AFF;outline-offset:1px}
.phone-native .live-composer button{width:32px;height:32px;border:0;border-radius:50%;background:#007AFF;color:#fff;font-size:23px;font-weight:600;padding:0;flex-shrink:0;margin-bottom:2px}.live-chat-footer>small{font-size:9px;color:#88888F;text-align:center}.chat-contact>small{font-size:9px;color:#88888F}.chat-received-time{align-self:flex-start;padding-left:5px}.chat-typing{align-self:flex-start;display:flex;gap:4px;padding:11px 14px;background:#E9E9EB;border-radius:17px;width:max-content}.chat-typing i{width:6px;height:6px;border-radius:50%;background:#909096;animation:chatTyping 1s infinite alternate}.chat-typing i:nth-child(2){animation-delay:.2s}.chat-typing i:nth-child(3){animation-delay:.4s}@keyframes chatTyping{to{opacity:.3;transform:translateY(-2px)}}
.live-history,.chat-retry{background:none;border:0;color:#007AFF;font-size:11px;align-self:center;padding:8px}.chat-retry{align-self:flex-end;color:#C63735;text-align:right}.friend-code{background:#fff;padding:15px;border-radius:13px}.friend-code>small{font-size:11px;color:#77777E}.friend-code>div{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px}.friend-code code{font-size:16px;color:#17171B;letter-spacing:.04em;overflow-wrap:anywhere}.friend-code .btn{font-size:11px;padding:7px 10px}.friend-code p{font-size:11px;color:#77777E;line-height:1.5;margin:10px 0 0}
.friend-add{display:flex;flex-direction:column;gap:8px}.friend-add>label{font-size:12px;color:#55555C}.friend-add>div{display:flex;gap:8px}.friend-add input{min-width:0;flex:1;border:1px solid #D1D1D6;background:#fff;color:#17171B;font:14px -apple-system,BlinkMacSystemFont,sans-serif;padding:10px 12px;border-radius:10px}.friend-add button{font-size:12px}.friend-add>small{font-size:11px;color:#77777E}.friends-list{background:#fff;border-radius:13px;overflow:hidden}.friends-list>.phone-help{padding:10px 14px}.friend-row{display:flex;align-items:center;gap:10px;padding:13px 10px;border-bottom:1px solid #E5E5EA}.friend-row:last-child{border:0}.friend-row>div{flex:1;min-width:0}.friend-row b{font-size:13px;font-weight:600;display:block;overflow-wrap:anywhere}.friend-row small{display:block;font-size:10px;color:#77777E;margin-top:4px}.friend-row .btn{font-size:11px;padding:8px 10px}.friend-decline{border:0;background:none;color:#8E8E93;font-size:20px;padding:4px}
@media(prefers-reduced-motion:reduce){.chat-typing i{animation:none}}

/* Discover existing players without exchanging a code. */
.player-discovery{display:flex;flex-direction:column;gap:11px}.player-filters{display:flex;gap:5px;flex-wrap:wrap}.player-filters button{padding:7px 10px;border:0;border-radius:9px;background:#E5E5EA;color:#68686F;font-size:10px;font-weight:500}.player-filters button[aria-pressed=true]{background:var(--ui-accent);color:#fff}.directory-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:2px}.directory-title button{background:none;border:0;color:#007AFF;font-size:11px;padding:4px}.player-discovery>[data-directory-status]{font-size:9px;color:#8E8E93;margin-top:-6px}.directory-empty{padding:15px;font-size:12px;line-height:1.6;color:#77777E;margin:0}.friend-requests{display:flex;flex-direction:column;gap:9px}.friend-code-option{font-size:11px;color:#77777E;padding-top:13px;border-top:1px solid #DADADF}.friend-code-option summary{cursor:pointer}.friend-code-option>.friend-code{margin-top:12px}.friend-code-option>.friend-add{margin-top:12px}.player-online{position:relative}.player-online::after{content:"";position:absolute;width:9px;height:9px;background:#34A853;border:2px solid #fff;border-radius:50%;right:0;bottom:1px}.contact-chat-label{flex:0!important;font-size:11px;color:#007AFF;font-weight:500}

/* Progression phones: a physical device around the existing live apps. */
.in-game .sheet:has(.phone-device){top:12px;bottom:104px;align-items:center;padding:10px 24px}
.in-game .sheet>.phone-panel.phone-device{--device-radius:43px;--screen-radius:34px;--device-width:360px;--device-bezel:9px;width:var(--device-width);max-width:100%;height:min(748px,calc(100dvh - 140px));max-height:100%;padding:var(--device-bezel);background:#101115;border:2px solid #414248;border-radius:var(--device-radius);overflow:visible;box-shadow:0 24px 75px #04061199,0 0 0 1px #06070A,inset 0 0 0 1px #FFFFFF25;isolation:isolate;flex-shrink:1}
.in-game .sheet>.phone-panel.phone-device.device-survival{--device-bezel:11px;--screen-radius:31px;--device-radius:44px;border-color:#A96059;box-shadow:0 24px 75px #04061199,0 0 0 2px #D0776C,inset 0 0 0 1px #090A0E}
.in-game .sheet>.phone-panel.phone-device.device-middle{--device-bezel:8px;--screen-radius:35px;--device-radius:44px;border-color:#697188;box-shadow:0 24px 75px #04061199,0 0 0 1px #939AAF,inset 0 0 0 1px #FFFFFF30}
.in-game .sheet>.phone-panel.phone-device.device-elite{--device-width:388px;--device-bezel:5px;--screen-radius:39px;--device-radius:47px;border:3px solid #B5AB9C;box-shadow:0 24px 75px #04061199,0 0 0 1px #E0D8CD,inset 0 0 0 1px #FFFFFF55}
.phone-display{position:relative;display:flex;flex-direction:column;min-height:0;flex:1;width:100%;height:100%;border-radius:var(--screen-radius);overflow:hidden;background:#10132A;isolation:isolate;color:#ECEEF6;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif}
.phone-native .phone-display{background:#F2F2F7;color:#17171B}
.in-game .sheet>.phone-device::before,.in-game .sheet>.phone-device::after{content:"";position:absolute;inset:auto;top:123px;width:3px;height:39px;background:#777A84;border-radius:2px;opacity:1;z-index:1;pointer-events:none}
.in-game .sheet>.phone-device::before{left:-5px;box-shadow:0 48px 0 #777A84,0 -58px 0 -1px #777A84}
.in-game .sheet>.phone-device::after{right:-5px;top:160px;height:68px}
.in-game .sheet>.device-survival::before,.in-game .sheet>.device-survival::after{background:#B6635C}
.in-game .sheet>.device-elite::before,.in-game .sheet>.device-elite::after{background:#B5AB9C}
.device-status{position:relative;display:flex;justify-content:space-between;align-items:center;height:44px;min-height:44px;padding:5px 21px 0;flex-shrink:0;color:inherit;z-index:3}
.device-time{font-size:11px;font-weight:650;letter-spacing:-.2px;min-width:38px;white-space:nowrap}
.device-indicators{display:flex;align-items:center;gap:4px}.device-indicators svg{width:13px;height:11px;fill:currentColor}.device-indicators svg:nth-child(2){width:12px}.device-battery{display:block;width:21px;height:10px;border:1px solid currentColor;border-radius:3px;position:relative;opacity:.9}.device-battery::before{content:"";position:absolute;inset:1px 2px 1px 1px;background:currentColor;border-radius:1px}.device-battery::after{content:"";position:absolute;right:-3px;top:2px;width:2px;height:4px;background:currentColor;border-radius:0 1px 1px 0}
.device-cutout{position:absolute;left:50%;transform:translateX(-50%);top:0;width:137px;height:27px;background:#08090C;border-radius:0 0 18px 18px;display:flex;align-items:center;justify-content:center;gap:13px;box-shadow:inset 0 -1px 0 #ffffff08}
.device-speaker{width:36px;height:4px;background:#27282D;border-radius:5px;box-shadow:inset 0 1px 1px #000}
.device-camera{width:6px;height:6px;display:block;background:radial-gradient(circle at 40% 35%,#36527C 0,#1F2D48 35%,#080A12 65%);border:1px solid #222738;border-radius:50%}
.device-middle .device-cutout{width:104px;height:26px;border-radius:0 0 15px 15px}.device-middle .device-speaker{position:absolute;top:3px;width:30px;height:2px}.device-middle .device-camera{margin-left:34px}
.device-elite .device-status{height:51px;min-height:51px;padding:6px 22px 0}.device-elite .device-cutout{top:10px;width:92px;height:25px;border-radius:20px;justify-content:flex-end;padding:0 10px;gap:8px}.device-elite .device-speaker{width:25px;height:3px;background:#16171A}.device-elite .device-camera{width:7px;height:7px}
.device-home-indicator{display:grid;place-items:center;width:100%;height:22px;min-height:22px;border:0;background:transparent;padding:0;flex-shrink:0;touch-action:none;color:inherit;cursor:pointer}.device-home-indicator>span{width:108px;height:4px;background:currentColor;border-radius:8px;opacity:.9}.device-elite .device-home-indicator>span{width:120px}
.phone-device .phone-topbar{padding:5px 13px;min-height:38px}.phone-device .phone-brand{font-size:9px;letter-spacing:0;color:#D1D4E2;font-weight:500}.phone-device .phone-topbar>button{padding:5px}.phone-device .phone-topbar img{width:17px;height:17px}.phone-device .phone-topbar b{font-size:14px}
.phone-device.phone-conversation .phone-topbar{min-height:69px;padding:5px 13px 9px}.phone-device .chat-contact{gap:3px}.phone-device .chat-contact .chat-avatar{width:28px;height:28px;font-size:10px}
.in-game .phone-device .phone-content{padding:10px 16px 14px;gap:14px;touch-action:pan-y}
.phone-device .phone-display:has(.phone-home)::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 100% 95%,#DD6966 0,transparent 55%),radial-gradient(ellipse at 0 10%,#4761A2 0,transparent 63%),#10132A}
.device-middle .phone-display:has(.phone-home)::before{background:radial-gradient(ellipse at 5% 30%,#5C4B87 0,transparent 62%),radial-gradient(ellipse at 90% 88%,#C46174 0,transparent 56%),#10132A}
.device-elite .phone-display:has(.phone-home)::before{background:radial-gradient(ellipse at 40% -20%,#B0A196 0,transparent 57%),radial-gradient(ellipse at 90% 90%,#7B4D68 0,transparent 53%),linear-gradient(140deg,#222842,#0D1022)}
.phone-home-panel .phone-display:has(.phone-home)::before{background-image:linear-gradient(#10132A66,#10132A88),url('/assets/phone/london.png');background-size:cover;background-position:center}
.phone-device .phone-home{gap:19px}.phone-device .phone-hero{background:#ffffff0D;border:1px solid #ffffff15;border-radius:19px;padding:14px 16px;backdrop-filter:blur(12px)}
.phone-device .phone-hero>small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#D3D6E4}.phone-device .phone-hero h2{font-size:19px!important;letter-spacing:-.5px;line-height:1.2;margin:5px 0 9px}.phone-device .phone-clock{font-family:inherit;font-size:32px;letter-spacing:-1px;font-weight:300;line-height:1.15}.phone-device .phone-hero p{font-size:11px;color:#D6D8E7;margin-top:6px}
.phone-device .phone-notification{padding:12px;border-radius:17px;background:#1C1F36AA;border-color:#ffffff17;backdrop-filter:blur(14px)}.phone-device .phone-avatar{width:32px;height:32px;font-size:12px;background:#F0645C;color:#fff}.phone-device .phone-message-preview{gap:9px}.phone-device .phone-message-preview b{font-size:12px}.phone-device .phone-notification p{font-size:11px;color:#C8CDDD}.phone-device .phone-open{margin-top:10px;border-radius:11px;padding:8px 10px;font-size:11px;background:#ffffff0A;border-color:#ffffff17;color:#ECEEF6}.phone-device .phone-open img{width:15px;height:15px}
.phone-device .phone-apps{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 9px}.phone-device .phone-app{font-size:10px;font-weight:400;gap:6px}.phone-device .phone-app-icon{width:53px;height:53px;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff36,0 4px 12px #00000020}.phone-device .phone-app-icon img{width:28px;height:28px}.phone-device .app-msgs .phone-app-icon{background:linear-gradient(#51DC6C,#25AE47)}.phone-device .app-map .phone-app-icon{background:linear-gradient(#87B5E3,#527BBD)}.phone-device .app-people .phone-app-icon{background:linear-gradient(#9F9AA5,#696571)}.phone-device .app-money .phone-app-icon{background:linear-gradient(#4E5371,#272B49)}.phone-device .app-life .phone-app-icon{background:linear-gradient(#F1847D,#D55855)}.phone-device .app-city .phone-app-icon{background:linear-gradient(#B390C7,#765D95)}.phone-device .phone-unread{min-width:19px;height:19px;font-size:10px;top:-5px;right:-4px;padding:1px 5px}
.ios-page-dots{display:flex;gap:5px;justify-content:center;padding:2px}.ios-page-dots i{height:4px;width:4px;border-radius:50%;background:#ffffff44}.ios-page-dots i:first-child{background:#ffffffCC}
.phone-device .phone-home-footer{padding:4px 11px 3px;display:block}.ios-app-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;background:#ffffff25;backdrop-filter:blur(18px);border:1px solid #ffffff20;border-radius:23px;padding:11px 9px}.phone-device .ios-app-dock .phone-app{border:0;background:none;border-radius:0;padding:0;display:flex;justify-content:center;align-items:center}.phone-device .ios-app-dock .phone-app-icon{width:49px;height:49px}.phone-device .ios-app-dock .phone-app-icon img{width:27px;height:27px;filter:invert(1)}
.phone-device.phone-native .phone-footer:not(.live-chat-footer){padding:0;min-height:0;border:0}.phone-device.phone-native .device-home-indicator{background:#F2F2F7}.phone-device.phone-native .live-chat-footer{padding:8px 11px 3px}.phone-device.phone-native .native-heading h2{font-size:27px}.phone-device .live-composer textarea{font-size:13px}
@media(max-width:740px){.in-game .sheet:has(.phone-device){top:5px;bottom:calc(78px + env(safe-area-inset-bottom));padding:7px 12px}.in-game .sheet>.phone-panel.phone-device{height:min(780px,calc(100dvh - 100px));max-height:100%;width:360px}.in-game .sheet>.phone-panel.device-elite{width:388px}.phone-device .phone-app-icon{width:48px;height:48px}.phone-device .ios-app-dock .phone-app-icon{width:47px;height:47px}}
@media(max-width:360px){.phone-device .device-status{padding-inline:16px}.device-survival .device-cutout{width:121px}.phone-device .phone-app-icon{width:43px;height:43px}.phone-device .ios-app-dock .phone-app-icon{width:42px;height:42px}.phone-device .phone-app{font-size:9px}.phone-device .phone-app-icon img{width:25px;height:25px}.phone-device .phone-hero{padding:12px}.phone-device .phone-home{gap:14px}}

/* Player accounts and the life draw share Borgaring's navy/coral palette. */
.welcome-account{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.welcome-account .btn{font-size:13px;min-height:40px;padding:8px 12px}
.account-content{display:flex;flex-direction:column;gap:18px}.account-content p{margin:0}.account-content h2{margin:0}.account-tabs{display:flex;background:var(--ui-background);border-radius:14px;padding:4px;gap:4px}.account-tabs button{flex:1;border:0;border-radius:10px;background:transparent;color:var(--ui-muted);padding:12px;font:inherit;font-weight:700}.account-tabs button[aria-pressed=true]{background:var(--ui-raised);color:var(--ui-text)}
.account-form{display:flex;flex-direction:column;gap:18px}.account-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}.account-form input{width:100%;min-width:0;box-sizing:border-box;background:var(--ui-background);color:var(--ui-text);border:1px solid var(--ui-border);padding:14px;border-radius:12px;font:inherit;font-size:16px}.account-form small,.account-note{font-size:12px!important;line-height:1.5;color:var(--ui-muted);font-weight:400}.account-password{display:flex;align-items:center;background:var(--ui-background);border:1px solid var(--ui-border);border-radius:12px;overflow:hidden}.account-password input{border:0;background:transparent}.account-password button{background:transparent;color:var(--ui-text);border:0;padding:12px;font:inherit;font-size:12px}.account-error{color:#ffaaa4;font-size:14px}.account-error:empty{display:none}.account-badge{width:64px;height:64px;display:grid;place-items:center;border-radius:22px;background:var(--ui-accent);font-size:24px;font-weight:800;color:#fff}
/* Draw screen: scrollable ticket above an always-visible action tray. */
.ovcard.draw-lobby{width:100%;max-width:600px;height:min(100%,740px);max-height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--ui-background);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:24px}
.draw-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;flex-shrink:0}.draw-top .label{font-size:10px;letter-spacing:.07em;text-align:right}.draw-top .btn{display:flex;align-items:center;gap:6px;min-height:36px;font-size:13px;padding:6px 0}.draw-top img{width:16px;height:16px;filter:invert(1);opacity:.65}
.draw-body{flex:1;min-height:0;overflow-y:auto;padding:8px 24px 18px;scrollbar-width:thin;touch-action:pan-y}.draw-intro{text-align:left;padding:4px 0 24px}.draw-intro>.label{font-size:9px;letter-spacing:.1em;color:var(--ui-muted)}.draw-intro h1{font-size:clamp(32px,6vw,46px);line-height:1.03;letter-spacing:-1.5px;margin:10px 0 12px;text-wrap:initial}.draw-intro h1 span{color:var(--ui-accent)}.draw-intro p{font-size:13px;line-height:1.5;color:var(--ui-muted);margin:0}
.draw-ticket{background:var(--ui-raised);padding:18px;border-radius:18px}.draw-ticket-head{display:grid;grid-template-columns:1fr 24px 1fr;gap:14px;align-items:center;padding-bottom:17px;border-bottom:1px dashed #a2a8c340}.draw-ticket-head>div{min-width:0}.draw-ticket-head .label{font-size:9px;display:block;letter-spacing:.06em}.draw-ticket-head b{display:block;margin-top:4px;font-size:16px;font-weight:650;line-height:1.25;overflow-wrap:break-word}.draw-ticket-head>img{width:23px;filter:invert(1);opacity:.55}.draw-ticket-head>div:last-child{text-align:right}
.draw-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.draw-card{height:146px;border-radius:13px;background:var(--ui-background);display:flex;align-items:center;flex-direction:column;text-align:center;padding:12px;min-width:0;box-sizing:border-box;position:relative;overflow:hidden;transition:background .25s,box-shadow .25s}.draw-card-top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:4px}.draw-card-top>span:first-child{font-size:10px;font-weight:600;color:var(--ui-muted)}.draw-number{font-size:9px;color:#737b9d;font-family:var(--mono)}.draw-seal{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--ui-raised);margin:12px 0 8px;transition:transform .3s,opacity .3s}.draw-seal img{width:21px;height:21px;filter:invert(1);opacity:.6}.draw-card b{font-size:16px;line-height:1.18;overflow-wrap:break-word;font-weight:650;max-width:100%}.draw-card:not(.drawing):not(.revealed) b{font-size:11px;color:var(--ui-muted);font-weight:400}.draw-card small{font-size:9px;color:var(--ui-muted);margin-top:auto;padding-top:5px}.draw-card.drawing{box-shadow:inset 0 0 0 1px var(--ui-accent)}.draw-card.drawing .draw-seal{animation:seal-pulse .8s ease-in-out infinite}.draw-card.drawing b{animation:draw-flicker .2s ease-in-out infinite}.draw-card.revealed{animation:draw-settle .35s ease-out;background:#343851}.draw-card.revealed .draw-seal{margin:8px 0 6px;height:24px;background:transparent}.draw-card.revealed .draw-seal img{width:17px;height:17px;opacity:.85}.draw-card.revealed small{color:#ffaaa4}
.draw-ticket-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px dashed #a2a8c340;font-size:9px;color:var(--ui-muted)}.draw-ticket-bottom span:first-child{font-weight:650;color:var(--ui-text)}
.draw-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 9px}.draw-progress span{font-family:var(--mono);font-size:9px;border-radius:6px;padding:5px 9px;color:var(--ui-muted);background:var(--ui-raised);transition:background .2s,color .2s}.draw-progress span.active{background:var(--ui-accent);color:#fff}.draw-progress span.complete{background:#f0645c24;color:#ffaaa4}#drawStatus{text-align:center;font-size:11px;min-height:17px;line-height:1.5;color:var(--ui-muted);margin:0}
.draw-footer{flex-shrink:0;display:flex;flex-direction:column;gap:9px;padding:14px 24px 20px;background:var(--ui-background);border-top:1px solid var(--ui-border)}.draw-footer-meta{display:flex;align-items:center;justify-content:space-between;color:var(--ui-muted);font-size:10px}.draw-footer-meta small{font-size:10px}.draw-footer .btn.red{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:13px 17px;font-size:15px;border-radius:13px;box-shadow:0 5px 0 #ad4944}.draw-footer .btn.red:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #ad4944}.draw-footer .btn.red:disabled{opacity:.8;box-shadow:none}.draw-footer .btn img{width:23px;height:23px;filter:invert(1)}.draw-footer .btn.ghost{min-height:30px;padding:4px;font-size:11px}.draw-footer [hidden]{display:none!important}.draw-result .roll-character{animation:draw-arrival .45s ease-out}
@keyframes seal-pulse{50%{transform:scale(.9);opacity:.5}}@keyframes draw-flicker{50%{opacity:.55;transform:translateY(2px)}}@keyframes draw-settle{0%{transform:scale(.94)}65%{transform:scale(1.025)}100%{transform:scale(1)}}@keyframes draw-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:620px){.draw-intro{padding-top:10px}.draw-cards{gap:14px}.draw-card{height:152px}.draw-card-top>span:first-child{font-size:11px}.draw-ticket{padding:22px}.draw-body{padding-inline:30px}.draw-top{padding-inline:30px}.draw-footer{padding-inline:30px}}
@media(max-width:380px){.draw-top{padding:12px 16px}.draw-body{padding-inline:16px}.draw-ticket{padding:13px}.draw-card{padding:10px;height:143px}.draw-footer{padding-inline:16px}.draw-ticket-bottom{font-size:8px}.draw-intro h1{font-size:32px}}
@media(max-height:700px){.draw-top{padding-block:10px}.draw-body{padding-top:0}.draw-intro{padding-bottom:14px}.draw-intro h1{font-size:30px;margin:7px 0}.draw-card{height:136px}.draw-seal{margin-top:8px}.draw-card.revealed b{font-size:15px}.draw-card.revealed .draw-seal{height:18px;margin:4px 0}.draw-cards{margin-block:12px}.draw-progress{margin-top:12px}.draw-footer{padding-block:10px 14px}}
@media(prefers-reduced-motion:reduce){.draw-card.drawing b,.draw-card.drawing .draw-seal,.draw-card.revealed,.draw-result .roll-character{animation:none}.draw-card,.draw-seal,.draw-progress span{transition:none}}
