:root{--wood-900:#1e1047;--wood-800:#2e1065;--wood-700:#4c1d95;--wood-600:#6d28d9;--wood-500:#7c3aed;--wood-400:#a78bfa;--wood-300:#c4b5fd;--cream:#fff;--cream-2:#f5f3ff;--cream-3:#ede9fe;--ink:#2e1065;--ink-soft:#6b5b95;--green:#3fb34f;--green-dark:#23802f;--green-hi:#6fd377;--red:#e5483a;--red-dark:#a8261b;--gold:#f6b41a;--gold-dark:#c47f07;--blue:#2f7fd8;--naija:#008751;--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--font-display:"Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{background:var(--wood-800);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}input{font:inherit}.display{font-family:var(--font-display);letter-spacing:.2px;font-weight:800}.canvas-wrap{z-index:0;isolation:isolate;position:fixed;top:0;bottom:0;left:0;right:0}.hud{pointer-events:none;z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.hud>*{pointer-events:auto}.topbar{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:absolute}.topbar>*{pointer-events:auto}.profile-chip{border:3px solid var(--wood-600);box-shadow:0 3px 0 var(--wood-800), 0 6px 14px #00000040;background:linear-gradient(#fff,#f3efff);border-radius:999px;align-items:center;gap:6px;padding:3px 12px 3px 3px;display:flex;position:relative}.profile-chip .avatar{border:2px solid var(--wood-500);background:#ede9fe;border-radius:50%;width:40px;height:40px;overflow:hidden}.profile-chip .who{flex-direction:column;min-width:64px;display:flex}.profile-chip .who b{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:15px;line-height:1;overflow:hidden}.level-star{width:24px;height:24px;color:var(--gold);filter:drop-shadow(0 1px 0 var(--wood-800));place-items:center;display:grid;position:absolute;bottom:-6px;left:-4px}.level-star span{font-family:var(--font-display);color:var(--wood-900);padding-top:2px;font-size:11px;font-weight:800;position:absolute}.bar{border:2px solid var(--wood-700);background:#c4b5fd;border-radius:99px;height:10px;position:relative;overflow:hidden}.bar>i{background:linear-gradient(#8ff09a, var(--green) 55%, var(--green-dark));border-radius:99px;transition:width .4s;position:absolute;top:0;bottom:0;left:0;right:auto}.bar.gold>i{background:linear-gradient(#ffe08a, var(--gold) 55%, var(--gold-dark))}.bar.big{height:18px}.bar.big em{color:#fff;text-shadow:0 1px 1px #00000080;place-items:center;font-size:11px;font-style:normal;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.pill{border:3px solid var(--wood-600);height:36px;box-shadow:0 3px 0 var(--wood-800), 0 6px 12px #00000038;font-family:var(--font-display);white-space:nowrap;background:linear-gradient(#fff,#ede9fe);border-radius:999px;align-items:center;gap:5px;padding:0 4px 0 8px;font-size:16px;font-weight:800;display:flex}.pill .plus{background:linear-gradient(#7ee083, var(--green) 60%, var(--green-dark));color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;box-shadow:inset 0 -2px #00000040}.pill.clock{border-radius:16px;flex-direction:column;gap:6px;height:auto;padding:3px 12px;line-height:1.05}.pill.clock small{color:var(--ink-soft);font-size:11px;font-weight:700}.spacer{flex:1}.round-btn{border:3px solid var(--wood-600);width:50px;height:50px;box-shadow:0 3px 0 var(--wood-800), 0 6px 14px #00000040;color:var(--wood-600);background:radial-gradient(circle at 50% 35%,#fff,#e9e2ff 70%);border-radius:50%;place-items:center;transition:transform 80ms;display:grid;position:relative}.round-btn:active{box-shadow:0 1px 0 var(--wood-800);transform:translateY(2px)scale(.97)}.round-btn.small{width:38px;height:38px}.btn-label{font-family:var(--font-display);color:#fff;text-shadow:0 1px 0 var(--wood-900), 0 0 3px var(--wood-900), 0 0 2px var(--wood-900);margin-top:-2px;font-size:12px;font-weight:800}.badge-dot{background:var(--red);color:#fff;border:2px solid #fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-3px;right:-3px}.side-col{right:calc(8px + var(--safe-right));top:calc(64px + var(--safe-top));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.side-col .item{flex-direction:column;align-items:center;display:flex}.quest-tracker{left:calc(8px + var(--safe-left));top:calc(66px + var(--safe-top));border:3px solid var(--wood-600);width:min(230px,56vw);box-shadow:0 3px 0 var(--wood-800), 0 8px 18px #00000038;text-align:center;background:linear-gradient(#fff,#f3efff);border-radius:14px;padding:7px 10px 8px;position:absolute}.quest-tracker b{font-family:var(--font-display);margin-bottom:5px;font-size:14px;line-height:1.1;display:block}.quest-tracker.done{border-color:var(--green-dark);animation:1.4s infinite pulse}@keyframes pulse{50%{transform:scale(1.03)}}.power-banner{top:calc(120px + var(--safe-top));color:#ffd27a;font-family:var(--font-display);pointer-events:none;background:#14100cd1;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:800;display:flex;position:absolute;left:50%;transform:translate(-50%)}.dock{left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));pointer-events:none;align-items:flex-end;gap:8px;display:flex;position:absolute}.dock>*{pointer-events:auto}.needs{border:3px solid var(--wood-800);background:linear-gradient(#6d28d9,#4c1d95);border-radius:18px;gap:4px;padding:6px 7px;display:flex;box-shadow:inset 0 2px #ffffff26,0 6px 16px #0000004d}.need{background:#2e1065;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:relative}.need svg.ring{position:absolute;top:0;bottom:0;left:0;right:0;transform:rotate(-90deg)}.need .ic{z-index:1;color:#fff;position:relative}.need.low{animation:.9s infinite shake}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.mood-chip{border:3px solid var(--wood-600);min-width:64px;box-shadow:0 3px 0 var(--wood-800);font-family:var(--font-display);text-align:center;background:linear-gradient(#fff,#ede9fe);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:4px 6px;font-size:12px;font-weight:800;line-height:1.1;display:flex}.mood-chip .face{width:26px;height:26px}.chat-btn{margin-left:auto}.action-bar{bottom:calc(76px + var(--safe-bottom));border:3px solid var(--wood-600);width:min(320px,82vw);box-shadow:0 3px 0 var(--wood-800), 0 10px 22px #00000040;background:linear-gradient(#fff,#f3efff);border-radius:16px;align-items:center;gap:10px;padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.action-bar .grow{flex:1;min-width:0}.action-bar b{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.icon-tile{color:#ffd27a;border:2px solid var(--wood-400);background:linear-gradient(135deg,#4c1d95,#2e1065);border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 2px #ffffff26}.icon-tile.big{border-radius:14px;width:58px;height:58px}.btn{font-family:var(--font-display);color:#fff;background:linear-gradient(#7ee083, var(--green) 55%, #2f9a3c);box-shadow:inset 0 -3px 0 var(--green-dark), 0 2px 0 #00000040;text-shadow:0 1px #0000004d;white-space:nowrap;border-radius:12px;padding:8px 16px;font-size:15px;font-weight:800;transition:transform 80ms}.btn:active{transform:translateY(2px)}.btn.red{background:linear-gradient(#ff8a7a, var(--red) 55%, #c63427);box-shadow:inset 0 -3px 0 var(--red-dark), 0 2px 0 #00000040}.btn.gold{background:linear-gradient(#ffe08a, var(--gold) 55%, #e09a0e);box-shadow:inset 0 -3px 0 var(--gold-dark), 0 2px 0 #00000040;color:var(--wood-900);text-shadow:none}.btn.grey,.btn:disabled{color:#f1f1f1;background:linear-gradient(#b8c0b9,#8e978f);box-shadow:inset 0 -3px #69716a}.btn.small{border-radius:10px;padding:5px 12px;font-size:13px}.btn.wide{white-space:normal;border-radius:14px;width:100%;padding:12px;font-size:17px;line-height:1.15}.close-x{color:#fff;background:radial-gradient(circle at 50% 35%, #ff8a7a, var(--red) 70%);width:38px;height:38px;box-shadow:0 3px 0 var(--red-dark), 0 4px 10px #0000004d;border:3px solid #fff;border-radius:50%;place-items:center;display:grid}.sheet-backdrop{z-index:30;background:#100a3040;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{width:min(520px,100%);max-height:70vh;margin:0 8px calc(8px + var(--safe-bottom));border:3px solid var(--wood-800);background:linear-gradient(#7c3aed,#6d28d9);border-radius:22px;flex-direction:column;padding:10px;animation:.22s ease-out rise;display:flex;box-shadow:inset 0 2px #fff3,0 -6px 30px #00000059}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.sheet-head{color:#fff;align-items:center;gap:10px;padding:2px 4px 10px;display:flex}.sheet-head h3{font-family:var(--font-display);text-shadow:0 2px 0 var(--wood-900);margin:0;font-size:20px;line-height:1.05}.sheet-head p{opacity:.9;margin:0;font-size:12px;font-weight:700}.sheet-body{touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;gap:8px;display:flex;overflow-y:auto}.card{background:linear-gradient(#fff, var(--cream-2));border:2px solid #ddd6fe;border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex;box-shadow:0 2px #2e106559}.card .grow{flex:1;min-width:0}.card b{font-family:var(--font-display);font-size:16px;line-height:1.1;display:block}.card small{color:var(--ink-soft);font-size:12px;font-weight:700;display:block}.card .meta{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin-top:3px;font-size:12px;font-weight:800;display:flex}.card .meta span{align-items:center;gap:3px;display:inline-flex}.card.locked{opacity:.6}.panel-backdrop{z-index:40;padding:calc(10px + var(--safe-top)) 10px calc(10px + var(--safe-bottom));background:#100a3073;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.panel{border:4px solid var(--wood-800);background:linear-gradient(#8b5cf6,#6d28d9 30%,#6d28d9);border-radius:26px;flex-direction:column;width:min(560px,100%);height:min(760px,100%);animation:.2s ease-out pop;display:flex;overflow:hidden;box-shadow:inset 0 3px #ffffff2e,0 20px 50px #00000073}@keyframes pop{0%{opacity:0;transform:scale(.94)}}.panel-title{justify-content:center;align-items:center;padding:14px 54px 8px;display:flex;position:relative}.panel-title h2{font-family:var(--font-display);color:#fff;text-shadow:0 3px 0 var(--wood-900), 0 0 6px #0000004d;margin:0;font-size:28px}.panel-title .close-x{position:absolute;top:12px;right:12px}.panel-body{touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;padding:4px 12px 14px;display:flex;overflow-y:auto}.npc-intro{background:linear-gradient(#5b21b6,#312e81);border:2px solid #1e1047;border-radius:18px;align-items:flex-end;gap:10px;padding:10px 12px 0;display:flex}.npc-intro .portrait{flex-shrink:0;width:92px;height:104px}.npc-intro .say{background:#fff;border-radius:14px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:700;position:relative;box-shadow:0 3px #0003}.npc-intro .say:before{content:"";border:8px solid #0000;border-left:0;border-right-color:#fff;position:absolute;bottom:16px;left:-8px}.tabs{gap:6px;padding:0 12px 6px;display:flex;overflow-x:auto}.tab{font-family:var(--font-display);color:#fff;white-space:nowrap;background:#0003;border-radius:12px;align-items:center;gap:5px;padding:6px 12px;font-size:14px;font-weight:800;display:flex}.tab.on{background:var(--cream);color:var(--ink);box-shadow:0 2px 0 var(--wood-900)}.app-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:6px 4px;display:grid}.app-icon{font-family:var(--font-display);color:#fff;text-shadow:0 1px 0 var(--wood-900);flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:800;display:flex}.app-icon .tile{color:#fff;width:64px;height:64px;box-shadow:inset 0 -4px 0 #00000038, inset 0 3px 0 #ffffff4d, 0 3px 0 var(--wood-900);border-radius:18px;place-items:center;display:grid}.toasts{top:calc(62px + var(--safe-top));z-index:60;pointer-events:none;flex-direction:column;gap:6px;width:min(420px,92vw);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{border:3px solid var(--wood-600);background:#fff9eff7;border-radius:14px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:800;animation:.25s ease-out drop;display:flex;box-shadow:0 6px 18px #00000040}.toast.good{border-color:var(--green-dark)}.toast.bad{border-color:var(--red-dark)}@keyframes drop{0%{opacity:0;transform:translateY(-14px)}}.overhead{white-space:nowrap;flex-direction:column;align-items:center;gap:4px;display:flex;transform:translateY(-50%)}.nametag{font-family:var(--font-display);color:#fff;background:#1e1047b8;border-radius:999px;align-items:center;gap:4px;padding:1px 8px 1px 3px;font-size:12px;font-weight:800;display:flex}.nametag.you{background:#008751e6}.nametag.npc{background:#6d28d9d9;padding-left:8px}.nametag .lvl{background:var(--gold);color:var(--wood-900);border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:grid}.speech{white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:92vw;color:var(--ink);background:#fff;border-radius:12px;padding:5px 9px;font-size:12px;font-weight:800;animation:.2s pop;position:relative;overflow:hidden;box-shadow:0 3px 8px #00000040}.speech:after{content:"";border:6px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.spot-marker{width:40px;height:40px;color:var(--wood-600);background:radial-gradient(circle at 50% 35%,#fff,#f3e7d3 70%);border:3px solid #48b356;border-radius:50%;place-items:center;animation:2.4s ease-in-out infinite bob;display:grid;position:relative;box-shadow:0 4px 10px #00000059}.spot-marker:after{content:"";border:7px solid #0000;border-top-color:#48b356;border-bottom:0;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.spot-marker.active{border-color:var(--gold);transform:scale(1.12)}@keyframes bob{50%{translate:0 -4px}}.modal-backdrop{z-index:50;background:#100a308c;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:linear-gradient(#fff, var(--cream-2));border:4px solid var(--wood-600);border-radius:22px;width:min(400px,100%);padding:18px;animation:.2s pop;box-shadow:0 20px 50px #00000073}.modal h3{font-family:var(--font-display);margin:0 0 8px;font-size:22px}.modal ul{margin:0 0 14px;padding-left:18px;font-size:14px;font-weight:700;line-height:1.5}.splash{color:#fff;z-index:100;text-align:center;background:radial-gradient(circle at 50% 30%,#6d28d9,#1e1047 70%);place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.splash .logo{font-family:var(--font-display);color:var(--gold);text-shadow:0 5px #5b21b6,0 10px 24px #00000080;letter-spacing:2px;font-size:72px;font-weight:800;line-height:.9}.splash .tag{font-family:var(--font-display);color:#fef3c7;margin-top:4px;font-size:18px;font-weight:700}.splash .loader{width:min(280px,70vw);margin:26px auto 10px}.splash .hint{color:#ede9fe;min-height:20px;font-size:13px;font-weight:700}.flag-stripe{border-radius:3px;width:120px;height:6px;margin:14px auto 0;display:flex;overflow:hidden}.flag-stripe i{background:var(--naija);flex:1}.flag-stripe i:nth-child(2){background:#fff}.field-label{font-family:var(--font-display);color:#fff;text-shadow:0 2px 0 var(--wood-900);align-items:center;gap:6px;margin-bottom:6px;font-size:16px;font-weight:800;display:flex}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{width:38px;height:38px;box-shadow:0 2px 0 var(--wood-900);border:3px solid #ffffffb3;border-radius:50%}.swatch.on{border-color:var(--gold);box-shadow:0 0 0 3px var(--wood-900);transform:scale(1.12)}.choice-row{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.choice{background:var(--cream);font-family:var(--font-display);white-space:nowrap;box-shadow:0 2px 0 var(--wood-900);color:var(--ink);border:3px solid #0000;border-radius:14px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:800;display:flex}.choice.on{border-color:var(--gold);background:#fff3d1}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.choice-card{background:var(--cream);text-align:left;box-shadow:0 2px 0 var(--wood-900);color:var(--ink);border:3px solid #0000;border-radius:14px;align-items:flex-start;gap:8px;padding:9px;display:flex}.choice-card.on{border-color:var(--gold);background:#fff3d1}.choice-card b{font-family:var(--font-display);font-size:15px;line-height:1.1;display:block}.choice-card small{color:var(--ink-soft);margin-top:2px;font-size:11.5px;font-weight:700;line-height:1.25;display:block}.name-input{border:3px solid var(--wood-800);width:100%;font-family:var(--font-display);background:var(--cream);color:var(--ink);border-radius:14px;outline:none;padding:12px 14px;font-size:20px;font-weight:800}.stat-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat{background:var(--cream);border:2px solid #ddd6fe;border-radius:14px;padding:10px}.stat small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:800;display:block}.stat b{font-family:var(--font-display);font-size:20px}.offline{top:calc(8px + var(--safe-top));z-index:90;background:var(--red);color:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800;position:fixed;left:50%;transform:translate(-50%)}.seg{background:#0003;border-radius:12px;gap:3px;padding:3px;display:flex}.seg button{font-family:var(--font-display);color:#fff;border-radius:10px;flex:1;padding:8px;font-weight:800}.seg button.on{background:var(--cream);color:var(--ink)}@media (max-width:420px){.profile-chip{padding-right:8px}.profile-chip .avatar{width:34px;height:34px}.pill.clock{padding:2px 8px;font-size:14px}.pill{font-size:14px}.side-col .round-btn{width:44px;height:44px}.side-col{gap:3px}}@media (max-width:380px){.need{width:33px;height:33px}.needs{gap:2px;padding:5px}.round-btn{width:44px;height:44px}.pill{height:32px;font-size:14px}}@media (min-width:900px){.need{width:46px;height:46px}.quest-tracker{width:260px}}@media (orientation:landscape) and (max-height:500px){.quest-tracker{top:calc(58px + var(--safe-top))}.side-col{top:calc(54px + var(--safe-top));gap:3px}.side-col .round-btn{width:42px;height:42px}.panel{height:100%}}.bar.health>i{background:linear-gradient(#ff9b9b,#ef4444 55%,#b91c1c)}.joystick{left:calc(14px + var(--safe-left));bottom:calc(86px + var(--safe-bottom));touch-action:none;opacity:.75;z-index:12;-webkit-user-select:none;user-select:none;opacity:.55;background:radial-gradient(circle,#fff6e938,#2e106559);border:3px solid #fff6e98c;border-radius:50%;place-items:center;width:122px;height:122px;transition:opacity .15s;display:grid;position:fixed;box-shadow:inset 0 0 18px #00000040}.joystick.right{left:auto;right:calc(14px + var(--safe-right))}.joystick:before{content:"";border-radius:50%;position:absolute;top:-28px;bottom:-28px;left:-28px;right:-28px}.joystick.on{opacity:1;transition:none}.joystick .knob{pointer-events:none}.action-buttons.swap{right:auto;left:calc(12px + var(--safe-left))}.joystick .knob{border:3px solid var(--wood-600);width:54px;height:54px;box-shadow:0 3px 0 var(--wood-800), 0 6px 12px #0000004d;pointer-events:none;background:radial-gradient(circle at 50% 35%,#fff,#ddd6fe 70%);border-radius:50%}.action-buttons{right:calc(12px + var(--safe-right));bottom:calc(86px + var(--safe-bottom));flex-direction:column-reverse;align-items:center;gap:10px;display:flex;position:absolute}.round-btn.big-action{background:radial-gradient(circle at 50% 35%, #8ff09a, var(--green) 60%, var(--green-dark));color:#fff;border-color:#14532d;width:66px;height:66px}.round-btn:disabled{opacity:.5}.emote-wheel{z-index:25;position:fixed;top:0;bottom:0;left:0;right:0}.emote-item{right:calc(46px + var(--safe-right));bottom:calc(206px + var(--safe-bottom));border:3px solid var(--wood-600);width:64px;height:64px;box-shadow:0 3px 0 var(--wood-800), 0 6px 14px #0000004d;color:var(--wood-600);font-family:var(--font-display);background:radial-gradient(circle at 50% 35%,#fff,#e9e2ff 70%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:11px;font-weight:800;animation:.18s ease-out pop;display:flex;position:absolute}.emote-item span{color:var(--ink);line-height:1}.power-banner{gap:10px}@media (max-width:420px){.joystick{width:108px;height:108px;bottom:calc(80px + var(--safe-bottom))}.joystick .knob{width:46px;height:46px}.action-buttons{bottom:calc(80px + var(--safe-bottom))}.round-btn.big-action{width:58px;height:58px}}.phone-backdrop{z-index:40;padding:calc(10px + var(--safe-top)) 10px calc(10px + var(--safe-bottom));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#100a308c;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.phone{width:min(370px,94vw);height:min(770px,100dvh - 24px);font-family:-apple-system, var(--font-body);border-radius:48px;padding:11px;animation:.22s ease-out pop;position:relative}.phone.android{font-family:"Roboto", var(--font-body);background:linear-gradient(145deg,#2b2f36,#121418);border-radius:40px;box-shadow:inset 0 0 0 2px #3a3f47,0 24px 60px #0000008c}.phone.ios{background:linear-gradient(145deg,#c9c3b8,#8f8a80 40%,#d8d2c6 60%,#7d786f);box-shadow:inset 0 0 0 2px #e9e4da,inset 0 0 0 5px #3b3935,0 24px 60px #0000008c}.phone-side-btn{background:inherit;border-radius:2px;width:4px;position:absolute;right:-3px}.phone-side-btn.a{height:70px;top:140px}.phone-side-btn.b{height:44px;top:230px;left:-3px;right:auto}.phone-screen{background:#f2f2f7;border-radius:38px;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.android .phone-screen{background:#f8f9fa;border-radius:30px}.phone-screen.on-home{background:radial-gradient(120% 80% at 20% 0,#f97316 0%,#0000 55%),radial-gradient(120% 90% at 100% 100%,#7c3aed 0%,#0000 60%),linear-gradient(160deg,#1e3a8a,#0f172a)}.android .phone-screen.on-home{background:radial-gradient(90% 60% at 80% 10%,#34d399 0%,#0000 60%),radial-gradient(100% 70% at 0 100%,#008751 0%,#0000 65%),linear-gradient(#064e3b,#022c22)}.statusbar{z-index:2;flex-shrink:0;justify-content:space-between;align-items:center;height:46px;padding:0 22px 0 26px;font-size:15px;font-weight:700;display:flex;position:relative}.android .statusbar{height:34px;padding:0 18px;font-size:13px}.sb-icons{align-items:center;gap:5px;display:flex}.island{background:#000;border-radius:20px;width:108px;height:31px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.punch{background:#000;border-radius:50%;width:14px;height:14px;position:absolute;top:9px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 3px #1c1c1e}.phone-home{flex-direction:column;flex:1;min-height:0;padding:6px 16px 0;display:flex;overflow:hidden}.ios-widgets{grid-template-columns:1fr 1fr;gap:14px;margin:8px 6px 18px;display:grid}.ios-clock,.ios-widget{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;background:#ffffff2e;border-radius:22px;flex-direction:column;justify-content:center;min-height:128px;padding:12px 14px;display:flex}.ios-clock b{letter-spacing:-1px;font-size:42px;font-weight:700;line-height:1}.ios-clock small,.ios-widget small{opacity:.85;text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.ios-widget b{margin:6px 0;font-size:21px;font-weight:700}.android-widget{color:#fff;margin:14px 4px 20px}.android-widget b{letter-spacing:-1px;font-size:58px;font-weight:400;line-height:1}.android-widget small{opacity:.9;margin-top:4px;font-size:13px;display:block}.android-search{color:#5f6368;background:#ffffffeb;border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:11px 16px;font-size:14px;display:flex}.home-grid{grid-template-columns:repeat(4,1fr);gap:18px 8px;padding:0 2px;display:grid}.home-app{flex-direction:column;align-items:center;gap:6px;display:flex}.app-glyph{border-radius:50%;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 3px 8px #00000040}.home-grid.ios .app-glyph,.ios-dock .app-glyph{border-radius:14px;width:60px;height:60px;box-shadow:0 2px 6px #00000040,inset 0 1px #ffffff59}.app-name{color:#fff;text-shadow:0 1px 2px #00000080;font-size:12px;font-weight:600}.ios-dock{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff38;border-radius:30px;justify-content:space-around;margin:auto 2px 10px;padding:14px 12px;display:flex}.android-upsell{text-align:center;color:#ffffffd9;cursor:pointer;background:#0003;border-radius:12px;margin:auto 0 12px;padding:8px;font-size:12px;font-weight:600}.phone-app{color:#1c1c1e;flex-direction:column;flex:1;min-height:0;display:flex}.app-bar{align-items:center;gap:10px;padding:6px 14px 10px;display:flex}.ios .app-bar{flex-direction:column;align-items:flex-start;gap:2px;padding:0 18px 8px}.ios .app-bar h4{letter-spacing:-.5px;margin:0;font-size:32px;font-weight:800}.android .app-bar{background:#fff;box-shadow:0 1px #e5e7eb}.android .app-bar h4{margin:0;font-size:20px;font-weight:500}.app-back{color:#007aff;align-items:center;gap:4px;padding:4px 0;font-size:16px;display:flex}.android .app-back{color:#1f1f1f;border-radius:50%;justify-content:center;width:36px;height:36px}.app-body{overscroll-behavior:contain;min-height:0;padding:6px 12px max(12px, var(--safe-bottom));touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.phone .app-body .card{background:#fff;border:0;border-radius:14px;box-shadow:0 1px 2px #00000014}.phone.android .app-body .card{border-radius:12px}.phone .app-body .card b{font-family:inherit;font-weight:700}.phone .app-body .stat{background:#fff;border:0;box-shadow:0 1px 2px #00000014}.phone .app-body .icon-tile{color:#007aff;box-shadow:none;background:#f2f2f7;border:0}.phone.android .app-body .icon-tile{color:#1a73e8;background:#e8f0fe;border-radius:50%}.phone .app-body .btn{font-family:inherit}.home-indicator{flex-shrink:0;place-items:center;height:26px;display:grid}.home-indicator i{opacity:.85;background:#111;border-radius:3px;width:130px;height:5px}.on-home .home-indicator i{background:#fff}.navbar{color:#3c4043;background:#ffffffe6;flex-shrink:0;justify-content:space-around;align-items:center;height:44px;display:flex}.on-home .navbar{color:#fff;background:0 0}.navbar button{border-radius:18px;place-items:center;width:56px;height:36px;display:grid}:root{--sun:#ffd60a;--coral:#ff5a5f;--mint:#2dd4bf;--violet:#7c3aed}.panel{background:radial-gradient(120% 60% at 0 0,#a855f7 0%,#0000 60%),radial-gradient(100% 60% at 100% 100%,#ec4899 0%,#0000 55%),linear-gradient(#7c3aed,#5b21b6)}.sheet{background:radial-gradient(120% 80% at 0 0,#a855f7 0%,#0000 55%),linear-gradient(#7c3aed,#5b21b6)}.needs{background:linear-gradient(#4c1d95,#2e1065)}.round-btn{color:var(--violet)}.icon-tile{color:var(--sun);background:linear-gradient(135deg,#7c3aed,#4c1d95);border-color:#c4b5fd}.quest-tracker.done{border-color:#22c55e;box-shadow:0 0 0 3px #ffd60a99,0 8px 18px #00000038}.splash{background:radial-gradient(circle at 50% 25%,#a855f7,#4c1d95 45%,#1e1047 80%)}.splash .logo{color:var(--sun);text-shadow:0 5px #db2777,0 10px 26px #00000080}.nametag.npc{background:#db2777d9}.spot-marker{color:var(--violet);border-color:#22c55e}.app-glyph{position:relative}.app-badge{color:#fff;background:#ff3b30;border:2px solid #fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-4px;right:-4px}.phone-chat{flex-direction:column;flex:1;min-height:0;margin:-6px -12px -12px;display:flex}.phone-chat .msg-list{background:0 0}.chat-backdrop{z-index:42;background:#100a3059;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.chat-panel{width:min(520px,100%);height:min(78vh,640px);margin:0 8px calc(8px + var(--safe-bottom));background:#f5f3ff;border:3px solid #2e1065;border-radius:24px;flex-direction:column;animation:.2s ease-out rise;display:flex;overflow:hidden;box-shadow:0 -10px 40px #00000059}.chat-head{color:#fff;background:linear-gradient(135deg,#7c3aed,#db2777);align-items:center;gap:8px;padding:10px;display:flex}.chat-tabs{flex:1;gap:6px;display:flex}.chat-tabs button{font-family:var(--font-display);color:#fff;background:#ffffff26;border-radius:12px;flex:1;padding:8px 6px;font-size:15px;font-weight:800;position:relative}.chat-tabs button.on{color:#5b21b6;background:#fff}.chat-badge{background:var(--sun);color:#1e1047;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;display:grid;position:absolute;top:-5px;right:-3px}.chat-back{font-family:var(--font-display);color:#fff;text-align:left;flex:1;align-items:center;gap:6px;font-size:17px;font-weight:800;display:flex}.close-x.small{border-width:2px;width:32px;height:32px}.msg-list{touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:4px;padding:12px;display:flex;overflow-y:auto}.msg-empty{text-align:center;color:#6b5b95;padding:30px 10px;font-size:13px;font-weight:700}.msg{flex-direction:column;align-items:flex-start;max-width:82%;display:flex}.msg.mine{align-self:flex-end;align-items:flex-end}.msg-name{color:#7c3aed;margin:6px 0 2px 10px;font-size:11px;font-weight:800}.msg-bubble{color:#1e1047;word-break:break-word;background:#fff;border-radius:18px 18px 18px 6px;padding:8px 12px;font-size:14px;font-weight:700;box-shadow:0 1px 2px #1e10471f}.msg.mine .msg-bubble{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:18px 18px 6px}.phone.ios .msg.mine .msg-bubble{background:#007aff}.phone.android .msg.mine .msg-bubble{background:#1a73e8}.msg-time{color:#8b80a8;margin:1px 8px 0;font-size:10px;font-weight:700}.composer{padding:6px 8px calc(8px + var(--safe-bottom));background:#fff;border-top:1px solid #e4dcff}.quick-row{gap:6px;padding-bottom:6px;display:flex;overflow-x:auto}.quick-row button{color:#5b21b6;white-space:nowrap;background:#f3efff;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}.composer form{gap:6px;display:flex}.composer input{color:#1e1047;background:#faf8ff;border:2px solid #ddd6fe;border-radius:999px;outline:none;flex:1;min-width:0;padding:10px 14px;font-size:16px;font-weight:700}.send-btn{color:#fff;background:linear-gradient(135deg,#22c55e,#15803d);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.thread{text-align:left;color:#1e1047;border-bottom:1px solid #ece6ff;align-items:center;gap:10px;width:100%;padding:10px 6px;display:flex}.thread .grow{flex:1;min-width:0}.thread b{align-items:center;gap:6px;font-size:15px;display:flex}.thread small{color:#6b5b95;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.thread-av{color:#7c3aed;background:#ede9fe;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.online-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;display:inline-block}.levelup-backdrop{z-index:80;padding:max(16px, calc(12px + var(--safe-top))) 16px max(16px, calc(12px + var(--safe-bottom)));overscroll-behavior:contain;background:radial-gradient(circle at 50% 40%,#7c3aed8c,#100a30d9);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.confetti{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.confetti i{border-radius:2px;animation:linear forwards fall;position:absolute;top:-20px}@keyframes fall{to{opacity:.9;transform:translateY(110vh)rotate(720deg)}}.levelup-card{width:min(380px,100%);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px);text-align:center;background:linear-gradient(#fff,#f3efff);border:4px solid #7c3aed;border-radius:28px;flex-direction:column;min-height:0;padding:12px 18px 16px;animation:.35s ease-out bounceIn;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000080}@keyframes bounceIn{0%{opacity:0;transform:scale(.4)}}.levelup-rays{background:repeating-conic-gradient(#ffd60a59 0 10deg, transparent 10deg 20deg);pointer-events:none;border-radius:50%;width:260px;height:260px;margin-top:-90px;margin-left:-130px;animation:8s linear infinite spin;position:absolute;top:-10px;left:50%;-webkit-mask:radial-gradient(circle,#000 30%,#0000 70%);mask:radial-gradient(circle,#000 30%,#0000 70%)}@keyframes spin{to{transform:rotate(360deg)}}.levelup-star{filter:drop-shadow(0 4px #db2777)drop-shadow(0 8px 12px #00000040);flex:none;align-self:center;width:84px;height:84px;margin:-8px auto -4px;position:relative;top:auto;left:auto;transform:none}.levelup-star span{font-family:var(--font-display);color:#5b21b6;place-items:center;padding-top:10px;font-size:40px;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.levelup-card h2{font-family:var(--font-display);background:linear-gradient(90deg,#7c3aed,#db2777,#f59e0b);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:40px;font-weight:800;line-height:1}.levelup-card p{color:#6b5b95;margin:6px 0 12px;font-weight:800}.levelup-card ul{overscroll-behavior:contain;text-align:left;flex-direction:column;gap:6px;min-height:0;margin:0 0 10px;padding:0 2px;list-style:none;display:flex;overflow-y:auto}.levelup-card li{color:#1e1047;background:#fff;border:2px solid #ede9fe;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;font-weight:800;animation:.35s ease-out both slideIn;display:flex}.levelup-card li svg{color:#7c3aed;flex:none}.levelup-card>.btn{flex:none;min-height:48px}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}}.round-btn.driving{color:#fff;background:radial-gradient(circle at 50% 35%,#ff9a9a,#ef4444 70%);border-color:#7f1d1d}.power-banner{flex-wrap:wrap;justify-content:center;max-width:92vw}.doing-tag{font-family:var(--font-body);color:#1e1047;background:#ffd60af2;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:800;box-shadow:0 1px 3px #00000040}.auth-screen{background:linear-gradient(#4c1d95 0%,#9d174d 38%,#f97316 66%,#fbbf24 82%);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.auth-sky{pointer-events:none;height:42%;position:absolute;top:auto;bottom:0;left:0;right:0}.sky-svg{width:100%;height:100%;display:block}.danfo-drive{animation:9s linear infinite drive}@keyframes drive{0%{transform:translate(0)}to{transform:translate(480px)}}.auth-content{z-index:1;padding:calc(clamp(14px, 4vh, 28px) + var(--safe-top)) clamp(12px, 4vw, 18px) calc(20px + var(--safe-bottom));touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;align-items:center;display:flex;position:relative;overflow:hidden auto}.auth-hero{text-align:center;color:#fff;flex-direction:column;align-items:center;gap:clamp(8px,1.8vh,12px);width:min(420px,100%);margin-top:clamp(0px,3vh,32px);display:flex}.auth-logo{font-family:var(--font-display);color:var(--sun);text-shadow:0 6px #db2777,0 14px 30px #00000073;letter-spacing:-1px;font-size:clamp(64px,21vw,104px);font-weight:800;line-height:.85;animation:.7s cubic-bezier(.2,1.6,.4,1) bounceIn}.auth-tag{font-family:var(--font-display);text-shadow:0 2px #00000040;font-size:clamp(18px,5.4vw,22px);font-weight:700}.auth-flag{border-radius:4px;width:110px;height:7px;display:flex;overflow:hidden}.auth-flag i{background:#008751;flex:1}.auth-flag i:nth-child(2){background:#fff}.auth-chips{flex-wrap:wrap;justify-content:center;gap:6px;margin:4px 0;display:flex}.auth-chips span{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border:1.5px solid #ffffff73;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;animation:.4s ease-out both rise}.auth-blurb{text-shadow:0 1px 2px #0000004d;text-wrap:pretty;margin:0 0 6px;font-size:clamp(14px,3.9vw,15px);font-weight:600;line-height:1.5}.auth-ghost{color:#fff!important;background:#ffffff29!important;box-shadow:inset 0 0 0 2px #ffffffb3!important}.auth-top{justify-content:space-between;align-items:center;width:min(420px,100%);margin-bottom:10px;display:flex}.auth-mini-logo{font-family:var(--font-display);color:var(--sun);text-shadow:0 3px #db2777;letter-spacing:-.5px;font-size:26px;font-weight:800}.auth-card{background:#fffffff7;border:2px solid #7c3aed;border-radius:24px;flex-direction:column;gap:12px;width:min(420px,100%);min-width:0;padding:clamp(16px,5vw,22px) clamp(14px,4.5vw,20px) 14px;animation:.25s ease-out pop;display:flex;box-shadow:0 24px 60px #1e104773}.auth-card h2{font-family:var(--font-display);letter-spacing:-.4px;color:#2e1065;text-wrap:balance;margin:0;font-size:clamp(22px,6.6vw,28px);font-weight:800;line-height:1.05}.auth-sub{color:#6b5b95;text-wrap:pretty;margin:0;font-size:14px;font-weight:600;line-height:1.45}.auth-field{flex-direction:column;gap:5px;min-width:0;display:flex}.auth-field>span{color:#4c1d95;font-size:14px;font-weight:800}.auth-field small{color:#8b80a8;font-size:12px;font-weight:600;line-height:1.35}.auth-input{background:#f5f3ff;border:2px solid #ddd6fe;border-radius:14px;align-items:center;min-width:0;display:flex;overflow:hidden}.auth-input:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.auth-input input{color:#1e1047;background:0 0;border:0;outline:none;flex:1;width:100%;min-width:0;padding:12px 14px;font-size:16px;font-weight:600}.auth-eye{color:#7c3aed;flex:none;align-self:stretch;padding:0 14px;font-size:13px;font-weight:800}.auth-error{color:#991b1b;background:#fee2e2;border-radius:12px;align-items:flex-start;gap:8px;padding:9px 12px;font-size:13px;font-weight:700;line-height:1.4;display:flex}.auth-error svg{flex:none;margin-top:1px}.auth-link{color:#6b5b95;flex-wrap:wrap;justify-content:center;gap:2px 5px;padding:6px;font-size:14px;font-weight:600;display:flex}.auth-link span,.auth-link b{white-space:nowrap}.auth-link b{color:#7c3aed;font-weight:800}.auth-back{color:#fff;background:#00000038;border-radius:999px;align-items:center;gap:4px;padding:8px 14px 8px 10px;font-size:14px;font-weight:800;display:flex}.tour{z-index:70;position:fixed;top:0;bottom:0;left:0;right:0}.tour-dim{background:#100a309e;position:absolute;top:0;bottom:0;left:0;right:0}.tour-hole{pointer-events:none;border-radius:22px;transition:all .3s;animation:1.6s infinite pulse;position:absolute;box-shadow:0 0 0 9999px #100a309e,0 0 0 4px #ffd60a,0 0 24px 6px #ffd60a99}.tour-card{background:#fff;border:3px solid #7c3aed;border-radius:22px;align-items:flex-end;gap:8px;width:min(400px,100% - 24px);padding:10px 12px 12px 6px;animation:.25s ease-out pop;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0006}.tour-card.center{top:50%;transform:translate(-50%,-50%)}.tour-portrait .portrait{width:84px;height:96px}.tour-body{flex:1;min-width:0}.tour-step{color:#7c3aed;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:800}.tour-body h3{font-family:var(--font-display);color:#2e1065;margin:2px 0 4px;font-size:20px;font-weight:800;line-height:1.1}.tour-body p{color:#3b2f63;margin:0 0 8px;font-size:13.5px;font-weight:700;line-height:1.4}.tour-actions{justify-content:space-between;align-items:center;display:flex}.tour-dots{justify-content:center;gap:4px;margin-top:8px;display:flex}.tour-dots i{background:#ddd6fe;border-radius:50%;width:7px;height:7px}.tour-dots i.on{background:#7c3aed;border-radius:4px;width:18px}.money-col{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.wanted-chip{color:#fff;font-family:var(--font-display);letter-spacing:.6px;background:#7f1d1d;border:2px solid #fecaca;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:800;animation:1.2s infinite pulse;display:flex;box-shadow:0 2px #450a0a}.stars{gap:2px;display:inline-flex}.stars i{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#ffffff4d;width:10px;height:10px}.stars i.on{background:#ffd60a}.wanted-tag{font-family:var(--font-display);letter-spacing:.5px;color:#fff;background:#b91c1ceb;border-radius:999px;align-items:center;gap:2px;padding:1px 6px;font-size:9px;font-weight:800;display:flex}.wanted-tag i{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#ffd60a;width:8px;height:8px}.cop-tag{letter-spacing:.6px;color:#fff;background:#1d4ed8;border-radius:4px;margin-left:4px;padding:0 4px;font-size:8px}.jail-banner{top:calc(70px + var(--safe-top));color:#fff;background:linear-gradient(135deg,#1f2937,#0b2545);border:2px solid #facc15;border-radius:18px;flex-direction:column;gap:6px;width:min(360px,100vw - 24px);padding:10px 12px;animation:.3s ease-out drop;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.jail-top{align-items:center;gap:8px;display:flex}.jail-top b{font-family:var(--font-display);flex:1;font-size:16px}.jail-time{font-family:var(--font-display);color:#facc15;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.jail-banner small{opacity:.85;font-size:12px;line-height:1.35}.jail-actions{flex-wrap:wrap;gap:6px;display:flex}.jail-actions .btn{flex:auto}.card.col{flex-direction:column;align-items:stretch;gap:8px}.row{align-items:center;gap:10px;display:flex}.row.gap{flex-wrap:wrap;gap:8px}.card.done{opacity:.7}.card.crime{background:linear-gradient(#fff,#fff1f2)}.reqs{flex-wrap:wrap;gap:5px;display:flex}.req{color:#991b1b;background:#fee2e2;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.req.ok{color:#166534;background:#dcfce7}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip-row.scroll{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chip-row.scroll::-webkit-scrollbar{display:none}.chip{white-space:nowrap;color:#4c1d95;background:#ffffffe6;border:1.5px solid #ddd6fe;border-radius:999px;align-items:center;gap:4px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.chip.on{color:#fff;background:#4c1d95;border-color:#4c1d95}.pill-note{color:#5b21b6;background:#ede9fe;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.pill-note.good{color:#166534;background:#dcfce7}.banner{border-radius:14px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4;display:flex}.banner.bad{color:#7f1d1d;background:#fee2e2;border:1.5px solid #fecaca}.banner svg{flex:none;margin-top:1px}.card.hero{color:#fff;border:0}.card.hero small{color:#ffffffd9}.card.hero.violet{background:linear-gradient(135deg,#4c1d95,#db2777)}.card.hero.danger{background:linear-gradient(135deg,#450a0a,#b91c1c)}.card.hero.calm{background:linear-gradient(135deg,#064e3b,#0f766e)}.hero-title{font-family:var(--font-display);letter-spacing:-.3px;font-size:clamp(22px,6vw,28px);font-weight:800;line-height:1.05}.hero-title.dark{color:#1e1047;font-size:clamp(19px,5vw,22px)}.section-label{font-family:var(--font-display);letter-spacing:.6px;text-transform:uppercase;color:#ffffffd9;margin:6px 2px -2px;font-size:13px;font-weight:800}.phone .section-label{color:#6b7280}.muted{color:#8b80a8;font-size:12px;font-weight:700}.lock-note{align-items:center;gap:3px;display:inline-flex;color:#a8261b!important}.risk{color:#b45309!important}.boutique-top{background:linear-gradient(135deg,#fff,#fdf2f8);border-radius:18px;align-items:center;gap:12px;padding:10px;display:flex;box-shadow:0 2px #2e10654d}.boutique-preview{border-radius:18px;flex-shrink:0;width:120px;height:120px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #fbcfe8}.boutique-tag{color:#fff;background:#db2777;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;position:absolute;bottom:6px;left:6px}.boutique-top .price{font-family:var(--font-display);color:#15803d;margin:2px 0 8px;font-size:18px;font-weight:800}.swatches.small{gap:6px}.swatches.small .swatch{border-width:2px;width:26px;height:26px}.outfit-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.outfit-card{color:#1e1047;background:#fff;border:2px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 6px;display:flex;box-shadow:0 2px #2e10654d}.outfit-card svg{border-radius:12px}.outfit-card b{font-family:var(--font-display);text-align:center;font-size:13px;line-height:1.1}.outfit-card small{color:#15803d;font-size:12px;font-weight:800}.outfit-card small.owned{color:#7c3aed}.outfit-card.on{background:#fffbea;border-color:#ffd60a;transform:translateY(-1px)}.sticky-foot{padding:10px 12px calc(12px + var(--safe-bottom));background:linear-gradient(#0000,#5b21b6f2 30%);flex-direction:column;gap:6px;margin:0 -12px -14px;display:flex;position:sticky;bottom:-14px}.road{flex-direction:column;gap:6px;display:flex}.road-step{background:#fff;border-radius:14px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex;box-shadow:0 2px #2e106540}.road-dot{color:#1e1047;width:30px;height:30px;font-family:var(--font-display);background:linear-gradient(135deg,#ffd60a,#f59e0b);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.road-item{color:#1e1047;align-items:center;gap:6px;padding:1px 0;font-size:13px;font-weight:700;line-height:1.35;display:flex}.road-item svg{color:#7c3aed;flex:none}.bank-balance{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:-.5px;font-size:clamp(24px,8vw,34px);line-height:1.1}.rich-badge{color:#1e1047;text-transform:uppercase;letter-spacing:.5px;vertical-align:1px;background:#ffd60a;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:10px;font-weight:800;display:inline-block}.ok-note{align-items:center;gap:3px;display:inline-flex;color:#15803d!important}.cs{background:#1e1047;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.cs-stage{background:linear-gradient(#5b21b6 0%,#be185d 48%,#f97316 78%,#fbbf24 100%);flex:44%;min-height:200px;position:relative;overflow:hidden}.cs-stage canvas{z-index:1;position:relative}.cs-sun{aspect-ratio:1;opacity:.8;background:radial-gradient(circle,#ffe680 0%,#ffd60a 55%,#ffd60a00 72%);border-radius:50%;width:min(56vw,260px);position:absolute;top:22%;left:50%;transform:translate(-50%)}.cs-skyline{clip-path:polygon(0 40%,6% 40%,6% 20%,14% 20%,14% 50%,22% 50%,22% 10%,30% 10%,30% 45%,40% 45%,40% 25%,48% 25%,48% 55%,60% 55%,60% 15%,68% 15%,68% 42%,78% 42%,78% 28%,88% 28%,88% 48%,100% 48%,100% 100%,0 100%);background:linear-gradient(#0000,#1e10478c),repeating-linear-gradient(90deg,#1e10478c 0 22px,#1e104759 22px 34px,#1e104799 34px 58px,#0000 58px 66px);height:32%;position:absolute;bottom:0;left:0;right:0}.cs-top{z-index:2;top:calc(10px + var(--safe-top));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;left:12px;right:12px}.cs-top>*{pointer-events:auto}.cs-brand{font-family:var(--font-display);color:#fff;text-shadow:0 2px #1e104780;letter-spacing:-.3px;font-size:20px;font-weight:800}.cs-dice{color:#6d28d9;background:#fffffff2;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:800;display:flex;box-shadow:0 4px 14px #1e10474d}.cs-nameplate{z-index:2;left:12px;top:calc(44px + var(--safe-top));text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:none;background:#1e104773;border-radius:12px;max-width:46%;padding:4px 11px;position:absolute}.cs-nameplate b{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:17px;line-height:1.1;display:block;overflow:hidden}.cs-nameplate small{opacity:.85;white-space:nowrap;font-size:11px;font-weight:600}.cs-panel{z-index:3;background:#faf8ff;border-radius:24px 24px 0 0;flex-direction:column;flex:56%;min-height:0;margin-top:-18px;display:flex;position:relative;box-shadow:0 -10px 30px #1e104759}.cs-steps{border-bottom:1px solid #ede9fe;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px 12px 6px;display:grid}.cs-step{color:#8b80a8;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:4px 2px;display:flex}.cs-step-dot{color:#7c3aed;background:#ede9fe;border-radius:50%;place-items:center;width:28px;height:28px;transition:transform .15s;display:grid}.cs-step-label{letter-spacing:.2px;font-size:11px;font-weight:800}.cs-step.on{color:#2e1065}.cs-step.on .cs-step-dot{color:#fff;background:#7c3aed;transform:scale(1.1);box-shadow:0 0 0 4px #7c3aed2e}.cs-step.done .cs-step-dot{color:#fff;background:#22c55e}.cs-scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:16px;min-height:0;padding:12px 14px 10px;display:flex;overflow-y:auto}.cs-section{flex-direction:column;gap:9px;display:flex}.cs-section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.cs-section-head h3{font-family:var(--font-display);color:#1e1047;letter-spacing:-.2px;margin:0;font-size:17px;font-weight:800}.cs-section-head span{color:#7c3aed;white-space:nowrap;font-size:12px;font-weight:700}.cs-seg{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cs-seg button{color:#4c1d95;background:#fff;border:2px solid #ede9fe;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:13px 8px;font-size:15px;font-weight:800;display:flex}.cs-seg button.on{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.cs-swatches{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:9px;display:grid}.cs-swatch{aspect-ratio:1;border-radius:50%;place-items:center;transition:transform .12s;display:grid;box-shadow:inset 0 -3px #0000002e,0 2px 6px #1e104726}.cs-swatch.on{transform:scale(1.08);box-shadow:0 0 0 3px #faf8ff,0 0 0 5px #7c3aed}.cs-outfits{grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px;display:grid}.cs-outfit{color:#1e1047;background:#fff;border:2px solid #ede9fe;border-radius:16px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:9px 6px;display:flex}.cs-outfit svg{border-radius:14px}.cs-outfit b{font-family:var(--font-display);text-align:center;font-size:13px;line-height:1.1}.cs-outfit small{color:#8b80a8;font-size:11px;font-weight:700}.cs-outfit.on{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.cs-name{background:#fff;border:2px solid #ddd6fe;border-radius:16px;align-items:center;padding-right:12px;display:flex}.cs-name:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.cs-name input{min-width:0;font-family:var(--font-display);color:#1e1047;background:0 0;border:0;outline:none;flex:1;padding:13px 14px;font-size:19px;font-weight:700}.cs-name span{color:#a29bbd;font-size:12px;font-weight:700}.cs-error{color:#991b1b;background:#fee2e2;border-radius:12px;align-items:center;gap:6px;padding:8px 11px;font-size:13px;font-weight:700;display:flex}.cs-origins{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.cs-origin{text-align:left;color:#1e1047;background:#fff;border:2px solid #ede9fe;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:11px;display:flex}.cs-origin.on{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.cs-origin-icon{color:#ffd60a;background:linear-gradient(135deg,#7c3aed,#db2777);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.cs-origin b{font-family:var(--font-display);font-size:15px}.cs-origin small{color:#6b5b95;font-size:12px;font-weight:600;line-height:1.35}.cs-origin-meta{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.cs-origin-meta em{color:#5b21b6;background:#ede9fe;border-radius:999px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:800}.cs-origin-meta em.good{color:#166534;background:#dcfce7}.cs-origin-meta em.bad{color:#991b1b;background:#fee2e2}.cs-traits{flex-wrap:wrap;gap:7px;display:flex}.cs-trait{color:#4c1d95;background:#fff;border:2px solid #ede9fe;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.cs-trait.on{color:#fff;background:#7c3aed;border-color:#7c3aed}.cs-trait-notes{color:#4c3d73;flex-direction:column;gap:3px;font-size:12.5px;line-height:1.4;display:flex}.cs-trait-notes b{color:#2e1065}.cs-foot{padding:10px 14px calc(12px + var(--safe-bottom));background:#faf8ff;border-top:1px solid #ede9fe;gap:8px;display:flex}.cs-back{color:#5b21b6;background:#ede9fe;border-radius:14px;flex:none;place-items:center;width:50px;display:grid}.cs-fine{color:#4c3d73;text-align:center;text-wrap:pretty;margin:0;font-size:13.5px;font-weight:600;line-height:1.5}.cs-idcard{background:linear-gradient(135deg,#ecfdf5 0%,#fff 45%,#fef9c3 100%);border:2px solid #0f766e;border-radius:20px;animation:.35s ease-out pop;position:relative;overflow:hidden;box-shadow:0 14px 30px #0f766e40}.cs-idcard:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#0f766e0a 0 6px,#0000 6px 12px);position:absolute;top:0;bottom:0;left:0;right:0}.cs-idcard-top{color:#fff;background:linear-gradient(90deg,#065f46,#0f766e);align-items:center;gap:10px;padding:10px 14px;display:flex}.cs-idcard-top b{font-family:var(--font-display);letter-spacing:.6px;font-size:15px;display:block}.cs-idcard-top small{opacity:.85;font-size:11px;font-weight:600}.cs-idcard-flag{border-radius:4px;flex:none;width:34px;height:22px;display:flex;overflow:hidden;box-shadow:0 0 0 2px #fff9}.cs-idcard-flag i{background:#008751;flex:1}.cs-idcard-flag i:nth-child(2){background:#fff}.cs-idcard-body{z-index:1;gap:12px;padding:12px 14px 8px;display:flex;position:relative}.cs-idcard-photo{background:#ede9fe;border-radius:12px;flex:none;place-items:center;width:96px;height:112px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 2px #c7d2fe}.cs-idcard-fields{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.cs-idcard-fields small{letter-spacing:.5px;text-transform:uppercase;color:#0f766e;font-size:10px;font-weight:800;display:block}.cs-idcard-fields b{color:#0f172a;overflow-wrap:anywhere;font-size:14px;line-height:1.2;display:block}.cs-idcard-fields .two{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cs-idcard-traits{z-index:1;flex-wrap:wrap;gap:5px;padding:0 14px 12px;display:flex;position:relative}.cs-idcard-traits span{color:#fff;background:#0f766e;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.cs.compact .cs-stage{flex:0 0 30%}.cs.compact .cs-nameplate{display:none}@media (orientation:landscape) and (max-height:560px),(min-width:860px){.cs{flex-direction:row}.cs.compact .cs-stage,.cs-stage{flex:50%}.cs-panel{border-radius:0;flex:0 min(480px,50%);margin-top:0}}.topbar>*{flex-shrink:1;min-width:0}.clock-col{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.money-col .pill{max-width:46vw}@media (max-width:420px){.pill .plus{display:none}.pill{padding:0 10px}.need{width:30px;height:30px}.need .ic svg{width:13px;height:13px}.needs{gap:2px;padding:5px 6px}.mood-chip{min-width:54px;padding:3px 4px;font-size:11px}.dock{gap:6px}.wanted-chip{padding:2px 7px;font-size:10px}}@media (max-width:350px){.need{width:26px;height:26px}.profile-chip .who{min-width:52px}.profile-chip .who b{max-width:60px}}.profile-chip .wanted-chip{padding:2px 6px;animation:1.2s infinite pulse;position:absolute;bottom:-9px;right:-8px}.bank-card{color:#fff;background:radial-gradient(120% 80% at 100% 0%, var(--bank-accent) 0%, transparent 45%), linear-gradient(135deg, var(--bank), #0b0b14);border-radius:20px;flex-direction:column;gap:2px;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #00000040}.bank-card small{color:#fffc;letter-spacing:.3px;font-size:11px;font-weight:700}.bank-card-top{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.bank-card-top b{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;overflow:hidden}.bank-logo{width:34px;height:34px;font-family:var(--font-display);color:var(--bank);background:var(--bank-accent);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.bank-card .bank-balance{font-family:var(--font-display);color:#fff;font-weight:800}.bank-acct{color:#fff;text-align:left;background:#ffffff24;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:7px 10px;display:flex}.bank-acct b{letter-spacing:1px;font-variant-numeric:tabular-nums;font-size:17px;display:block}.bank-copy{color:#111;background:#fff;border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:800}.bank-holder{letter-spacing:1.2px;margin-top:6px}.bank-tabs{background:#e5e7eb!important}.phone .bank-tabs button{color:#4b5563;font-family:inherit}.phone .bank-tabs button.on{color:#111827;background:#fff}.bank-picker{flex-direction:column;gap:8px;display:flex}.bank-option{text-align:left;color:#111827;background:#fff;border:2px solid #0000;border-radius:14px;align-items:flex-start;gap:10px;min-width:0;padding:10px;display:flex;box-shadow:0 1px 2px #00000014}.bank-option.on{border-color:var(--bank);box-shadow:0 0 0 3px color-mix(in srgb, var(--bank) 18%, transparent)}.bank-option.locked{opacity:.6}.bank-option b{font-size:14px;display:block}.bank-option small{color:#6b7280;font-size:12px;line-height:1.35;display:block}.bank-specs{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.bank-specs em{color:#374151;background:#f3f4f6;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:700;display:inline-flex}.bank-specs em.bad{color:#991b1b;background:#fee2e2}.bank-send{flex-direction:column;gap:10px;display:flex}.bank-field{flex-direction:column;gap:4px;display:flex}.bank-field>span{color:#6b7280;font-size:12px;font-weight:700}.bank-field input,.bank-amount{color:#111827;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;outline:none;width:100%;min-width:0;padding:11px 12px;font-size:16px;font-weight:600}.bank-field input:focus,.bank-amount:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.bank-amount{align-items:center;gap:4px;padding:0 12px;display:flex}.bank-amount em{color:#6b7280;font-size:18px;font-style:normal;font-weight:800}.bank-amount input{font-variant-numeric:tabular-nums;border:0;padding:11px 0;font-size:20px;font-weight:800;box-shadow:none!important}.bank-owner{color:#374151;background:#f3f4f6;border-radius:12px;align-items:center;gap:8px;padding:9px 11px;font-size:13px;font-weight:600;line-height:1.35;display:flex}.bank-owner svg{flex:none}.bank-owner.good{color:#166534;background:#dcfce7}.bank-owner.bad{color:#991b1b;background:#fee2e2}.bank-terms{flex-wrap:wrap;gap:6px;display:flex}.bank-terms span{color:#4b5563;background:#f3f4f6;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.phone .chip{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.phone .chip.on{color:#fff;background:#111827;border-color:#111827}.bank-history{background:#fff;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000014}.bank-tx{border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.bank-tx .grow{min-width:0}.bank-tx b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.bank-tx small{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.bank-tx-icon{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.bank-tx-icon.in{color:#15803d;background:#dcfce7}.bank-tx-icon.out{color:#b91c1c;background:#fee2e2}.bank-tx-amt{font-variant-numeric:tabular-nums;flex:none}.bank-tx-amt.in{color:#15803d}.bank-tx-amt.out{color:#b91c1c}@media (max-width:480px){.phone-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#100a308c;padding:0;display:block}.phone{width:100%;height:100vh;border-radius:0;height:100dvh;min-height:0;max-height:100dvh;padding:0;animation:none;box-shadow:none!important;background:#000!important}.phone-side-btn{display:none}.phone-screen,.android .phone-screen{border-radius:0;height:100%;min-height:0}.phone-app{min-height:0}.phone .statusbar,.phone .app-bar,.phone .navbar,.phone .home-indicator{flex-shrink:0}.levelup-card{width:min(420px,100%);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px);border-radius:22px;padding:8px 14px 14px}.levelup-card h2{font-size:clamp(30px,9vw,38px)}.levelup-card p{margin:4px 0 8px}.levelup-card ul{margin-bottom:8px}.levelup-card li{padding:7px 9px;font-size:13px}.confetti,.levelup-rays{display:none}.phone .statusbar{padding-top:var(--safe-top);height:calc(34px + var(--safe-top))}.phone.ios .statusbar{height:calc(46px + var(--safe-top))}.phone .island,.phone .punch{top:calc(9px + var(--safe-top))}.phone .home-indicator,.phone .navbar{padding-bottom:var(--safe-bottom);height:calc(44px + var(--safe-bottom))}.phone-home{padding:3px 10px 0}.ios-widgets{gap:8px;margin:2px 4px 10px}.ios-clock,.ios-widget{border-radius:16px;min-height:76px;padding:8px 9px}.ios-clock b{font-size:clamp(26px,8vw,34px)}.ios-widget b{margin:3px 0;font-size:17px}.ios-clock small,.ios-widget small{font-size:9px}.android-widget{margin:4px 4px 8px}.android-widget b{font-size:38px}.android-widget small{margin-top:2px;font-size:10px}.android-search{margin-top:6px;padding:6px 10px;font-size:11px}.home-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 3px}.home-app{gap:3px;min-width:0}.app-glyph{width:44px;height:44px}.home-grid.ios .app-glyph{border-radius:12px;width:44px;height:44px}.app-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1.1;overflow:hidden}.ios-dock{margin:auto 2px 6px;padding:8px}.ios-dock .app-glyph{width:48px;height:48px}.android-upsell{margin:auto 0 6px;padding:6px;font-size:10px}}@media (max-width:480px) and (max-height:650px){.ios-widgets{margin-bottom:6px}.ios-clock,.ios-widget{min-height:64px;padding:6px 8px}.android-widget{margin-bottom:5px}.android-widget b{font-size:32px}.home-grid{row-gap:7px}.app-glyph,.home-grid.ios .app-glyph{width:40px;height:40px}.ios-dock .app-glyph{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.levelup-card,.levelup-star,.levelup-rays,.confetti i{animation:none!important}}@media (pointer:coarse){.levelup-card{width:min(420px,100%);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px)}.levelup-card ul{flex:1}.confetti,.levelup-rays{display:none}}.seg button{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.phone .seg button{padding:8px 4px;font-size:13px}.perk-list{flex-wrap:wrap;gap:5px;display:flex}.perk-list span{color:#374151;background:#f3f4f6;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.flies{width:34px;height:16px;position:relative}.flies i{background:#1f2937;border-radius:50%;width:4px;height:4px;animation:1.4s linear infinite fly;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #ffffff80}.flies i:nth-child(2){animation-duration:1.1s;animation-direction:reverse}.flies i:nth-child(3){animation-duration:1.7s;animation-delay:-.6s}@keyframes fly{0%{transform:rotate(0)translate(14px)translateY(0)}50%{transform:rotate(180deg)translate(10px)translateY(-4px)}to{transform:rotate(360deg)translate(14px)translateY(0)}}.gist-list{background:#fff;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000014}.gist-list .thread{padding:10px 12px}.group-av{color:#fff;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:15px;font-weight:800;display:grid}.gist-head .group-av{width:36px;height:36px;font-size:12px}.gist-head{background:#fff;border-bottom:1px solid #ececf1;align-items:center;gap:8px;padding:8px 10px;display:flex}.gist-head .grow{min-width:0}.gist-head b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;display:block;overflow:hidden}.gist-head small{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.thread-av.small{width:36px;height:36px}.gist-icon-btn{color:#111827;background:#f3f4f6;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.gist-icon-btn.bad{color:#b91c1c}.msg-system{color:#6b7280;text-align:center;background:#ffffffd9;border-radius:999px;align-self:center;margin:4px 0;padding:3px 10px;font-size:11.5px;font-weight:700}.gist-new{flex-direction:column;gap:10px;display:flex}.gist-contacts{background:#fff;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000014}.gist-contact{text-align:left;color:#111827;border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:9px 12px;display:flex}.gist-contact b{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;overflow:hidden}.gist-check{color:#fff;border:2px solid #d1d5db;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.gist-contact.on .gist-check{background:#22c55e;border-color:#22c55e}.phone .phone-chat .msg-list{background:#efeae2}.panel-title h2{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.3px;max-width:100%;font-size:clamp(20px,6.4vw,28px);overflow:hidden}.sheet-head h3{font-size:clamp(17px,5vw,20px)}@media (pointer:coarse){.topbar{top:calc(6px + var(--safe-top));left:calc(6px + var(--safe-left));right:calc(6px + var(--safe-right));align-items:center;gap:5px}.profile-chip,.pill{color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d1333e6;border:1px solid #fff3}.profile-chip{gap:5px;padding:3px 8px 3px 3px}.profile-chip .avatar{border:1px solid #ffffff8c;width:32px;height:32px}.profile-chip .who{min-width:54px}.profile-chip .who b{color:#fff;max-width:72px;font-size:12px}.profile-chip .bar{background:#fff3;border:0}.level-star{filter:none}.level-star span{color:#24133f}.pill{color:#fff;border-radius:12px;height:34px;padding:0 8px;font-size:13px}.pill.clock{color:#fff;border-radius:12px;padding:4px 7px;font-size:12px}.pill.clock small{color:#ffffffb8;font-size:9px}.money-col .pill span:first-child{color:#71e0ac!important}.side-col{top:calc(58px + var(--safe-top));right:calc(6px + var(--safe-right));box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d1333d6;border:1px solid #ffffff29;border-radius:20px;gap:4px;padding:5px}.side-col .round-btn{color:#fff;width:42px;height:42px;box-shadow:none;background:#ffffff1a;border:1px solid #ffffff2e}.side-col .round-btn:active{box-shadow:none;transform:scale(.95)}.side-col .btn-label{display:none}.quest-tracker{top:calc(58px + var(--safe-top));left:calc(6px + var(--safe-left));color:#fff;width:min(190px,100vw - 112px);box-shadow:none;text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d1333db;border:1px solid #ffffff2e;border-radius:12px;padding:7px 9px}.quest-tracker b{margin-bottom:5px;font-size:11px;line-height:1.25}.quest-tracker .bar{background:#fff3;border:0}.needs{box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d1333e0;border:1px solid #ffffff2e;border-radius:15px;gap:3px;padding:5px}.need{background:#ffffff14}.mood-chip{color:#fff;min-width:50px;box-shadow:none;background:#1d1333e6;border:1px solid #fff3;border-radius:13px}.chat-btn .round-btn{color:#fff;width:44px;height:44px;box-shadow:none;background:#1d1333e6;border:1px solid #ffffff38}.action-bar{color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d1333f0;border:1px solid #fff3}.action-bar .bar{background:#fff3;border:0}.power-banner{background:#1d1333e6;border:1px solid #ffffff29;flex-wrap:wrap;justify-content:center;max-width:min(70vw,300px);font-size:11px}.toasts{top:calc(146px + var(--safe-top))}.toast{box-shadow:none;border-width:1px}}.decor-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.decor-card{color:#111827;background:#fff;border:2px solid #0000;border-radius:14px;flex-direction:column;gap:5px;min-width:0;padding:8px;display:flex;box-shadow:0 1px 2px #00000014}.decor-card.on{background:#fffbeb;border-color:#c9a227}.decor-card.locked{opacity:.6}.decor-card b{font-size:13.5px;line-height:1.2}.decor-card small{color:#6b7280;flex:1;font-size:11.5px;line-height:1.3}.decor-card .btn,.decor-card .pill-note{text-align:center;justify-content:center;align-self:stretch}.decor-swatch{border-radius:10px;place-items:center;height:70px;display:grid;position:relative;overflow:hidden}.decor-lux{gap:2px;display:flex;position:absolute;bottom:6px;right:6px}.decor-lux i{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#ffd60a;width:8px;height:8px}.toggle{background:#d1d5db;border-radius:999px;flex:none;width:50px;height:30px;transition:background .2s;position:relative}.toggle i{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.toggle.on{background:#22c55e}.toggle.on i{transform:translate(20px)}.mini-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mini-stats.one{grid-template-columns:1fr}.mini-stats>div{grid-template-columns:auto 1fr auto;align-items:center;gap:6px;display:grid}.mini-stats small{color:#6b7280;font-size:11px;font-weight:700}.mini-stats b{font-variant-numeric:tabular-nums;font-size:12px}.prop-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.prop-card.locked{opacity:.7}.prop-hero{color:#fff;background:linear-gradient(135deg, var(--prop), #0b0b14);flex-direction:column;justify-content:flex-end;min-height:78px;padding:12px 14px 22px;display:flex;position:relative}.prop-hero b{font-family:var(--font-display);z-index:1;font-size:18px;position:relative}.prop-area{letter-spacing:.6px;text-transform:uppercase;opacity:.85;z-index:1;font-size:11px;font-weight:800;position:relative}.prop-skyline{width:100%;height:30px;position:absolute;bottom:0;left:0;right:0}.prop-body{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.prop-body small{color:#4b5563;font-size:12.5px;line-height:1.4}.car-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px #2e106559}.car-card.locked{opacity:.7}.car-photo{aspect-ratio:16/9;background:#e5e7eb;position:relative;overflow:hidden}.car-photo img{object-fit:cover;width:100%;height:100%;display:block}.car-credit{color:#fff;background:#00000073;border-radius:999px;padding:1px 6px;font-size:9.5px;font-weight:600;position:absolute;bottom:5px;left:6px}.car-owned{color:#fff;background:#16a34a;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:8px;right:8px}.car-info{align-items:center;gap:10px;padding:10px 12px 12px;display:flex}.car-info .grow{min-width:0}.car-info b{font-family:var(--font-display);color:#1e1047;font-size:16px;display:block}.car-info small{color:var(--ink-soft);font-size:12px;font-weight:600;display:block}.car-thumb{object-fit:cover;border-radius:10px;flex:none;width:72px;height:48px}.car-card,.prop-card,.bank-card,.decor-card,.road-step{flex-shrink:0}.car-info .meta{color:var(--ink-soft);flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12px;font-weight:800;display:flex}.car-info .meta span{align-items:center;gap:3px;display:inline-flex}.live-map{background:#1e1047;border-radius:16px;flex-shrink:0;overflow:hidden;box-shadow:0 2px 6px #0003}.live-map svg{touch-action:manipulation;width:100%;height:auto;max-height:62vh;display:block}.map-spot,.map-player{cursor:pointer}.map-ico{color:#6d28d9;place-items:center;width:100%;height:100%;display:grid}.map-pulse{transform-origin:50%;transform-box:fill-box;animation:1.6s ease-out infinite mapPulse}@keyframes mapPulse{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.map-legend{color:#4b5563;flex-wrap:wrap;gap:10px;font-size:11.5px;font-weight:700;display:flex}.map-legend span{align-items:center;gap:4px;display:inline-flex}.map-legend i{border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #00000026}.phone .map-seg{background:#e5e7eb}.phone .map-seg button{color:#4b5563;font-family:inherit}.phone .map-seg button.on{color:#111827;background:#fff}.nametag.away{background:#4b5563d1}.away-tag{letter-spacing:.6px;color:#374151;background:#e5e7eb;border-radius:4px;margin-left:4px;padding:0 4px;font-size:8px}.quest-tracker{text-align:left;align-items:stretch;gap:6px;display:flex}.quest-tracker.done{animation:none}.qt-main{text-align:left;min-width:0;color:inherit;flex:1;padding:0}.qt-main small{letter-spacing:.3px;text-transform:uppercase;opacity:.7;margin-bottom:2px;font-size:10px;font-weight:800;display:block}.qt-go{background:var(--sun);color:#2e1065;min-width:46px;min-height:46px;font-family:var(--font-display);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-self:center;align-items:center;gap:1px;padding:4px 6px;font-size:12px;font-weight:800;display:flex;box-shadow:0 2px #b45309}.qt-go:active{box-shadow:none;transform:translateY(1px)}.qt-go.claim{color:#fff;background:#22c55e;animation:1.4s infinite pulse;box-shadow:0 2px #15803d}.need{cursor:pointer;color:inherit;padding:0}.need.open{box-shadow:0 0 0 2px var(--sun)}.need-pop{color:#1e1047;z-index:5;background:#fff;border-radius:16px;max-width:360px;margin:0 auto;padding:10px 12px 12px;animation:.15s pop;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 10px 28px #00000059}.need-pop-head{align-items:center;gap:6px;display:flex}.need-pop-head b{font-family:var(--font-display);flex:1;font-size:16px}.need-pop-head span{font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.need-pop-head .ok{color:#15803d}.need-pop-head .warn{color:#b45309}.need-pop-head .bad{color:#b91c1c}.need-pop-head .close-x{color:#1e1047;background:#f3f4f6;width:28px;height:28px}.need-pop p{color:#4b5563;margin:4px 0 10px;font-size:13px;line-height:1.35}.need-pop .btn{text-align:center;white-space:normal;justify-content:center;align-items:center;gap:6px;line-height:1.2;display:flex}.need-pop-none{color:#6b7280;font-size:12px;font-weight:700;display:block}.spot-marker{overflow:visible}.spot-label{white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-family:var(--font-display);color:#fff;pointer-events:none;background:#1e1047d1;border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:800;line-height:1;position:absolute;top:calc(100% + 10px);left:50%;overflow:hidden;transform:translate(-50%)}.spot-marker.guide{border-color:var(--sun);animation:1s ease-in-out infinite bob;box-shadow:0 0 0 4px #ffd60a8c,0 4px 10px #00000059}.spot-marker.guide:after{border-top-color:var(--sun)}.spot-marker.guide .spot-label{background:var(--sun);color:#2e1065;max-width:180px}@media (pointer:coarse){.side-col .btn-label{text-shadow:none;color:#ffffffd9;font-size:9px;line-height:1;font-family:var(--font-body);margin-top:2px;font-weight:700;display:block}.side-col .item{gap:0}.side-col .round-btn{width:40px;height:40px}.quest-tracker{width:min(230px,100vw - 104px);padding:7px 7px 7px 9px}.qt-main small{font-size:9px}.qt-go{min-width:44px;min-height:44px;font-size:11px}}.need-alert{color:#1e1047;border:2px solid var(--sun);z-index:4;background:#fff;border-radius:18px;max-width:380px;margin:0 auto;padding:12px;animation:.2s pop;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 12px 30px #00000061}.need-alert-head{align-items:center;gap:10px;display:flex}.need-alert-head .grow{min-width:0}.need-alert-head b{font-family:var(--font-display);font-size:16px;line-height:1.15;display:block}.need-alert-head small{color:#4b5563;margin-top:2px;font-size:12.5px;line-height:1.3;display:block}.need-alert-ic{color:#b91c1c;background:#fee2e2;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.need-alert-val{color:#b91c1c;font-variant-numeric:tabular-nums;flex:none;font-size:14px;font-weight:800}.need-alert-opts{flex-direction:column;gap:6px;margin-top:10px;display:flex}.need-alert-opt{color:#4c1d95;text-align:left;background:#f5f3ff;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 10px;display:flex}.need-alert-opt:first-child{background:var(--sun);color:#2e1065}.need-alert-opt:active{transform:scale(.98)}.need-alert-opt .grow{flex:1;min-width:0}.need-alert-opt b{color:#1e1047;white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:1.2;display:block;overflow:hidden}.need-alert-opt small{color:#6b5b95;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.need-alert-later{color:#6b7280;width:100%;margin-top:6px;padding:8px;font-size:13px;font-weight:800;display:block}.round-btn.auto-btn.on{color:#fff;background:#22c55e;border-color:#15803d;box-shadow:0 0 0 3px #22c55e59}.round-btn.auto-btn.on svg{animation:3s linear infinite spin}.round-btn.auto-btn.locked{opacity:.6}@media (pointer:coarse){.side-col .round-btn.auto-btn.on{background:#22c55e;border-color:#86efac}}@media (prefers-reduced-motion:reduce){.round-btn.auto-btn.on svg{animation:none}}.guide-arrow{z-index:5;flex-direction:column;align-items:center;gap:3px;display:none;position:fixed;top:0;left:0;pointer-events:none!important}.ga-pointer{background:var(--sun);color:#2e1065;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 0 0 3px #2e1065d9,0 4px 12px #00000059}.ga-label{white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-family:var(--font-display);color:#2e1065;background:var(--sun);border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:800;overflow:hidden}.first-tip{left:50%;bottom:calc(14px + var(--safe-bottom));color:#1e1047;border:2px solid var(--sun);z-index:65;background:#fff;border-radius:18px;align-items:center;gap:10px;width:min(440px,100vw - 20px);padding:10px 12px;animation:.2s pop;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px #0006}.first-tip .grow{flex:1;min-width:0}.first-tip b{font-family:var(--font-display);font-size:15px;display:block}.first-tip p{color:#4b5563;margin:2px 0 0;font-size:12.5px;line-height:1.35}.first-tip-face{background:#f5f3ff;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.first-tip-face svg{width:100%;height:100%}.first-tip .btn{flex:none}.first-tip.top{bottom:auto;top:calc(10px + var(--safe-top))}.left-stack{left:calc(8px + var(--safe-left));top:calc(66px + var(--safe-top));pointer-events:none;flex-direction:column;gap:6px;width:min(250px,58vw);display:flex;position:absolute}.left-stack>*{pointer-events:auto}.left-stack .quest-tracker{width:auto;position:static}.hud-chip{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d1333e6;border:1px solid #ffffff2e;border-radius:12px;align-items:center;gap:6px;padding:5px 5px 5px 9px;font-size:11.5px;font-weight:700;line-height:1.25;animation:.2s pop;display:flex}.hud-chip .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hud-chip b{color:var(--sun)}.hud-chip.bad{border-color:#f87171b3}.hud-chip.bad b{color:#fca5a5}.hud-chip button{background:var(--sun);color:#2e1065;min-height:30px;font-family:var(--font-display);border-radius:9px;flex:none;align-items:center;gap:3px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.hud-chip button:disabled{opacity:.45}.hud-chip button.x{color:#fff;background:#ffffff1f;justify-content:center;width:26px;min-height:30px;padding:0}@media (pointer:coarse){.left-stack{top:calc(58px + var(--safe-top));left:calc(6px + var(--safe-left));width:min(230px,100vw - 104px)}}.share-modal{flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:380px;max-height:calc(100dvh - 32px);display:flex;overflow:auto}.share-hidden{width:0;height:0;position:absolute;overflow:hidden}.share-preview{aspect-ratio:4/5;object-fit:cover;background:#ede9fe;border-radius:16px;width:100%;box-shadow:0 6px 20px #00000040}.share-preview.loading{color:#6d28d9;place-items:center;font-weight:800;display:grid}.share-actions{gap:8px;display:flex}.share-actions .btn{justify-content:center;align-items:center;gap:6px;display:flex}
