.app-container,.sidebar{display:flex}.app-container,body,html{max-width:100%}.sb-logo img,.sidebar{background:var(--surface)}.app-container,.main-wrapper,body{min-height:100vh;overflow-x:hidden}.app-container,.main-wrapper,body,html{overflow-x:hidden}*,.topbar{box-sizing:border-box}.sb-user-info p,.sb-user-info span{text-overflow:ellipsis;line-height:1.2}.coin-badge,.sb-logo-text p,.sb-user-info span{font-family:var(--font-mono)}.banner-tag,.sb-logo-text p,.status-badge{text-transform:uppercase}:root{--bg:#FFFDF5;--surface:#FFFFFF;--ink:#111111;--text-muted:#4A4A4A;--primary:#FF5C00;--secondary:#2563FF;--accent:#FFE600;--success:#00E0A4;--danger:#FF3366;--warning:#FFB800;--purple:#9D4EDD;--border-width:3px;--shadow-xs:2px 2px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--shadow-md:4px 4px 0 var(--ink);--shadow-lg:6px 6px 0 var(--ink);--shadow-xl:8px 8px 0 var(--ink);--font-body:'Outfit',-apple-system,sans-serif;--font-mono:'JetBrains Mono',monospace}*{margin:0;padding:0}body{background-color:var(--bg);background-image:linear-gradient(rgba(17,17,17,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.04) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font-family:var(--font-body)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;border-right:var(--border-width) solid var(--ink);box-shadow:4px 0 0 var(--ink);z-index:100;transition:transform 150ms ease-out;flex-direction:column}.sb-logo img,.sb-user{box-shadow:var(--shadow-xs)}.sb-item,.sb-logo{align-items:center;color:var(--ink);display:flex;text-decoration:none}.sb-logo{padding:1.25rem;border-bottom:var(--border-width) solid var(--ink);gap:12px;background:var(--accent)}.sb-item.active,.sb-item:hover{border-color:var(--ink);box-shadow:var(--shadow-sm)}.sb-logo img{width:42px;height:42px;border:var(--border-width) solid var(--ink)}.sb-logo-text h1{font-size:1.25rem;font-weight:800;line-height:1.1;letter-spacing:-.5px}.sb-logo-text p{font-size:.75rem;font-weight:700;margin-top:2px}.sb-nav{flex:1;padding:1rem .75rem;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.event-banner,.mission-pb,.pb-outer,.sb-user,.sb-user-info,.sb-user-info p,.topbar-title{overflow:hidden}.sb-item{gap:12px;padding:10px 14px;border:var(--border-width) solid transparent;border-radius:0;font-weight:700;font-size:.95rem;transition:120ms}.sb-item:hover{background:#fff;transform:translate(-2px,-2px)}.sb-item.active{background:var(--primary);color:#fff}.sb-item i{font-size:1.1rem;width:24px;text-align:center}.sb-bottom{padding:.75rem 1rem;border-top:var(--border-width) solid var(--ink);background:var(--bg)}.sb-logout-btn,.sb-user,.sb-user img,.sb-user-icon{border:2px solid var(--ink)}.sb-user{display:flex;align-items:center;gap:10px;background:#fff;padding:8px 10px}.sb-user img{width:34px;height:34px;object-fit:cover;flex-shrink:0}.sb-user-icon{width:34px;height:34px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:900;flex-shrink:0}.coin-badge,.sb-user-info p,.topbar-title{font-weight:800;white-space:nowrap}.sb-user-info{flex:1;min-width:0}.sb-user-info p{font-size:.82rem;margin:0}.sb-user-info span{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;display:block;margin-top:2px}.sb-logout-btn{background:var(--danger);color:#fff;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px 0 var(--ink);transition:transform .1s}.coin-badge,.hamburger-btn{border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-xs)}.sb-logout-btn:hover{transform:translate(-1px,-1px)}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(17,17,17,.6);z-index:99}.main-wrapper{margin-left:270px;flex:1;display:flex;flex-direction:column;max-width:calc(100vw - 270px);min-width:0}.topbar,.topbar-left{align-items:center;display:flex}.topbar{height:64px;background:var(--surface);border-bottom:var(--border-width) solid var(--ink);justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:90;max-width:100%}.banner-inner,.event-banner,.mission-card,.pb-outer{position:relative}.topbar-left{gap:16px;min-width:0}.hamburger-btn{display:none;background:#fff;width:38px;height:38px;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;flex-shrink:0}.topbar-title{font-size:1.15rem;display:flex;align-items:center;gap:8px;min-width:0;text-overflow:ellipsis}.coin-badge,.topbar-right{display:flex;align-items:center}.topbar-right{gap:10px;flex-shrink:0}.coin-badge{gap:6px;background:var(--accent);padding:6px 12px;font-size:.88rem;text-decoration:none;color:var(--ink);transition:transform 120ms;flex-shrink:0}.banner-tag,.unlimited-badge{align-items:center;gap:6px;color:#fff;font-weight:800}.coin-badge:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-sm)}.unlimited-badge{display:none;background:var(--purple);border:2px solid var(--ink);padding:5px 10px;font-family:var(--font-mono);font-size:.8rem;box-shadow:2px 2px 0 var(--ink);white-space:nowrap;flex-shrink:0;letter-spacing:.5px}.banner-tag,.countdown-box{display:inline-flex;font-family:var(--font-mono)}.content-area{padding:1.75rem;flex:1}.event-banner{background:#ffe600;border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-lg);padding:1.75rem;margin-bottom:2rem}.banner-inner{z-index:2}.banner-tag{background:var(--ink);padding:4px 10px;font-size:.75rem;margin-bottom:10px}.countdown-box,.summary-card{background:#fff;border:var(--border-width) solid var(--ink)}.banner-title{font-size:1.85rem;font-weight:900;letter-spacing:-.5px;line-height:1.2;margin-bottom:6px}.banner-desc{font-size:1rem;font-weight:600;color:#222;max-width:680px;margin-bottom:1.25rem}.countdown-box{align-items:center;gap:10px;box-shadow:var(--shadow-sm);padding:8px 16px;font-weight:800;font-size:.95rem}.countdown-val{color:var(--danger);font-size:1.1rem}.summary-card{box-shadow:var(--shadow-md);padding:1.25rem 1.5rem;margin-bottom:2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.summary-info{display:flex;align-items:center;gap:16px}.summary-icon{width:48px;height:48px;background:var(--success);border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;font-size:1.4rem}.summary-text h3{font-size:1.1rem;font-weight:900;margin-bottom:2px}.refresh-btn,.summary-text p{font-size:.85rem;font-family:var(--font-mono)}.summary-text p{font-weight:700;color:var(--text-muted)}.progress-bar-container{flex:1;min-width:200px;max-width:400px}.pb-outer{height:20px;background:#f0f0f0;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.pb-inner{height:100%;background:repeating-linear-gradient(45deg,var(--success),var(--success) 10px,#00c792 10px,#00c792 20px);transition:width .3s}.mission-card,.refresh-btn{background:#fff;border:var(--border-width) solid var(--ink)}.refresh-btn{box-shadow:var(--shadow-xs);padding:8px 14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform 120ms}.refresh-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-sm);background:var(--accent)}.section-title{font-size:1.35rem;font-weight:900;margin-bottom:1.25rem;display:flex;align-items:center;gap:10px}.missions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.mission-card{box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:transform 150ms,box-shadow 150ms}.mission-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}.mission-card.completed{border-color:var(--ink);background:#fafff8}.mission-card.claimed{background:#f7f7f7;opacity:.88}.card-top{padding:1.25rem 1.25rem .75rem;display:flex;align-items:flex-start;gap:14px}.card-icon{width:44px;height:44px;background:var(--accent);border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.mission-pb,.reward-pill{border:2px solid var(--ink)}.reward-pill,.status-badge.completed{box-shadow:2px 2px 0 var(--ink)}.card-info{flex:1;min-width:0}.card-title{font-size:1.05rem;font-weight:800;line-height:1.25;margin-bottom:4px}.card-desc{font-size:.82rem;color:var(--text-muted);font-weight:600;line-height:1.4}.card-body{padding:.75rem 1.25rem;flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}.reward-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--font-mono);font-weight:800;font-size:.8rem;width:fit-content}.card-footer,.progress-meta{display:flex;align-items:center}.progress-meta,.status-badge{font-size:.75rem;font-family:var(--font-mono)}.reward-pill.coins{background:var(--success);color:var(--ink)}.reward-pill.unlimited{background:var(--purple);color:#fff}.progress-meta{justify-content:space-between;font-weight:700;margin-bottom:4px}.mission-pb{height:12px;background:#eee}.mission-pb-fill{height:100%;background:var(--primary);transition:width .3s}.mission-pb-fill.full{background:var(--success)}.card-footer{padding:1rem 1.25rem;border-top:var(--border-width) solid var(--ink);background:#fafafa;justify-content:space-between;gap:10px}.status-badge{font-weight:800;padding:3px 8px;border:2px solid var(--ink)}.status-badge.available{background:#e5e5e5;color:var(--ink)}.status-badge.in_progress{background:var(--warning);color:var(--ink)}.btn-claim,.status-badge.completed{background:var(--success);color:var(--ink)}.status-badge.claimed{background:#222;color:#fff}.btn-action{border:var(--border-width) solid var(--ink);box-shadow:var(--shadow-sm);padding:8px 16px;font-family:var(--font-mono);font-weight:800;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:120ms}.btn-action:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}.btn-claim{animation:1.5s infinite alternate pulseBtn}@keyframes pulseBtn{from{transform:scale(1)}to{transform:scale(1.02)}}.btn-claimed{background:#ddd;color:#666;cursor:not-allowed;box-shadow:none;border-color:#999}.modal-box,.toast-msg{border:var(--border-width) solid var(--ink)}.btn-help{background:#fff;color:var(--ink)}.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast-msg{background:#fff;box-shadow:var(--shadow-md);padding:12px 18px;font-weight:800;font-size:.9rem;display:flex;align-items:center;gap:10px;transform:translateY(20px);opacity:0;transition:.2s cubic-bezier(.18, .89, .32, 1.28)}.toast-msg.show{transform:translateY(0);opacity:1}.toast-msg.success{border-left:8px solid var(--success)}.toast-msg.error{border-left:8px solid var(--danger)}.toast-msg.warning{border-left:8px solid var(--warning)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(17,17,17,.7);z-index:1000;align-items:center;justify-content:center;padding:1.5rem}.modal-box{background:var(--bg);box-shadow:var(--shadow-xl);max-width:480px;width:100%;padding:1.75rem;position:relative;animation:.2s popModal}@keyframes popModal{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-close{position:absolute;right:14px;top:14px;background:var(--danger);color:#fff;border:2px solid var(--ink);width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px 0 var(--ink)}@media (max-width:900px){.sidebar{width:min(250px,85vw);transform:translateX(-100%)}.sb-logo{padding:12px 14px;gap:8px}.sb-logo img{width:32px;height:32px}.sb-logo-text h1{font-size:.95rem}.sb-logo-text p{font-size:.62rem}.sb-nav{min-height:0;padding:8px 10px;gap:4px}.sb-item{flex-shrink:0;padding:7px 10px;font-size:.78rem;gap:8px}.sb-item i{width:16px;font-size:.85rem}.sb-active-indicator{margin-left:auto}.sb-bottom{padding:8px 10px}.sidebar.open{transform:translateX(0)}.sidebar-overlay.show{display:block}.main-wrapper{margin-left:0;width:100%;max-width:100vw;min-width:0;overflow-x:hidden}.hamburger-btn{display:flex}.content-area{padding:1.25rem;max-width:100%;overflow-x:hidden}}@media (max-width:600px){.topbar{padding:0 .75rem;height:56px;gap:6px}.topbar-left{gap:8px;min-width:0;flex-shrink:1}.topbar-title{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title i{display:none}.topbar-right{gap:6px;flex-shrink:0}.coin-badge{padding:4px 8px;font-size:.76rem;gap:4px;max-width:135px}.coin-badge-label{font-size:.72rem}.unlimited-badge{padding:4px 8px;font-size:.74rem;gap:4px}.content-area{padding:1rem .75rem}.event-banner{padding:1.15rem 1rem;margin-bottom:1.25rem}.banner-title{font-size:1.3rem;word-break:break-word}.banner-desc{font-size:.85rem;margin-bottom:1rem;word-break:break-word}.countdown-box{width:100%;justify-content:center;font-size:.8rem;padding:6px 10px;flex-wrap:wrap;text-align:center;gap:6px}.countdown-val{font-size:.92rem}.summary-card{flex-direction:column;align-items:stretch;gap:12px;padding:1rem;margin-bottom:1.25rem}.summary-info{gap:12px}.summary-icon{width:40px;height:40px;font-size:1.15rem}.summary-text h3{font-size:.98rem}.summary-text p{font-size:.78rem}.progress-bar-container{max-width:100%;width:100%;min-width:0}.refresh-btn{width:100%;justify-content:center;padding:9px}.section-title{font-size:1.15rem;margin-bottom:1rem}.missions-grid{grid-template-columns:1fr;gap:1rem;width:100%}.mission-card{width:100%;min-width:0;overflow:hidden}.card-top{padding:1rem;gap:10px;min-width:0}.card-icon{width:38px;height:38px;font-size:1.1rem}.card-info{min-width:0;overflow:hidden}.card-desc,.card-title{word-break:break-word;overflow-wrap:break-word}.card-title{font-size:.95rem}.card-desc{font-size:.78rem}.card-body{padding:.6rem 1rem;min-width:0;gap:8px}.reward-pill{font-size:.75rem;padding:3px 8px}.progress-meta{font-size:.72rem}.card-footer{padding:.75rem 1rem;flex-wrap:wrap;gap:8px;justify-content:space-between}.status-badge{font-size:.7rem;padding:3px 6px}.btn-action{font-size:.78rem;padding:6px 12px}.modal-box{padding:1.25rem 1rem}}@media (max-width:400px){.topbar{padding:0 .5rem}.topbar-title span{display:none}.topbar-title::after{content:'Event'}.coin-badge{max-width:105px;padding:4px 6px}}