*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--surface:#111118;--surface2:#1a1a24;--surface3:#22222f;--border:#2a2a3a;--accent:#6c63ff;--accent2:#ff6584;--accent3:#43e97b;--accent4:#f9a825;--text:#e8e8f0;--text2:#88a;--text3:#555570;--danger:#ff4d6d;--success:#43e97b;--warning:#f9a825;--exp-color:#eab308;--hp-color:#ef4444;--coins-color:#f59e0b}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text3)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.sidebar{display:none}.main-content{background:var(--bg);flex:1;padding:16px 16px 80px;overflow-y:auto}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:50;height:64px;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=1024px){.app-shell{flex-direction:row}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:24px 0;display:flex;position:sticky;top:0;overflow-y:auto}.main-content{max-width:1280px;padding:32px}.bottom-nav{display:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.card-sm{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}@media (width>=1024px){.card{border-radius:16px;padding:22px}}.grid-2,.grid-3{grid-template-columns:1fr;gap:12px;display:grid}.grid-4{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width>=640px){.grid-2{grid-template-columns:1fr 1fr;gap:14px}.grid-3{grid-template-columns:repeat(3,1fr);gap:14px}.grid-4{grid-template-columns:1fr 1fr;gap:14px}}@media (width>=1024px){.grid-2{grid-template-columns:1fr 1fr;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px}}.section-title{color:var(--text);letter-spacing:-.3px;margin-bottom:20px;font-size:20px;font-weight:700}@media (width>=1024px){.section-title{margin-bottom:24px;font-size:22px}}.label{text-transform:uppercase;letter-spacing:1px;color:var(--text3);font-size:11px;font-weight:600}.badge{border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-purple{color:var(--accent);background:#6c63ff26}.badge-red{color:var(--danger);background:#ff4d6d26}.badge-green{color:var(--success);background:#43e97b26}.badge-yellow{color:var(--warning);background:#f9a82526}.btn{border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}@media (width>=1024px){.btn{padding:8px 16px;font-size:14px}}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#5a52e0}.btn-ghost{background:var(--surface2);color:var(--text2);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface3);color:var(--text)}.btn-danger{color:var(--danger);background:#ff4d6d26}.btn-danger:hover{background:#ff4d6d40}.progress-bar{background:var(--surface3);border-radius:999px;height:6px;overflow:hidden}.progress-fill{border-radius:999px;height:100%;transition:width .4s}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-height:90vh;padding:24px 20px;overflow-y:auto}@media (width>=640px){.modal-overlay{align-items:center}.modal{border-radius:20px;width:480px;max-width:95vw;max-height:85vh;padding:28px}}.modal-title{margin-bottom:18px;font-size:17px;font-weight:700}@media (width>=1024px){.modal-title{margin-bottom:20px;font-size:18px}}.dashboard-main{grid-template-columns:minmax(0,1fr)}@media (width>=1024px){.dashboard-main{grid-template-columns:minmax(0,1fr) 320px;gap:20px}}.hide-mobile{display:none}@media (width>=640px){.hide-mobile{display:initial}}.form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-group label{color:var(--text2);font-size:13px;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%}.form-row{gap:10px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.tabs-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.tabs-scroll>*{flex-shrink:0}.kanban-board{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;align-items:flex-start;gap:14px;margin-left:-4px;padding-bottom:20px;padding-left:4px;display:flex;overflow-x:auto}.kanban-col{scroll-snap-align:start;flex-direction:column;flex-shrink:0;min-width:calc(100vw - 52px);max-width:calc(100vw - 52px);display:flex}@media (width>=640px){.kanban-col{min-width:260px;max-width:260px}}.task-row{background:var(--surface2);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.task-row-body{flex:1;min-width:0}.task-row-title{word-break:break-word;font-size:14px}.task-row-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.task-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.task-col-label{color:var(--text3);white-space:nowrap;font-size:11px}.stat-value-lg{letter-spacing:-.5px;font-size:24px;font-weight:800}@media (width>=640px){.stat-value-lg{font-size:28px}}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.95)}}.reward-toast{pointer-events:none;animation:.3s forwards toast-slide-in}.reward-toast.exiting{animation:.35s forwards toast-slide-out}.exp-bar-fill{background:var(--exp-color)}.hp-bar-fill{background:var(--hp-color)}.achievement-card{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;transition:transform .15s;display:flex}.achievement-card.unlocked{border-color:var(--exp-color);background:#eab3080f}.achievement-card:hover{transform:translateY(-2px)}@keyframes achievement-bounce{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}55%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}75%{transform:translate(-50%,-50%)scale(.95)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes achievement-fade-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}.achievement-unlock-modal{z-index:9999;text-align:center;pointer-events:none;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:24px;min-width:280px;padding:36px 48px;animation:.65s cubic-bezier(.34,1.56,.64,1) forwards achievement-bounce;position:fixed;top:50%;left:50%;box-shadow:0 24px 64px #7c3aed8c,0 0 0 1px #ffffff1a}.achievement-unlock-modal.exiting{animation:.4s forwards achievement-fade-out}.achievement-unlock-overlay{z-index:9998;pointer-events:none;background:#00000073;animation:.2s forwards toast-slide-in;position:fixed;inset:0}.achievement-unlock-overlay.exiting{animation:.4s forwards toast-slide-out}@keyframes ob-slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes ob-slide-in-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes ob-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ob-step-enter-right{animation:.35s forwards ob-slide-in-right}.ob-step-enter-left{animation:.35s forwards ob-slide-in-left}.ob-fade-in{animation:.4s forwards ob-fade-in}.ob-fade-in-delay-1{opacity:0;animation:.4s .15s forwards ob-fade-in}.ob-fade-in-delay-2{opacity:0;animation:.4s .3s forwards ob-fade-in}.ob-fade-in-delay-3{opacity:0;animation:.4s .45s forwards ob-fade-in}.ob-fade-in-delay-4{opacity:0;animation:.4s .6s forwards ob-fade-in}.ob-fade-in-delay-5{opacity:0;animation:.4s .75s forwards ob-fade-in}.ob-table{border-collapse:collapse;width:100%;font-size:13px}.ob-table th{text-align:left;color:var(--text3);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-weight:600}.ob-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:6px 8px}.ob-table input[type=text],.ob-table input[type=number]{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:7px;width:100%;padding:6px 8px;font-size:13px}.ob-table select{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:6px 8px;font-size:13px}.ob-info-box{border-radius:10px;margin-bottom:18px;padding:12px 16px;font-size:13px}.ob-avatar-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;margin-top:10px;display:grid}.ob-area-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;transition:opacity .2s;display:flex}
