:root,[data-theme=light]{--bg: #f7f7f8;--bg-card: #ffffff;--text: #18181b;--text-secondary: #6b7280;--accent: #4f46e5;--accent-hover: #4338ca;--accent-contrast: #ffffff;--tint-rgb: 79, 70, 229;--error: #c0392b;--border: #e4e4e7;--shadow: none;--shadow-hover: none;--grain-opacity: .06;--input-bg: #ffffff;--folder-bg: #f2ead9;--folder-tab: #e9ddc6;--folder-border: #dbcdb1;--chat-user: #4f46e5;--bg-other-chat-card: #f4f4f5}[data-theme=dark]{--bg: #0e0e10;--bg-card: #18181b;--bg-other-chat-card: #232327;--text: #f2f2f3;--text-secondary: #a1a1aa;--accent: #6f68f0;--accent-hover: #857ff3;--accent-contrast: #ffffff;--tint-rgb: 111, 104, 240;--error: #e74c3c;--border: #2c2c31;--shadow: none;--shadow-hover: none;--grain-opacity: .05;--input-bg: #141417;--folder-bg: #232119;--folder-tab: #2b281f;--folder-border: #353024;--chat-user: #6f68f0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s ease,color .4s ease}#root{height:100%;overflow-y:auto;overflow-x:hidden;position:relative}.grain-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;transition:opacity .4s ease}.page{min-height:100%;display:flex;flex-direction:column;padding:24px 20px;position:relative}.login-page{align-items:center;justify-content:center;gap:40px;padding-top:80px;padding-bottom:48px}.mission-page{align-items:center;gap:24px;padding-top:48px}.wallet-page{align-items:center;gap:24px;padding-top:32px;padding-bottom:80px}.wallet-header{text-align:center}.wallet-header h1{font-size:36px;font-weight:800;color:var(--text);letter-spacing:-1px;line-height:1}.wallet-score{font-size:14px;font-weight:600;color:var(--text-secondary);margin-top:4px}.folder-container{width:100%;max-width:420px;position:relative;margin-top:18px}.folder-tab{position:absolute;top:-30px;left:16px;height:30px;line-height:30px;padding:0 22px;background:var(--folder-tab);border-radius:4px 4px 0 0;font-size:13px;font-weight:700;color:var(--text);z-index:2;letter-spacing:-.3px}.folder-body{background:var(--folder-bg);border:1px solid var(--folder-border);border-radius:4px;padding:16px 12px;min-height:80px;position:relative;z-index:1}.folder-body.wallet-scroll{overflow:visible}.folder-cards-stack{display:flex;flex-direction:column;gap:12px}.folder-card-wrapper{transform-origin:top center;transition:transform .3s ease,z-index .3s;position:relative}.folder-card-wrapper.expanded{z-index:10}.wallet-card{background:var(--bg-card);border:1px solid var(--border);border-radius:3px;transition:border-color .3s,background .3s,box-shadow .3s;position:relative}.wallet-card:before{display:none;content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;border-radius:8px;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}[data-theme=dark] .wallet-card:before{opacity:.05}.wallet-card.card-success{border-color:#3d7a4f;background:#3d7a4f1a}[data-theme=dark] .wallet-card.card-success{border-color:var(--accent);background:rgba(var(--tint-rgb),.1)}.wallet-card.card-failed{border-color:#b33a2e;background:#b33a2e14}[data-theme=dark] .wallet-card.card-failed{border-color:var(--error);background:#e74c3c14}.wallet-card-main{display:flex;align-items:center;padding:16px;gap:10px;position:relative;z-index:2}.wallet-card-text{flex:1;font-size:15px;font-weight:600;color:var(--text);line-height:1.4}.pencil-btn{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);padding:6px 8px;border-radius:8px;transition:color .2s,background .2s;flex-shrink:0;line-height:0;position:relative;z-index:3}.pencil-btn:hover{color:var(--accent);background:rgba(var(--tint-rgb),.12)}.wallet-card-actions{display:flex;gap:10px;padding:0 16px 16px;position:relative;z-index:2}.fail-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--text-secondary);font-weight:600}.btn-fail{background:var(--error);color:#fff;border:none;border-radius:4px;padding:8px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-fail:hover{opacity:.85}.btn-fail:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;padding:8px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s}.btn-success:hover{background:var(--accent-hover)}.btn-cancel{background:var(--border);color:var(--text);border:none;border-radius:4px;padding:8px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;cursor:pointer}.name-carousel{padding:0 16px 16px;display:flex;align-items:flex-start;flex-direction:column;gap:10px;position:relative;z-index:2}.carousel-back{background:none;border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-size:20px;cursor:pointer;color:var(--text-secondary);transition:color .2s;line-height:0}.carousel-back:hover{color:var(--text)}.name-chips{display:flex;flex-wrap:wrap;gap:8px}.name-chip{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:10px 14px;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;transition:border-color .2s,background .2s}.name-chip:hover{border-color:var(--accent)}.name-chip.gotted{opacity:.4;cursor:not-allowed;text-decoration:line-through}.comments-section{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:2}.comment-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);color:var(--text);font-family:Nunito,sans-serif;font-size:16px;font-weight:600;resize:vertical;outline:none;transition:border-color .2s}.comment-input:focus{border-color:var(--accent)}.comment-input::placeholder{color:var(--text-secondary);opacity:.7;font-weight:400}.btn-submit{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;padding:10px;font-family:Nunito,sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s}.btn-submit:hover{background:var(--accent-hover)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.wallet-card-detail{padding:0 16px 16px;display:flex;flex-direction:column;gap:4px;position:relative;z-index:2}.detail-gotted{font-size:13px;font-weight:700;color:var(--accent)}.detail-comment{font-size:13px;font-weight:600;color:var(--text-secondary);font-style:italic}.wallet-bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:48px;padding:8px 24px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);z-index:50}.icon-btn{background:transparent;border:0;border-radius:4px;padding:12px 16px;min-height:44px;font-size:22px;cursor:pointer;transition:border-color .2s,transform .15s;display:flex;align-items:center;gap:6px;color:var(--text);line-height:0}.icon-btn:hover{color:var(--accent);background:var(--bg-card)}.icon-btn span{font-size:13px;font-weight:600;line-height:1.4}dialog{--modal-inset: max(12px, calc(var(--app-top-offset, 0px) - var(--viewport-top, 0px) + 12px));position:fixed;top:calc(var(--viewport-top, 0px) + var(--modal-inset));bottom:auto;margin:0 auto;border:1px solid var(--border);color:var(--text);max-width:calc(100% - 24px);max-height:calc(var(--viewport-height, 100dvh) - var(--modal-inset) - 12px);overscroll-behavior:contain}dialog::backdrop{background:#0f141061}dialog:not([open]){display:none}[data-dialog-heading]:focus{outline:none}.chat-panel{left:auto;right:12px;width:400px;height:calc(var(--viewport-height, 100dvh) - var(--modal-inset) - 12px);background:var(--bg-card);border-radius:6px;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-header h3{font-size:18px;font-weight:800;color:var(--text)}.chat-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);padding:10px;min-width:44px;min-height:44px;border-radius:4px;transition:color .2s,background .2s;line-height:0}.chat-close:hover{color:var(--error);background:#c0392b14}.chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-bubble{max-width:90%;padding:10px 14px;border-radius:4px;overflow-wrap:anywhere;flex-shrink:0;font-size:14px;font-weight:600;line-height:1.4}.chat-bubble.system{align-self:flex-start;background:rgba(var(--tint-rgb),.12);color:var(--accent)}[data-theme=dark] .chat-bubble.system{background:rgba(var(--tint-rgb),.12);color:var(--accent)}.chat-bubble.system-fail{align-self:flex-start;background:#c0392b14;color:var(--error)}.chat-bubble.user.own{align-self:flex-end;background:var(--chat-user);color:var(--accent-contrast)}.chat-bubble.user.other{align-self:flex-start;background:var(--bg-other-chat-card);border-left:3px solid var(--border);color:var(--text)}.chat-sender{font-size:11px;font-weight:800;opacity:.8;display:block;margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}.chat-comment{font-size:12px;font-weight:400;font-style:italic;margin-top:4px;opacity:.85;border-top:1px solid rgba(var(--tint-rgb),.2);padding-top:4px}.chat-input-bar{display:flex;flex-shrink:0;padding:12px 14px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);gap:8px}.chat-input-bar input{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);color:var(--text);font-family:Nunito,sans-serif;font-size:16px;font-weight:600;outline:none;transition:border-color .2s}.chat-input-bar input:focus{border-color:var(--accent)}.chat-input-bar input::placeholder{color:var(--text-secondary);opacity:.6;font-weight:400}.chat-send-btn{background:var(--chat-user);color:var(--accent-contrast);border:none;border-radius:4px;min-height:44px;padding:10px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s}.chat-send-btn:hover{background:var(--chat-user);opacity:.85}.leaderboard-panel{background:var(--bg-card);border-radius:6px;width:min(380px,calc(100% - 24px));overflow-y:auto}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.leaderboard-header h3{font-size:18px;font-weight:800;color:var(--text)}.leaderboard-list{padding:12px;display:flex;flex-direction:column;gap:6px}.leaderboard-row{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);gap:12px;transition:transform .15s}.leaderboard-row.pos-1 .lb-rank{color:var(--accent)}.lb-rank{font-size:14px;width:32px;text-align:center;font-weight:800;color:var(--text-secondary)}.lb-name{flex:1;font-size:15px;font-weight:700;color:var(--text)}.lb-score{font-size:14px;font-weight:800;color:var(--accent)}.lb-empty{text-align:center;font-size:14px;font-weight:600;color:var(--text-secondary);padding:20px}.lb-anon-note{text-align:center;font-size:12px;font-weight:600;font-style:italic;color:var(--text-secondary);padding:8px 16px 16px;opacity:.7}.info-btn{position:absolute;top:16px;left:16px;background:transparent;border:0;border-radius:4px;width:44px;height:44px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;z-index:10;color:var(--text);line-height:0}.info-btn:hover{background:var(--bg-card)}.info-panel{background:var(--bg-card);border-radius:6px;width:min(380px,calc(100% - 24px));overflow-y:auto}.info-content{padding:12px 20px 20px}.info-section{margin-bottom:14px}.info-section h4{font-size:14px;font-weight:800;color:var(--accent);margin-bottom:2px}.info-section p{font-size:14px;font-weight:600;color:var(--text);line-height:1.5}.info-footer{text-align:center;font-size:12px;font-weight:600;font-style:italic;color:var(--text-secondary);margin-top:18px;padding-top:12px;border-top:1px solid var(--border);opacity:.8}.theme-menu{position:absolute;top:16px;right:16px;display:flex;gap:2px;z-index:20}.theme-toggle,.theme-settings{background:transparent;border:0;border-radius:4px;width:40px;height:44px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;color:var(--text);line-height:0}.theme-toggle:hover,.theme-settings:hover,.theme-settings[aria-expanded=true]{background:var(--bg-card);color:var(--accent)}.theme-popover{position:absolute;top:50px;right:0;width:232px;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #00000024}.theme-popover-title{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.theme-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.theme-modes button{padding:8px 10px;font-family:inherit;font-size:13px;font-weight:700;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.theme-modes button:hover{border-color:var(--accent)}.theme-modes button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.theme-tint{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-secondary)}.theme-tint input[type=color]{width:34px;height:28px;padding:0;border:1px solid var(--border);border-radius:5px;background:transparent;cursor:pointer}.theme-tint code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:var(--text)}.theme-popover .text-button{align-self:flex-start;font-size:12px;padding:0}.login-header{text-align:center}.login-header h1{font-size:48px;font-weight:800;color:var(--text);letter-spacing:-1px;line-height:1}.subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px;font-weight:600}.login-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:20px}.input-group{position:relative;width:100%}.input-group input{width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:14px;background:var(--input-bg);color:var(--text);font-family:Nunito,sans-serif;font-size:16px;font-weight:600;outline:none;transition:border-color .2s,box-shadow .2s}.input-group input::placeholder{color:var(--text-secondary);font-weight:400;opacity:.7}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--tint-rgb),.2)}[data-theme=dark] .input-group input:focus{box-shadow:0 0 0 3px rgba(var(--tint-rgb),.25)}.password-group{position:relative}.password-group input{padding-right:48px}.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:22px;cursor:pointer;padding:6px;line-height:0;opacity:.6;transition:opacity .2s;color:var(--text-secondary)}.toggle-password:hover{opacity:1}.login-error{color:var(--error);font-size:13px;font-weight:600;text-align:center;padding:4px 0}.btn-primary{width:100%;padding:15px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;font-family:Nunito,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s,transform .15s;margin-top:4px}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:12px 18px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:4px;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:border-color .2s,color .2s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.mission-page-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%;max-width:400px}.cooling-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}.cooling-slot{font-size:12px;font-weight:700;color:var(--text-secondary);background:rgba(var(--tint-rgb),.08);border:1px solid rgba(var(--tint-rgb),.18);border-radius:999px;padding:4px 10px}.cooling-slot.ready{color:var(--accent);border-color:var(--accent)}.progress-bar{text-align:center;margin-bottom:8px}.progress-label{font-size:14px;font-weight:700;color:var(--text-secondary);margin-bottom:10px}.progress-dots{display:flex;gap:8px;justify-content:center}.dot{width:12px;height:12px;border-radius:50%;background:var(--border);transition:background .3s,transform .3s}.dot.filled{background:var(--accent);transform:scale(1.15)}.mission-selector{width:100%;max-width:400px}.cards-container{display:flex;flex-direction:column;gap:0}.card-divider{text-align:center;font-size:14px;font-weight:800;color:var(--text-secondary);letter-spacing:2px;padding:10px 0}.mission-card{width:100%;padding:26px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;cursor:pointer;text-align:left;box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s,transform .15s;font-family:Nunito,sans-serif;min-height:100px;display:flex;align-items:center}.mission-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover)}.mission-card:active{transform:scale(.985)}.mission-text{font-size:16px;font-weight:600;color:var(--text);line-height:1.45}.page-title{font-size:28px;font-weight:800;color:var(--text);text-align:center;letter-spacing:-.5px}.loading{font-size:18px;font-weight:600;color:var(--text-secondary);text-align:center;margin-top:40vh}.refill-banner{text-align:center;font-size:13px;font-weight:700;color:var(--accent);background:rgba(var(--tint-rgb),.12);border:0;border-radius:4px;min-height:44px;padding:10px 16px;max-width:380px;width:100%;cursor:pointer;transition:background .2s}.refill-banner:hover{background:rgba(var(--tint-rgb),.18)}.refill-section{width:100%;max-width:380px;margin-top:14px}.countdown-banner{text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary);background:transparent;padding:10px 16px;max-width:380px;width:100%}[data-theme=dark] .refill-banner{background:rgba(var(--tint-rgb),.12);border-color:rgba(var(--tint-rgb),.3)}[data-theme=dark] .refill-banner:hover{background:rgba(var(--tint-rgb),.2)}.mission-choice{border:0;padding:0;margin:0;min-width:0}.login-form label{display:flex;flex-direction:column;gap:8px;text-align:left;font-size:13px;font-weight:700}.login-form label input{width:100%;padding:14px;border:1px solid var(--border);border-radius:4px;font:inherit;font-size:16px;font-weight:400;background:var(--input-bg);color:var(--text)}.login-form label input::placeholder{color:var(--text-secondary)}.code-input{text-transform:uppercase;letter-spacing:1px}.code-input::placeholder{text-transform:none;letter-spacing:normal}:is(button,input,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.join-heading h2{font-size:22px;font-weight:700;letter-spacing:-.5px}.join-heading p,.form-note{font-size:14px;line-height:1.6;color:var(--text-secondary)}.join-heading p{margin-top:4px}.text-button{border:0;background:none;color:var(--text);font:inherit;font-size:13px;min-height:44px;padding:10px 0;text-align:left;cursor:pointer}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.text-button.subtle{color:var(--text-secondary)}.text-button.danger{color:var(--error)}.saved-session{border-bottom:1px solid var(--border);padding-bottom:8px}.join-options{font-size:12px;color:var(--text-secondary)}.join-options summary,.session-menu summary{min-height:44px;padding:14px 0;cursor:pointer}.join-options-links{display:flex;flex-direction:column;align-items:flex-start}.session-menu{font-size:12px;color:var(--text-secondary)}.session-menu summary{width:fit-content;margin:0 auto}.session-menu-content{padding:0 16px 8px;border-bottom:1px solid var(--border)}.session-menu-content p{padding:8px 0}.session-menu-content strong,.lobby-code strong{color:var(--text);letter-spacing:1px;margin-left:8px;-webkit-user-select:all;user-select:all}.session-menu-content .text-button+.text-button{margin-left:24px}.connection-note{font-size:13px;color:var(--text-secondary);text-align:center}.wallet-page>p[role=alert],.wallet-page>p[role=status]{max-width:36rem;padding:.75rem}.name-chip{min-height:44px}button:disabled{opacity:.5;cursor:not-allowed}.lobby{width:100%;max-width:420px;padding:16px 0}.lobby h2{font-size:24px;margin-bottom:20px}.lobby p{font-size:14px;line-height:1.6;margin-bottom:16px}.lobby ul{list-style:none;margin:20px 0}.lobby li{padding:10px 0;border-bottom:1px solid var(--border)}.utility-btn{font:inherit;color:var(--text-secondary);background:none;border:0;border-radius:4px;padding:.5rem .85rem;min-height:44px;margin:.25rem;cursor:pointer}
