:root{--font-quest:"Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;--font-quest-number:"Arial Black", "Yu Mincho", "Hiragino Mincho ProN", serif;--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#818cf8;--primary-glow:#6366f180;--secondary:#22c55e;--secondary-dark:#16a34a;--secondary-glow:#22c55e80;--accent:#f59e0b;--accent-light:#fbbf24;--accent-glow:#f59e0b80;--danger:#ef4444;--danger-glow:#ef444480;--gradient-fire:linear-gradient(135deg, #f97316 0%, #ef4444 50%, #dc2626 100%);--gradient-gold:linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #d97706 100%);--gradient-level:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--gradient-success:linear-gradient(135deg, #22c55e 0%, #10b981 100%);--gradient-header:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--bg-dark:#0c0f1a;--bg-card:#1a1f35;--bg-card-hover:#232942;--bg-input:#2a3150;--bg-hover:#353d5c;--bg-glow:radial-gradient(circle at 50% 0%, #6366f126 0%, transparent 50%);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#3d4663;--shadow:0 4px 20px #0006;--shadow-lg:0 10px 40px #00000080;--shadow-glow:0 0 30px var(--primary-glow);--shadow-fire:0 0 30px #f9731666;--radius:16px;--radius-sm:10px;--radius-lg:20px}[data-theme=light]{--bg-dark:#f0f4ff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#e2e8f0;--bg-hover:#cbd5e1;--bg-glow:radial-gradient(circle at 50% 0%, #6366f114 0%, transparent 50%);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border:#e2e8f0;--shadow:0 4px 20px #00000014;--shadow-lg:0 10px 40px #0000001f;--shadow-glow:0 0 30px #6366f133}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-quest);background:var(--bg-dark);background-image:var(--bg-glow);color:var(--text-primary);-webkit-tap-highlight-color:transparent;-webkit-user-select:text;user-select:text;-webkit-touch-callout:none;letter-spacing:.01em;min-height:100dvh;font-weight:500;transition:background .3s,color .3s}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button,[role=button],.nav,.exercise-drag-handle,.exercise-actions,.workout-actions{-webkit-user-select:none;user-select:none}#app{max-width:480px;margin:0 auto;padding-bottom:80px}#main-content{animation:.2s fadeIn}#main-content[data-page=settings]{touch-action:pan-y;overscroll-behavior-x:none;overflow-x:hidden}#main-content[data-page=settings] .settings-section{overflow-x:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);text-align:center;z-index:100;padding:20px;position:sticky;top:0}.header h1{color:#fff;font-size:1.5rem;font-weight:700}.status-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);margin:16px;padding:20px}.status-row{text-align:center;justify-content:space-around;display:flex}.status-item{flex:1}.status-value{color:var(--primary);font-size:2rem;font-weight:700;transition:transform .3s,color .3s}.status-value.streak{color:var(--warning)}.status-label{color:var(--text-secondary);margin-top:4px;font-size:.75rem}.level-progress{margin-top:16px}.progress-bar{background:var(--bg-input);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);height:100%;transition:width .3s}.progress-text{color:var(--text-muted);text-align:right;margin-top:4px;font-size:.75rem}.section-title{color:var(--text-secondary);margin-bottom:12px;font-size:1rem;font-weight:600}.exercise-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;padding:14px 12px;transition:transform .2s,box-shadow .2s}.exercise-card:active{transform:scale(.98)}.exercise-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.exercise-name{font-size:1.1rem;font-weight:600}.exercise-total{color:var(--text-muted);font-size:.8rem}.exercise-controls{grid-template-columns:max-content minmax(52px,1fr) max-content;align-items:center;gap:10px;padding-top:4px;display:grid}.button-row{align-items:center;gap:6px;display:flex}.minus-row{justify-self:start}.plus-row{justify-self:end}.count-btn.secondary{width:42px;height:42px;font-size:1.1rem}.btn-label{color:var(--text-secondary);pointer-events:none;z-index:1;font-size:.6rem;font-weight:600;position:absolute;bottom:2px}.count-btn.plus .btn-label{color:#fffffffa;text-shadow:0 1px 2px #0f172a47;background:#0f172a3d;border-radius:999px;padding:1px 6px;box-shadow:0 1px 3px #0f172a38}.increments-config{flex-direction:column;gap:12px;display:flex}.increment-pair{background:var(--bg-input);border-radius:8px;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.increment-type-label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.increment-inputs{gap:8px;display:flex}.increment-input{flex:1;min-width:0}.count-btn{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.35rem;font-weight:700;transition:transform .1s,background .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.count-btn:after{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.count-btn:active:after{width:100px;height:100px}.count-btn:active{transform:scale(.9)}.count-btn.minus{background:var(--bg-input);color:var(--text-primary)}.count-btn.minus:hover{background:var(--bg-hover)}.count-btn.minus:active{background:var(--danger);color:#fff}.count-btn.plus{background:var(--primary);color:#fff;box-shadow:0 4px 12px #4f46e566}.count-btn.plus:hover{background:var(--primary-dark);box-shadow:0 6px 16px #4f46e580}.btn-increment{background:var(--accent);color:#fff;z-index:10;pointer-events:none;white-space:nowrap;border-radius:10px;padding:2px 6px;font-size:.65rem;font-weight:700;line-height:1.2;position:absolute;top:-10px;right:-10px;box-shadow:0 2px 6px #0006}.count-btn.plus{position:relative}.count-display{text-align:center;min-width:52px;font-size:2rem;font-weight:700;line-height:1;transition:transform .15s,color .15s}.count-display.pulse-up{animation:.3s countPulseUp}.count-display.pulse-down{animation:.3s countPulseDown}@keyframes countPulseUp{0%{color:var(--text-primary);transform:scale(1)}50%{color:var(--secondary);transform:scale(1.3)}to{color:var(--text-primary);transform:scale(1)}}@keyframes countPulseDown{0%{color:var(--text-primary);transform:scale(1)}50%{color:var(--danger);transform:scale(.8)}to{color:var(--text-primary);transform:scale(1)}}.nav{background:var(--bg-card);border-top:1px solid var(--border);padding:8px 0;padding-bottom:max(8px, env(safe-area-inset-bottom));z-index:5000;pointer-events:auto;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.nav,.nav *{pointer-events:auto}.nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;padding:8px 16px;font-size:.7rem;text-decoration:none;transition:color .2s,transform .2s;display:flex}.nav-item:active{transform:scale(.95)}.nav-item.active{color:var(--primary)}.nav-icon{margin-bottom:4px;font-size:1.5rem;transition:transform .2s}.nav-item.active .nav-icon{transform:scale(1.1)}.badge-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;display:grid}.badge-card{background:var(--bg-card);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);opacity:.5;filter:grayscale();cursor:pointer;padding:16px;transition:all .3s}.badge-card:active{transform:scale(.95)}.badge-card.unlocked{opacity:1;filter:none}.badge-card.unlocked:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.badge-icon{margin-bottom:8px;font-size:2.5rem}.badge-name{margin-bottom:4px;font-size:.9rem;font-weight:600}.badge-desc{color:var(--text-muted);font-size:.75rem}.badge-progress{color:var(--primary);margin-top:8px;font-size:.7rem}.modal-overlay{z-index:300;opacity:0;visibility:hidden;background:#000000b3;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.modal-overlay.show{opacity:1;visibility:visible}.modal{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;width:90%;max-width:320px;padding:24px;transition:transform .3s;transform:scale(.9)}.modal-overlay.show .modal{transform:scale(1)}.modal-icon{margin-bottom:16px;font-size:4rem}.modal-title{margin-bottom:8px;font-size:1.25rem;font-weight:700}.modal-desc{color:var(--text-secondary);margin-bottom:16px}.modal-status{border-radius:var(--radius-sm);padding:8px 16px;font-size:.9rem;font-weight:600}.modal-status.unlocked{color:var(--secondary);background:#10b98133}.modal-status.locked{color:var(--danger);background:#ef444433}.modal-close{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:16px;padding:12px 32px;font-size:1rem;font-weight:600;transition:background .2s}.modal-close:hover{background:var(--primary-dark)}.history-list{padding:16px}.history-date{color:var(--text-secondary);margin-top:16px;margin-bottom:8px;font-size:.9rem;font-weight:600}.history-date:first-child{margin-top:0}.history-item{background:var(--bg-card);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;transition:transform .2s;display:flex;position:relative;overflow:hidden}.history-item.swiped{transform:translate(-80px)}.history-exercise{font-weight:500}.history-count{color:var(--primary);font-weight:700}.history-delete{background:var(--danger);color:#fff;cursor:pointer;justify-content:center;align-items:center;width:80px;font-size:1.5rem;transition:transform .2s;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.history-item.swiped .history-delete{transform:translate(0)}.calendar-section{padding:16px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-month{color:var(--text-primary);font-size:1.2rem;font-weight:700}.calendar-nav{background:var(--bg-card);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .1s;display:flex}.calendar-nav:hover{background:var(--bg-hover)}.calendar-nav:active{transform:scale(.95)}.calendar-nav svg{width:20px;height:20px}.calendar-nav-img{object-fit:contain;filter:drop-shadow(0 0 7px #8bdc6559);width:24px;height:24px}.calendar-nav-img-prev{transform:scaleX(-1)}.calendar-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.calendar-weekdays span{color:var(--text-muted);font-size:.75rem;font-weight:600}.calendar-weekdays span:first-child{color:var(--danger)}.calendar-weekdays span:last-child{color:var(--primary)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;transition:transform .1s,box-shadow .2s;display:flex;position:relative}.calendar-day.empty{cursor:default}.calendar-day.future{opacity:.3;cursor:default}.calendar-day:not(.empty):not(.future):hover{transform:scale(1.1)}.calendar-day:not(.empty):not(.future):active{transform:scale(.95)}.calendar-day.level-1{background:#22c55e33}.calendar-day.level-2{background:#22c55e66}.calendar-day.level-3{background:#22c55e99}.calendar-day.level-4{background:var(--secondary);color:#fff}.calendar-day.level-4 .day-number{color:#fff}.calendar-day.selected{box-shadow:0 0 0 2px var(--accent), 0 4px 12px #f59e0b4d}.day-number{color:var(--text-primary);font-size:.85rem;font-weight:600}.day-count{color:var(--text-secondary);margin-top:2px;font-size:.65rem}.calendar-day.level-4 .day-count{color:#fffc}.calendar-legend{justify-content:center;align-items:center;gap:4px;margin-top:16px;display:flex}.legend-label{color:var(--text-muted);font-size:.7rem}.legend-box{border-radius:3px;width:12px;height:12px}.legend-box.level-0{background:var(--bg-card);border:1px solid var(--border)}.legend-box.level-1{background:#22c55e33}.legend-box.level-2{background:#22c55e66}.legend-box.level-3{background:#22c55e99}.legend-box.level-4{background:var(--secondary)}.calendar-stats{background:var(--bg-card);border-radius:var(--radius);justify-content:space-around;margin-top:16px;padding:16px;display:flex}.calendar-stats .stat-item{flex-direction:column;align-items:center;display:flex}.calendar-stats .stat-label{color:var(--text-muted);margin-top:4px;font-size:.75rem}.day-detail-section{padding:0 16px 16px}.day-detail-header{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:12px;padding:8px 0;font-size:1rem;font-weight:600}.day-detail-list{flex-direction:column;gap:8px;display:flex}.day-detail-item{background:var(--bg-card);border-radius:var(--radius-sm);overflow:hidden}.detail-main{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.detail-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-left{align-items:center;gap:12px;min-width:0;display:flex}.detail-icon{width:32px;height:32px;color:var(--primary);justify-content:center;align-items:center;display:flex}.detail-icon svg{width:24px;height:24px}.detail-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.detail-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.detail-summary-item{background:var(--bg-input);border-radius:var(--radius-sm);flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.detail-summary-label{color:var(--text-muted);font-size:.7rem}.detail-summary-value{color:var(--text-primary);word-break:break-word;font-size:.95rem;font-weight:700}.detail-summary-value.primary{color:var(--secondary)}.detail-summary-value.muted{color:var(--text-muted);font-size:.85rem}.detail-delete{min-width:42px;height:28px;color:var(--text-muted);cursor:pointer;background:#ef44441f;border:1px solid #ef44443d;border-radius:7px;justify-content:center;align-items:center;padding:0 8px;font-size:.68rem;font-weight:900;transition:background .2s,color .2s;display:flex}.detail-delete:hover{color:var(--danger);background:#ef44441a}.detail-delete svg{width:18px;height:18px}.detail-sets{border-top:1px solid var(--border);padding-top:12px}.detail-sets-summary{color:var(--text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;font-weight:600;list-style:none;display:flex}.detail-sets-summary::-webkit-details-marker{display:none}.detail-sets-summary:after{content:"+";color:var(--text-muted);font-size:1rem}.detail-sets[open] .detail-sets-summary:after{content:"−"}.detail-set-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.detail-set-row{background:var(--bg-input);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.detail-set-label{color:var(--text-secondary);font-size:.8rem}.detail-set-value{color:var(--text-primary);font-weight:700}.confirm-dialog{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px;padding-bottom:max(24px, env(safe-area-inset-bottom));z-index:400;visibility:hidden;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.confirm-dialog.show{visibility:visible;transform:translateY(0)}.confirm-title{text-align:center;margin-bottom:16px;font-size:1.1rem;font-weight:600}.confirm-buttons{gap:12px;display:flex}.confirm-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:14px;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.confirm-btn:active{transform:scale(.98)}.confirm-btn.cancel{background:var(--bg-input);color:var(--text-primary)}.confirm-btn.danger{background:var(--danger);color:#fff}.setting-item{background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;transition:background .2s;display:flex}.setting-item:hover{background:var(--bg-hover)}.setting-item.clickable:active{transform:scale(.98)}.setting-label{font-weight:500}.setting-value{color:var(--text-muted)}.toggle{background:var(--bg-input);cursor:pointer;border-radius:14px;width:50px;height:28px;transition:background .3s;position:relative}.toggle.active{background:var(--primary)}.toggle:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .3s;position:absolute;top:2px;left:2px}.toggle.active:after{transform:translate(22px)}.add-exercise-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:16px;padding:14px;font-size:1rem;font-weight:600;transition:background .2s;display:flex}.add-exercise-btn:hover{background:var(--primary-dark)}.input-modal{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:320px;padding:24px}.input-modal input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);margin-bottom:16px;padding:14px;font-size:1rem}.input-modal input:focus{border-color:var(--primary);outline:none}.chart-section{padding:16px}.chart-container{background:var(--bg-card);border-radius:var(--radius);margin-bottom:16px;padding:16px}.chart-title{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem;font-weight:600}.chart-bars{justify-content:space-between;align-items:flex-end;gap:8px;height:120px;display:flex}.chart-bar-wrapper{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.chart-bar{background:linear-gradient(to top, var(--primary), var(--primary-light));border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:height .5s}.chart-label{color:var(--text-muted);margin-top:8px;font-size:.7rem}.chart-value{color:var(--text-secondary);margin-bottom:4px;font-size:.7rem}.toast{background:var(--secondary);color:#fff;border-radius:var(--radius);opacity:0;z-index:200;text-align:center;max-width:90%;box-shadow:var(--shadow-lg);padding:12px 24px;font-weight:600;transition:all .3s;position:fixed;bottom:120px;left:50%;transform:translate(-50%)translateY(100px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.badge-toast{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}@keyframes levelUp{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.level-up{animation:.5s levelUp}@keyframes badgeUnlock{0%{transform:scale(1)rotate(0)}25%{transform:scale(1.2)rotate(-5deg)}50%{transform:scale(1.2)rotate(5deg)}75%{transform:scale(1.1)rotate(-3deg)}to{transform:scale(1)rotate(0)}}.badge-unlock{animation:.6s badgeUnlock}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-icon{margin-bottom:12px;font-size:3rem}.empty-action{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:16px;padding:12px 24px;font-size:1rem;font-weight:600;transition:background .2s}.empty-action:hover{background:var(--primary-dark)}.dialog-overlay{z-index:350;opacity:0;visibility:hidden;background:#00000080;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.dialog-overlay.show{opacity:1;visibility:visible}.context-help-overlay{opacity:0;visibility:hidden;z-index:5200;box-sizing:border-box;background:#00000080;justify-content:center;align-items:center;padding:16px;transition:opacity .2s;display:flex;position:fixed;inset:0}.context-help-overlay.show{opacity:1;visibility:visible}.context-help-popover{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:min(92vw,380px);max-height:min(80vh,420px);box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;padding:14px;transition:transform .2s;display:flex;position:relative;transform:scale(.96)}.context-help-overlay.show .context-help-popover{transform:scale(1)}.context-help-title{color:var(--text-secondary);font-size:.95rem;font-weight:700}.context-help-close{border:1px solid color-mix(in srgb, var(--text-muted) 28%, transparent);background:var(--bg-input);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:inline-flex;position:absolute;top:12px;right:12px}.context-help-close:active{transform:scale(.96)}.context-help-text{color:var(--text-primary);white-space:pre-wrap;max-height:calc(80vh - 112px);padding-right:4px;font-size:.86rem;line-height:1.55;overflow-y:auto}.context-help-wrapper{align-items:center;min-width:0;display:inline-flex}.context-help-wrapper.context-help-wrapper--right{justify-content:flex-end;width:100%;display:flex}.context-help-wrapper.context-help-wrapper--inline-label{width:auto;margin-left:6px;display:inline-flex}.context-help-toggle{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-input) 82%, transparent);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;line-height:1;display:inline-flex;overflow:hidden}.context-help-icon{object-fit:contain;width:18px;height:18px}.context-help-toggle:active{transform:scale(.95)}.tab-indicator{background:var(--primary);border-radius:3px 3px 0 0;height:3px;transition:left .3s,width .3s;position:absolute;bottom:0}.page-exit{opacity:0;transition:opacity .15s,transform .15s;transform:translateY(-10px)}.page-enter{animation:.2s pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{gap:12px;margin-bottom:24px;display:flex}.theme-btn{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:8px;padding:16px;transition:all .2s;display:flex}.theme-btn:hover{background:var(--bg-hover)}.theme-btn.active{border-color:var(--primary);background:#4f46e51a}.theme-btn span:first-child{font-size:1.5rem}.theme-btn span:last-child{font-size:.9rem;font-weight:500}.exercise-list{flex-direction:column;gap:8px;display:flex}.exercise-item{background:var(--bg-card);border-radius:var(--radius-sm);cursor:grab;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-drag:none;border:1px solid #0000;align-items:center;gap:10px;padding:12px;transition:transform .2s,opacity .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;-webkit-user-select:none!important;user-select:none!important}.exercise-item .exercise-drag-handle,.exercise-item .exercise-actions,.exercise-item .exercise-actions *{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none!important;user-select:none!important}.exercise-item .exercise-main,.exercise-item .exercise-name,.exercise-item .exercise-meta,.exercise-item .exercise-unit,.exercise-item .exercise-increment,.exercise-item .exercise-status{-webkit-touch-callout:default;-webkit-user-select:text!important;user-select:text!important}.exercise-item.is-pressing{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 40%, transparent)}.exercise-item.dragging{cursor:grabbing;opacity:.78;border-color:var(--primary);box-shadow:var(--shadow-glow);z-index:5;transform:scale(.98)}.exercise-list.is-dragging .exercise-item:not(.dragging){transition:transform .16s,opacity .16s}.exercise-reorder-pressing,.exercise-reorder-pressing *,.exercise-reorder-active,.exercise-reorder-active *{-webkit-touch-callout:none;-webkit-user-select:none!important;user-select:none!important}.exercise-drag-handle{width:28px;height:36px;color:var(--text-muted);touch-action:none;letter-spacing:-.28em;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:900;display:flex}.exercise-drag-handle svg{width:18px;height:18px}.exercise-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.exercise-item .exercise-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.exercise-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.exercise-increment,.exercise-set-rule{white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:.74rem;font-weight:600}.exercise-increment{color:var(--secondary);background:#22c55e26}.exercise-set-rule{color:#c7d6eb;background:#4ca2ff1f;border:1px solid #4ca2ff2e}.exercise-status{color:var(--text-muted);background:var(--bg-input);white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:.7rem;font-weight:700}.exercise-item-hidden{opacity:.62}.exercise-item-hidden .exercise-name{color:var(--text-muted)}.exercise-actions{flex-shrink:0;gap:6px;display:flex}.exercise-visibility,.exercise-edit,.exercise-delete{cursor:pointer;color:#f5f5ef;background:linear-gradient(#161f24f5,#070c0ff5);border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 7px;font-size:.62rem;font-weight:900;transition:background .2s,transform .1s;display:flex;box-shadow:inset 0 1px #ffffff14}.exercise-visibility:hover,.exercise-edit:hover,.exercise-delete:hover{background:linear-gradient(#1c282ef5,#090f12f5);border-color:#f7b82b4d}.exercise-visibility:active,.exercise-edit:active,.exercise-delete:active{transform:scale(.9)}.exercise-visibility svg,.exercise-edit svg,.exercise-delete svg{width:18px;height:18px}.exercise-delete{color:#ffc7c7;background:linear-gradient(#5818189e,#260c0cb8);border-color:#ef44443d}.exercise-delete:hover{background:linear-gradient(#701e1eb8,#300e0ed1)}#repair-badges-btn+.section-desc{display:none}.exercise-modal{text-align:left}.exercise-modal .modal-title{text-align:center;margin-bottom:16px}.exercise-input{background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:14px;font-size:1rem;transition:border-color .2s}.exercise-input:focus{border-color:var(--primary);outline:none}.exercise-input.shake,.increment-value-input.shake{border-color:var(--danger);animation:.3s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-4px)}}.exercise-modal-field{margin-bottom:16px}.exercise-modal-label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;display:block}.exercise-modal-label--with-help{align-items:center;gap:6px;margin-bottom:10px;display:inline-flex}.increment-input-wrapper{background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius-sm);align-items:center;padding:0 14px;transition:border-color .2s;display:flex}.increment-input-wrapper:focus-within{border-color:var(--primary)}.increment-input{color:var(--text-primary);text-align:center;-moz-appearance:textfield;background:0 0;border:none;flex:1;width:60px;padding:12px 8px;font-size:1.2rem;font-weight:600}.increment-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.increment-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.increment-input:focus{outline:none}.increment-prefix,.increment-suffix{color:var(--text-secondary);font-size:1rem;font-weight:500}.increment-prefix{color:var(--secondary);font-weight:600}.increments-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.increment-values{gap:8px;display:flex}.increment-slot{flex-direction:column;flex:1;gap:4px;display:flex}.exercise-modal-hint{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.5}.context-help-source{display:none}.increment-slot-label{color:var(--text-muted);font-size:.72rem;font-weight:600}.increment-value-input{background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);text-align:center;-moz-appearance:textfield;padding:10px 8px;font-size:1rem;font-weight:600;transition:border-color .2s}.increment-value-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.increment-value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.increment-value-input:focus{border-color:var(--primary);outline:none}.increment-value-input::placeholder{color:var(--text-muted);font-size:.8rem}.modal-buttons{gap:12px;margin-top:16px;display:flex}.modal-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:12px;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.modal-btn:active{transform:scale(.98)}.modal-btn.cancel{background:var(--bg-input);color:var(--text-primary)}.modal-btn.cancel:hover{background:var(--bg-hover)}.modal-btn.confirm{background:var(--primary);color:#fff}.modal-btn.confirm:hover{background:var(--primary-dark)}.confirm-message{color:var(--text-muted);text-align:center;margin-bottom:20px;font-size:.9rem}.delete-confirm-field{gap:8px;margin-bottom:20px;display:grid}.delete-confirm-field span{color:var(--text-secondary);font-size:.8rem;font-weight:700}.delete-confirm-field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;min-height:44px;color:var(--text-primary);font:inherit;padding:10px 12px}.delete-confirm-field input:focus{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent);outline:none}.confirm-btn:disabled{cursor:not-allowed;opacity:.48;transform:none}.progress-fill{background:var(--gradient-level);position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.fire-streak{background:var(--gradient-fire);animation:1.5s ease-in-out infinite alternate fireGlow;position:relative}.fire-streak:before{content:"";background:var(--gradient-fire);filter:blur(8px);opacity:.6;z-index:-1;border-radius:inherit;position:absolute;inset:-2px}@keyframes fireGlow{0%{box-shadow:0 0 20px #f9731666}to{box-shadow:0 0 35px #ef444499}}.streak-flames{gap:2px;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.flame{background:var(--gradient-fire);transform-origin:bottom;border-radius:50% 50% 20% 20%;width:8px;height:20px;animation:.3s ease-in-out infinite alternate flicker}.flame:nth-child(2){height:25px;animation-delay:.1s}.flame:nth-child(3){height:18px;animation-delay:.2s}@keyframes flicker{0%{transform:scaleY(1)scaleX(1)}to{transform:scaleY(1.2)scaleX(.8)}}.level-up-overlay{z-index:500;background:#000c;justify-content:center;align-items:center;animation:.3s fadeInOverlay;display:flex;position:fixed;inset:0}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.level-up-content{text-align:center;animation:.5s levelUpBounce}@keyframes levelUpBounce{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.level-up-icon{margin-bottom:16px;font-size:5rem;animation:1s infinite starSpin}@keyframes starSpin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.2)}to{transform:rotate(360deg)scale(1)}}.level-up-text{background:var(--gradient-gold);-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.level-up-level{color:var(--accent-light);text-shadow:0 0 30px var(--accent-glow);margin:8px 0;font-size:3.5rem;font-weight:900}.particle-container{pointer-events:none;z-index:400;position:fixed;inset:0;overflow:hidden}.particle{color:var(--secondary);text-shadow:0 0 10px var(--secondary-glow);font-size:1.2rem;font-weight:700;animation:1s ease-out forwards particleFly;position:absolute}@keyframes particleFly{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-100px)scale(.5)}}.card-shine{position:relative;overflow:hidden}.card-shine:before{content:"";pointer-events:none;background:linear-gradient(45deg,#0000 40%,#ffffff08 50%,#0000 60%);width:200%;height:200%;transition:transform .5s;position:absolute;top:-50%;left:-50%;transform:rotate(45deg)}.card-shine:hover:before{transform:rotate(45deg)translateY(100%)}.badge-card.unlocked{position:relative}.badge-card.unlocked:after{content:"";background:var(--gradient-gold);border-radius:inherit;z-index:-1;opacity:0;filter:blur(8px);transition:opacity .3s;position:absolute;inset:-2px}.badge-card.unlocked:hover:after{opacity:.5}.confetti-container{pointer-events:none;z-index:450;position:fixed;inset:0;overflow:hidden}.confetti{width:10px;height:10px;animation:3s ease-out forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.status-card{background:var(--bg-card);background-image:var(--bg-glow);border:1px solid var(--border)}.streak-section{background:var(--gradient-fire);border-radius:var(--radius);text-align:center;margin-bottom:16px;padding:16px;position:relative;overflow:hidden}.streak-section:before{content:"";background:linear-gradient(#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.streak-value{color:#fff;text-shadow:0 2px 10px #0000004d;font-size:3rem;font-weight:900}.streak-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-weight:600}.level-section{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.level-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.level-badge{align-items:center;gap:8px;display:flex}.level-icon{background:var(--gradient-level);width:40px;height:40px;box-shadow:0 0 20px var(--primary-glow);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.level-number{background:var(--gradient-level);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800}.level-title{color:var(--text-secondary);font-size:.8rem}.level-progress-display{text-align:right}.level-progress-current{color:var(--primary-light);font-size:1.2rem;font-weight:700}.level-progress-needed{color:var(--text-muted);font-size:.75rem}.level-progress .progress-bar{background:var(--bg-input);border-radius:6px;height:12px;box-shadow:inset 0 2px 4px #0003}.exercise-card{background:var(--bg-card);border:1px solid var(--border);transition:transform .2s,box-shadow .2s,border-color .2s}.exercise-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.count-display{background:linear-gradient(180deg, var(--text-primary) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.count-btn.plus{background:var(--gradient-success);box-shadow:0 4px 15px var(--secondary-glow)}.count-btn.plus:active{background:var(--gradient-level);box-shadow:0 2px 10px var(--primary-glow)}.badge-grid{gap:16px}.badge-card{border:1px solid var(--border);transition:all .3s}.badge-card.unlocked{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.badge-icon{filter:drop-shadow(0 4px 8px #0003);margin-bottom:12px;font-size:3rem}.header{background:var(--gradient-header);position:relative;overflow:hidden}.header:before{content:"";background:linear-gradient(#ffffff26 0%,#0000 100%);height:50%;position:absolute;top:0;left:0;right:0}.header h1{z-index:1;text-shadow:0 2px 10px #0003;position:relative}.exercise-info{align-items:center;gap:10px;display:flex}.exercise-icon{width:32px;height:32px;color:var(--primary-light);justify-content:center;align-items:center;display:flex}.exercise-icon svg{width:100%;height:100%}.badge-progress-section{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.badge-progress-icon{background:var(--gradient-gold);width:36px;height:36px;box-shadow:0 0 15px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;display:flex}.badge-progress-icon svg{color:#fff;width:20px;height:20px}.badge-progress-info{flex-direction:column;gap:2px;min-width:70px;display:flex}.badge-progress-count{color:var(--accent);font-size:1.1rem;font-weight:700}.badge-progress-label{color:var(--text-muted);font-size:.7rem}.badge-progress-bar{background:var(--bg-input);border-radius:4px;flex:1;height:8px;overflow:hidden}.badge-progress-fill{background:var(--gradient-gold);border-radius:4px;height:100%;transition:width .3s}.section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;margin-bottom:16px;font-size:1rem;font-weight:700;display:flex}.section-title svg{width:20px;height:20px;color:var(--primary-light)}.timer-section{padding:0 16px 6px}.timer-card{--timer-wheel-item-height:36px;border-radius:var(--radius);background:radial-gradient(circle at 16% 0,#8bdc651f,#0000 34%),linear-gradient(#131c20f5,#070c0ff5);border:1px solid #f7b82b3d;padding:14px;box-shadow:inset 0 1px #ffffff14,0 10px 28px #0000006b}.timer-card-header{align-items:center;margin-bottom:10px;display:flex}.timer-card-title{color:#f5f5ef;letter-spacing:0;text-shadow:0 2px #050607;align-items:center;gap:6px;font-size:.82rem;font-weight:950;display:inline-flex}.timer-card-title svg{width:16px;height:16px;color:var(--primary-light)}.timer-title-img{object-fit:contain;filter:drop-shadow(0 0 8px #8bdc6566);width:24px;height:24px}.timer-mode-switch{border-radius:calc(var(--radius) - 4px);background:#060a0db8;border:1px solid #ffffff1a;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.timer-mode-btn{border-radius:var(--radius-sm);color:var(--text-muted);letter-spacing:.08em;touch-action:manipulation;background:0 0;border:0;padding:10px 8px;font-size:.76rem;font-weight:700;transition:transform .18s,background .18s,color .18s,box-shadow .18s}.timer-mode-btn.active{color:#fff;background:linear-gradient(#7ee45a,#2f7a25);box-shadow:inset 0 1px #ffffff38,0 0 14px #8bdc6542}.timer-mode-btn:active{transform:scale(.98)}.timer-hero{text-align:center;padding:12px 0 10px}.timer-status{min-width:96px;color:var(--quest-gold-2);letter-spacing:.12em;background:#f7b82b17;border:1px solid #f7b82b5c;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.timer-status.complete{border-color:color-mix(in srgb, var(--accent) 38%, transparent);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.timer-display{letter-spacing:.06em;color:#f7f7f3;text-shadow:0 2px #050607,0 0 12px #f7b82b2e;font-variant-numeric:tabular-nums;margin-top:10px;font-size:clamp(1.95rem,8vw,2.8rem);font-weight:900}.timer-scope-note{color:var(--quest-text-muted);margin-top:6px;font-size:.72rem;line-height:1.35}.timer-panel{display:none}.timer-panel.active{display:block}.timer-wheel-helper{color:var(--text-secondary);margin-bottom:10px;font-size:.73rem;line-height:1.4}.timer-wheel-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.timer-number-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px;display:grid}.timer-number-input-label{color:var(--text-secondary);gap:4px;font-size:.76rem;font-weight:800;display:grid}.timer-number-input-label input{width:100%;min-height:34px;color:var(--text-primary);text-align:center;font:inherit;background:#0000003d;border:1px solid #ffffff24;border-radius:8px;font-weight:900}.timer-wheel-field{flex-direction:column;align-items:center;gap:6px;display:flex}.timer-wheel-label{color:var(--text-secondary);letter-spacing:.08em;font-size:.72rem;font-weight:700}.timer-wheel-frame{width:100%;height:calc(var(--timer-wheel-item-height) * 3);border-radius:var(--radius-sm);background:#03080be6;border:1px solid #f7b82b3d;position:relative;overflow:hidden}.timer-wheel-frame:after{content:"";inset:var(--timer-wheel-item-height) 8px;pointer-events:none;background:#8bdc651f;border-radius:10px;position:absolute;box-shadow:inset 0 0 0 1px #8bdc654d}.timer-wheel-frame.disabled{opacity:.52}.timer-wheel{scroll-snap-type:y mandatory;overscroll-behavior:contain;overscroll-behavior-x:none;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;height:100%;overflow-y:auto}.timer-wheel::-webkit-scrollbar{display:none}.timer-wheel.disabled{pointer-events:none}.timer-wheel-spacer,.timer-wheel-option{height:var(--timer-wheel-item-height);scroll-snap-align:center;justify-content:center;align-items:center;display:flex}.timer-wheel-option{color:var(--text-muted);opacity:.56;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.98rem;font-weight:700;transition:transform .16s,color .16s,opacity .16s}.timer-wheel-option.active{color:#f6fff0;opacity:1;transform:scale(1.08)}.timer-action-btn{border-radius:var(--radius-sm);touch-action:manipulation;border:0;font-weight:700;transition:transform .18s,opacity .18s,box-shadow .18s,background .18s}.timer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.timer-action-btn{min-height:42px;padding:10px 12px;font-size:.88rem}.timer-action-btn.primary{color:#fff;border:1px solid var(--quest-green);background:linear-gradient(#52a83a,#1f641e);box-shadow:inset 0 1px #ffffff3d,0 0 16px #8bdc6538}.timer-action-btn.secondary{color:#d7ddd8;background:linear-gradient(#161f24f5,#070c0ff5);border:1px solid #ffffff24}.timer-action-btn:active{transform:scale(.98)}.timer-action-btn:disabled,.timer-mode-btn:disabled,.timer-history-chip:disabled{opacity:.5;cursor:not-allowed}.timer-history{margin-top:10px}.timer-history-title{color:#d5c18a;letter-spacing:.08em;margin-bottom:8px;font-size:.72rem;font-weight:700}.timer-history-list{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.timer-history-list::-webkit-scrollbar{display:none}.timer-history-chip{border-radius:var(--radius-sm);min-width:fit-content;color:var(--text-primary);touch-action:manipulation;background:#050a0dd6;border:1px solid #f7b82b3d;justify-content:center;align-items:center;padding:9px 12px;display:inline-flex}.timer-history-chip-duration{white-space:nowrap;font-size:.8rem;font-weight:700;line-height:1}.timer-history-empty{color:var(--text-muted);padding:8px 0 2px;font-size:.76rem}@media (width<=420px){.timer-card{padding:12px}.timer-display{font-size:clamp(1.8rem,9vw,2.45rem)}.timer-wheel-picker{gap:8px}}.nav-icon{pointer-events:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.nav-icon svg{pointer-events:none;width:100%;height:100%}.nav-item span{pointer-events:none}.level-icon{color:#fff}.level-icon svg{width:22px;height:22px}.count-btn svg{width:24px;height:24px}.achievement-summary{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);align-items:center;gap:16px;margin:16px;padding:20px;display:flex}.achievement-trophy{background:var(--gradient-gold);width:60px;height:60px;box-shadow:0 0 25px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;animation:2s ease-in-out infinite trophyPulse;display:flex}@keyframes trophyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.achievement-trophy svg{color:#fff;width:32px;height:32px}.achievement-stats{flex:1}.achievement-main{align-items:baseline;gap:4px;display:flex}.achievement-count{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:900}.achievement-total{color:var(--text-muted);font-size:1.2rem;font-weight:600}.achievement-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:.75rem;font-weight:600}.achievement-progress-ring{width:60px;height:60px;position:relative}.achievement-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{stroke:var(--bg-input)}.progress-ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .5s}.progress-ring-text{color:var(--accent);font-size:.8rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stats-row{gap:12px;margin-bottom:20px;padding:0 16px;display:flex}.stat-card{background:var(--bg-card);border-radius:var(--radius-sm);text-align:center;border:1px solid var(--border);flex:1;padding:16px 12px}.stat-icon{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin:0 auto 8px;display:flex}.stat-icon svg{color:#fff;width:20px;height:20px}.stat-icon.fire{background:var(--gradient-fire);box-shadow:0 0 15px #f9731666}.stat-icon.level{background:var(--gradient-level);box-shadow:0 0 15px var(--primary-glow)}.stat-icon.xp{background:var(--gradient-gold);box-shadow:0 0 15px var(--accent-glow)}.stat-value{color:var(--text-primary);font-size:1.3rem;font-weight:800}.stat-label{color:var(--text-muted);margin-top:4px;font-size:.7rem}.badge-section-header{margin-bottom:4px;padding:0 16px}.badge-icon-wrapper{margin-bottom:8px;display:inline-block;position:relative}.badge-checkmark{background:var(--secondary);color:#fff;border:2px solid var(--bg-card);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;bottom:-4px;right:-4px}.badge-date{color:var(--text-muted);margin-top:8px;font-size:.7rem}.badge-modal-content{background:var(--bg-card);background-image:var(--bg-glow)}.badge-modal-content .modal-icon{margin-bottom:16px;font-size:5rem;animation:3s ease-in-out infinite badgeFloat}@keyframes badgeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.badge-mindmap{aspect-ratio:1;width:100%;max-width:340px;margin:16px auto;position:relative;overflow:visible}.badge-mindmap.expanded{max-width:360px}.mindmap-center{background:var(--bg-card);width:100px;height:100px;box-shadow:0 0 30px var(--primary-glow);border:3px solid var(--primary);cursor:pointer;z-index:10;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mindmap-center:hover{box-shadow:0 0 40px var(--primary-glow);transform:translate(-50%,-50%)scale(1.05)}.mindmap-center:active{transform:translate(-50%,-50%)scale(.98)}.center-trophy{width:36px;height:36px;color:var(--accent)}.center-trophy svg{width:100%;height:100%}.center-count{margin-top:4px;font-size:1rem;font-weight:700}.count-unlocked{color:var(--secondary)}.count-total{color:var(--text-muted);font-size:.8rem}.center-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.6rem}.mindmap-nodes{position:absolute;inset:0}.mindmap-node{background:var(--bg-card);border:2px solid var(--cat-color,var(--border));cursor:pointer;z-index:5;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:70px;height:70px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:absolute}.mindmap-node:hover{box-shadow:0 0 20px rgba(var(--cat-color), .3);transform:scale(1.1)}.mindmap-node:active{transform:scale(.95)}.mindmap-node.selected{box-shadow:0 0 25px color-mix(in srgb, var(--cat-color) 50%, transparent);border-width:3px}.mindmap-node.complete{background:color-mix(in srgb, var(--cat-color) 20%, var(--bg-card))}.mindmap-node.top{top:0;left:50%;transform:translate(-50%)}.mindmap-node.left{top:50%;left:0;transform:translateY(-50%)}.mindmap-node.right{top:50%;right:0;transform:translateY(-50%)}.mindmap-node.bottom{bottom:0;left:50%;transform:translate(-50%)}.mindmap-node.top:hover{transform:translate(-50%)scale(1.1)}.mindmap-node.left:hover,.mindmap-node.right:hover{transform:translateY(-50%)scale(1.1)}.mindmap-node.bottom:hover{transform:translate(-50%)scale(1.1)}.mindmap-node.selected.top{transform:translate(-50%)scale(1.05)}.mindmap-node.selected.left,.mindmap-node.selected.right{transform:translateY(-50%)scale(1.05)}.mindmap-node.selected.bottom{transform:translate(-50%)scale(1.05)}.node-icon{font-size:1.5rem}.node-name{color:var(--text-secondary);margin-top:2px;font-size:.55rem;font-weight:600}.node-progress{color:var(--cat-color);font-size:.6rem;font-weight:700}.mindmap-lines{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mindmap-lines line{stroke:var(--border);stroke-width:2px;stroke-dasharray:5 5}.mindmap-lines .main-line{stroke:var(--primary);stroke-width:2px;stroke-dasharray:none;opacity:.6}.mindmap-lines .branch-line{stroke:var(--border);stroke-width:1.5px;stroke-dasharray:3 3}.mindmap-lines .branch-line.unlocked{stroke:var(--secondary);stroke-dasharray:none;opacity:.8}.branch-badges{z-index:4;position:absolute;inset:0}.branch-badge{background:var(--bg-card);border:2px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000004d}.branch-badge:hover{transform:translate(-50%,-50%)scale(1.2)}.branch-badge:active{transform:translate(-50%,-50%)scale(.9)}.branch-badge.unlocked{border-color:var(--badge-color,var(--secondary));box-shadow:0 0 10px color-mix(in srgb, var(--badge-color) 40%, transparent)}.branch-badge.locked{opacity:.7;filter:grayscale(.5);border-color:var(--border)}.branch-badge-icon{font-size:1rem}.badge-stats-row{justify-content:center;gap:24px;margin-bottom:16px;padding:16px;display:flex}.badge-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.badge-stat-icon{background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.badge-stat-icon.fire{color:#f97316}.badge-stat-icon.level{color:#6366f1}.badge-stat-icon.xp{color:#f59e0b}.badge-stat-icon svg{width:20px;height:20px}.badge-stat-value{color:var(--text-primary);font-size:1.2rem;font-weight:700}.badge-stat-label{color:var(--text-muted);font-size:.7rem}.badge-category-panel{background:var(--bg-card);border-radius:var(--radius);margin:0 16px 16px;overflow:hidden}.panel-header{background:color-mix(in srgb, var(--cat-color,var(--primary)) 15%, var(--bg-card));border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:16px;display:flex}.panel-icon{font-size:1.5rem}.panel-title{color:var(--text-primary);flex:1;font-size:1rem;font-weight:700}.panel-progress{color:var(--cat-color,var(--primary));font-size:.9rem;font-weight:600}.panel-badges{max-height:400px;overflow-y:auto}.badge-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:background .2s;display:flex}.badge-item:last-child{border-bottom:none}.badge-item:hover{background:var(--bg-hover)}.badge-item:active{background:var(--bg-input)}.badge-item.locked{opacity:.6}.badge-item.locked .badge-item-icon{filter:grayscale()}.badge-item-icon{text-align:center;flex-shrink:0;width:48px;font-size:2rem}.badge-item-info{flex:1;min-width:0}.badge-item-name{color:var(--text-primary);margin-bottom:2px;font-weight:600}.badge-item-desc{color:var(--text-muted);font-size:.8rem}.badge-item-status{flex-shrink:0}.status-unlocked{background:var(--secondary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:flex}.status-progress{color:var(--text-secondary);background:var(--bg-input);border-radius:12px;padding:4px 8px;font-size:.75rem}.status-locked{opacity:.5;font-size:1.2rem}.quest-section{margin-bottom:20px;padding:0 16px}.quest-list{flex-direction:column;gap:10px;display:flex}.quest-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:14px;transition:all .3s;display:flex}.quest-card.completed{border-color:var(--secondary);background:linear-gradient(135deg, #22c55e1a 0%, var(--bg-card) 100%)}.quest-card.claimed{opacity:.7}.quest-icon{background:var(--bg-input);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.quest-card.completed .quest-icon{background:var(--gradient-success)}.quest-icon svg{width:22px;height:22px;color:var(--text-secondary)}.quest-card.completed .quest-icon svg{color:#fff}.quest-info{flex:1;min-width:0}.quest-title{color:var(--text-primary);margin-bottom:6px;font-size:.9rem;font-weight:600}.quest-progress-bar{background:var(--bg-input);border-radius:3px;height:6px;margin-bottom:4px;overflow:hidden}.quest-progress-fill{background:var(--gradient-level);border-radius:3px;height:100%;transition:width .3s}.quest-card.completed .quest-progress-fill{background:var(--gradient-success)}.quest-progress-text{color:var(--text-muted);font-size:.75rem}.section-desc{color:var(--text-muted);margin-bottom:12px;font-size:.85rem;line-height:1.4}.quest-manage-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.quest-manage-item{background:var(--bg-card);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:12px 16px;transition:transform .2s,opacity .2s;display:flex}.quest-manage-name{color:var(--text-primary);font-weight:500}.quest-modal{text-align:left}.quest-form{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.quest-form-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.quest-select,.quest-input{background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:12px;font-size:1rem;transition:border-color .2s}.quest-select:focus,.quest-input:focus{border-color:var(--primary);outline:none}.quest-input.shake{border-color:var(--danger);animation:.3s shake}.quest-list-compact{flex-direction:column;gap:8px;display:flex}.quest-row{background:var(--bg-card);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.quest-row-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.quest-row-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.quest-row-icon svg{width:20px;height:20px;color:var(--primary-light)}.quest-row-info{flex-direction:column;min-width:0;display:flex}.quest-row-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.quest-row-count{color:var(--text-muted);font-size:.7rem}.quest-row-difficulties{flex-shrink:0;gap:6px;display:flex}.quest-chip{width:40px;height:28px;color:var(--text-muted);background:var(--bg-input);border-radius:6px;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;transition:all .2s;display:flex}.quest-chip.empty{opacity:.3}.quest-chip.difficulty-must{border:2px solid var(--secondary);color:var(--secondary)}.quest-chip.difficulty-normal{border:2px solid var(--primary);color:var(--primary)}.quest-chip.difficulty-challenge{border:2px solid var(--accent);color:var(--accent)}.quest-chip.completed{color:#fff;cursor:pointer;animation:1.5s ease-in-out infinite chipPulse}.quest-chip.completed.difficulty-must{background:var(--secondary)}.quest-chip.completed.difficulty-normal{background:var(--primary)}.quest-chip.completed.difficulty-challenge{background:var(--accent)}@keyframes chipPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.quest-chip.claimed{opacity:.5;cursor:default;animation:none}.quest-difficulty-legend{background:var(--bg-card);border-radius:var(--radius-sm);flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;display:flex}.legend-badge{color:#fff;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.quest-exercise-settings{flex-direction:column;gap:12px;display:flex}.quest-exercise-setting{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:14px}.quest-exercise-setting .quest-exercise-header{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:10px}.quest-exercise-setting .quest-exercise-icon{width:32px;height:32px}.quest-exercise-setting .quest-exercise-icon svg{width:18px;height:18px}.quest-exercise-setting .quest-exercise-name{font-size:.9rem}.quest-difficulty-inputs{gap:8px;margin-bottom:12px;display:flex}.quest-difficulty-input-group{flex-direction:column;flex:1;gap:4px;display:flex}.quest-difficulty-label{text-align:center;font-size:.7rem;font-weight:700}.quest-difficulty-input{background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:center;padding:10px 6px;font-size:.9rem;transition:border-color .2s}.quest-difficulty-input:focus{border-color:var(--primary);outline:none}.quest-difficulty-input::placeholder{color:var(--text-muted);font-size:.8rem}.quest-save-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:10px;font-size:.85rem;font-weight:600;transition:all .2s}.quest-save-btn:hover{background:var(--primary-dark)}.quest-save-btn:active{transform:scale(.98)}.quest-save-btn:disabled{background:var(--secondary);cursor:default}.skill-tree-stats{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:24px;padding:12px 16px;display:flex}.skill-stat{align-items:center;gap:8px;display:flex}.skill-stat.main{background:var(--bg-input);border-radius:var(--radius-sm);padding:8px 16px}.skill-stat-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.skill-stat-icon svg{width:20px;height:20px}.skill-stat-icon.fire{color:#f97316}.skill-stat-icon.trophy{color:#f59e0b}.skill-stat-icon.level{color:#6366f1}.skill-stat-value{color:var(--text-primary);font-size:1.1rem;font-weight:700}.skill-stat-total{color:var(--text-muted);font-size:.85rem;font-weight:600}.skill-tree-viewport{background:var(--bg-dark);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-image:radial-gradient(circle,#6366f114 0%,#0000 60%),radial-gradient(circle at 20% 80%,#22c55e0d 0%,#0000 40%),radial-gradient(circle at 80% 20%,#f59e0b0d 0%,#0000 40%);width:100%;height:calc(100dvh - 200px);position:relative;overflow:hidden}.skill-tree-canvas{transform-origin:0 0;will-change:transform;width:1400px;height:1400px;position:absolute}.skill-tree-canvas:before{content:"";background-image:var(--starfield);pointer-events:none;opacity:.6;background-size:cover;position:absolute;inset:0}.skill-tree-lines{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.skill-tree-line{transform-origin:0;opacity:.78;background:linear-gradient(90deg,#f7b82b24,#8bdc656b,#f7b82b24);border-radius:999px;height:2px;position:absolute;box-shadow:0 0 8px #8bdc6538}.skill-tree-line.locked{opacity:.26;box-shadow:none;background:#9ca3af40}.skill-tree-line.unlocked{opacity:.94}.skill-tree-line.support{opacity:.48;height:1px}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}.skill-tree-stars{pointer-events:none;z-index:0;position:absolute;inset:0}.skill-tree-star{background:#fff;border-radius:50%;animation:3s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 6px #ffffffbf}.skill-node{cursor:pointer;z-index:2;flex-direction:column;align-items:center;transition:transform .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.skill-node:hover{z-index:10;transform:translate(-50%,-50%)scale(1.1)}.skill-node:active{transform:translate(-50%,-50%)scale(.95)}.node-inner{border-radius:50%;justify-content:center;align-items:center;transition:box-shadow .2s,border-color .2s;display:flex}.node-inner.center{border:4px solid var(--accent);width:100px;height:100px;box-shadow:0 0 40px var(--accent-glow), inset 0 0 20px #f59e0b33;background:linear-gradient(135deg,#1a1f35 0%,#2a3150 100%)}.node-inner.center .node-icon{width:48px;height:48px;color:var(--accent)}.node-inner.center .node-icon svg{width:100%;height:100%}.node-inner.category{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-input) 100%);border:3px solid var(--cat-color);width:80px;height:80px;box-shadow:0 0 25px color-mix(in srgb, var(--cat-color) 40%, transparent)}.node-inner.category .node-icon{font-size:2rem}.node-inner.badge{background:var(--bg-card);border:2px solid var(--border);width:48px;height:48px}.node-inner.badge .node-icon{opacity:.4;filter:grayscale();font-size:1.3rem}.standard-node .node-inner.badge{width:48px;height:48px}.standard-node .node-inner.badge .node-icon{font-size:1.3rem}.small-node .node-inner.badge{width:36px;height:36px}.small-node .node-inner.badge .node-icon{font-size:1rem}.small-node .node-lock{width:16px;height:16px;font-size:.6rem;bottom:-2px;right:-2px}.milestone-node .node-inner.badge{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-input) 100%);border:none;width:64px;height:64px}.milestone-node .node-inner.badge .node-icon{font-size:1.6rem}.milestone-node.unlocked .node-inner.badge{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 30%, var(--bg-card)) 0%, color-mix(in srgb, var(--accent) 15%, var(--bg-input)) 100%);box-shadow:0 0 25px var(--accent-glow)}.milestone-node .node-lock{bottom:2px;right:6px}.subcore-node .node-inner.subcore{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-input) 100%);border:2px solid #22c55e;width:60px;height:60px;box-shadow:0 0 20px #22c55e4d}.subcore-node .node-inner.subcore .node-icon{font-size:1.6rem}.subcore-node .node-inner.subcore .node-icon svg{color:#22c55e;width:28px;height:28px}.subcore-node .node-label{color:#22c55e;font-size:.6rem}.badge-node.locked .node-inner.badge{background:#06b6d426;border-color:#06b6d466}.badge-node.locked .node-inner.badge .node-icon{opacity:.5;filter:grayscale(.8);color:#06b6d499}.milestone-node.locked .node-inner.badge{background:linear-gradient(135deg,#06b6d433 0%,#06b6d41a 100%)}.node-inner.badge.unlocked{border-color:var(--badge-color);box-shadow:0 0 15px color-mix(in srgb, var(--badge-color) 40%, transparent);background:linear-gradient(135deg, var(--bg-card) 0%, color-mix(in srgb, var(--badge-color) 10%, var(--bg-card)) 100%)}.node-inner.badge.unlocked .node-icon{opacity:1;filter:none}.node-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;text-align:center;white-space:nowrap;margin-top:8px;font-size:.7rem;font-weight:700}.center-node .node-label{color:var(--accent);font-size:.6rem}.category-node .node-label{color:var(--cat-color)}.node-progress{color:var(--text-muted);margin-top:2px;font-size:.65rem;font-weight:600}.node-lock{background:var(--bg-card);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;display:flex;position:absolute;bottom:-4px;right:-4px}.category-node.complete .node-inner.category{background:linear-gradient(135deg, color-mix(in srgb, var(--cat-color) 20%, var(--bg-card)) 0%, color-mix(in srgb, var(--cat-color) 10%, var(--bg-input)) 100%);box-shadow:0 0 30px color-mix(in srgb, var(--cat-color) 50%, transparent), inset 0 0 15px color-mix(in srgb, var(--cat-color) 20%, transparent)}.zoom-controls{z-index:20;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.zoom-btn{background:var(--bg-card);border:1px solid var(--border);width:44px;height:44px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:background .2s,transform .1s;display:flex}.zoom-btn:hover{background:var(--bg-hover)}.zoom-btn:active{transform:scale(.9)}.zoom-btn svg{width:20px;height:20px}.minimap{background:var(--bg-card);border:1px solid var(--border);z-index:20;width:60px;height:60px;box-shadow:var(--shadow);border-radius:8px;position:absolute;bottom:16px;left:16px;overflow:hidden}.minimap:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.minimap-viewport{border:2px solid var(--primary);pointer-events:none;background:#6366f133;border-radius:2px;position:absolute}.badge-node.unlocked .node-inner.badge{animation:3s ease-in-out infinite badgeGlow}@keyframes badgeGlow{0%,to{box-shadow:0 0 15px color-mix(in srgb, var(--badge-color) 40%, transparent)}50%{box-shadow:0 0 25px color-mix(in srgb, var(--badge-color) 60%, transparent)}}.center-node .node-inner.center{animation:4s ease-in-out infinite centerPulse}@keyframes centerPulse{0%,to{box-shadow:0 0 40px var(--accent-glow), inset 0 0 20px #f59e0b33}50%{box-shadow:0 0 60px var(--accent-glow), inset 0 0 30px #f59e0b4d}}@media (width<=400px){.skill-tree-stats{gap:16px;padding:10px 12px}.skill-stat-value{font-size:1rem}.zoom-controls{bottom:12px;right:12px}.zoom-btn{width:40px;height:40px}.minimap{width:50px;height:50px}.exercise-controls{grid-template-columns:max-content minmax(44px,1fr) max-content;gap:8px}.count-btn.secondary{width:38px;height:38px;font-size:1rem}.count-btn{width:44px;height:44px;font-size:1.2rem}.btn-label{font-size:.55rem}.count-display{min-width:44px;font-size:1.5rem}}.particle{background:var(--color);pointer-events:none;border-radius:50%;width:8px;height:8px;animation:1s ease-out forwards particleFade;position:fixed}@keyframes particleFade{0%{opacity:1;transform:scale(0)}50%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.level-up-effect{z-index:1000;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.level-up-content{flex-direction:column;align-items:center;gap:12px;display:flex}.level-up-icon{font-size:4rem;animation:.3s ease-out forwards levelUpIconScale}.level-up-text{color:var(--text-primary);text-shadow:0 2px 4px #0000004d;font-size:1.5rem;font-weight:700}@keyframes levelUpIconScale{0%{transform:scale(0)}50%{transform:scale(1.5)}to{transform:scale(0)}}.level-up-effect.show .level-up-content{animation:.4s ease-out forwards levelUpContentEnter}.level-up-effect.exit .level-up-content{animation:.3s ease-in forwards levelUpContentExit}@keyframes levelUpContentEnter{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes levelUpContentExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.badge-unlock-effect{z-index:1000;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.badge-unlock-content{flex-direction:column;align-items:center;gap:12px;display:flex}.badge-unlock-effect .badge-icon{font-size:3rem;animation:.4s ease-out forwards badgeIconPop}.badge-unlock-effect .badge-name{color:var(--text-primary);font-size:1.2rem;font-weight:700}@keyframes badgeIconPop{0%{transform:scale(0)rotate(-180deg)}50%{transform:scale(1.2)rotate(0)}to{transform:scale(0)}}.badge-unlock-effect.show .badge-unlock-content{animation:.4s ease-out forwards badgeUnlockContentEnter}.badge-unlock-effect.exit .badge-unlock-content{animation:.3s ease-in forwards badgeUnlockContentExit}@keyframes badgeUnlockContentEnter{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes badgeUnlockContentExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.stage{opacity:0;transition:opacity .3s,transform .3s;position:absolute}.stage.active{opacity:1}.stage.hidden{opacity:0;pointer-events:none}.weekly-range{color:var(--text-muted);margin-left:8px;font-size:.72rem;font-weight:600}.weekly-quest-summary{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-input) 100%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;padding:14px}.weekly-quest-total{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.weekly-quest-total-value{color:var(--secondary);font-size:1.55rem;font-weight:800}.weekly-quest-total-label,.weekly-quest-hint{color:var(--text-secondary);font-size:.76rem}.weekly-quest-meter,.achievement-progress-bar{background:var(--bg-input);border-radius:999px;width:100%;height:8px;margin-top:10px;overflow:hidden}.weekly-quest-meter-fill,.achievement-progress-bar>div{background:linear-gradient(90deg, var(--secondary) 0%, var(--accent) 100%);border-radius:inherit;height:100%;transition:width .25s}.weekly-quest-hint{margin-top:8px}.empty-weekly-quest{color:#0000;text-align:center;background:radial-gradient(circle at 50% 0,#8bdc652e,#0000 54%),linear-gradient(#151f24f0,#070c0ff0);border:1px solid #8bdc652e;border-radius:10px;place-items:center;min-height:96px;padding:14px 16px 16px;font-size:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.empty-weekly-quest:before{content:"";filter:drop-shadow(0 0 9px #8bdc656b);background:url(/assets/quest-ui/final/history-target-green.png) 50%/contain no-repeat;width:42px;height:42px;margin-bottom:5px}.empty-weekly-quest:after{content:"週間セット目標を設定してください";color:#c8d7e8;text-shadow:0 2px #050607;max-width:280px;font-size:.82rem;font-weight:900;line-height:1.35;display:block}.empty-weekly-quest.compact{color:#c8d7e8;min-height:44px;padding:8px 10px;font-size:.74rem;font-weight:900}.empty-weekly-quest.compact:before,.empty-weekly-quest.compact:after{display:none}.history-week-summary{margin-top:12px}.history-week-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.history-week-title{color:var(--text-primary);font-weight:700}.history-week-range{color:var(--text-muted);margin-top:4px;font-size:.74rem}.history-week-score{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.history-week-score strong{color:var(--secondary);font-size:1.1rem}.history-week-score span{color:var(--text-secondary);font-size:.76rem}.unit-toggle{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.unit-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);min-height:42px;color:var(--text-secondary);font-weight:700}.unit-btn.active{color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:0 0 16px var(--primary-glow)}.exercise-unit{color:var(--secondary);font-size:.72rem;font-weight:700}.achievements-hero{border-radius:var(--radius);background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-input) 100%);border:1px solid var(--border);box-shadow:var(--shadow);margin:16px;padding:16px}.achievements-hero-main{align-items:center;gap:14px;display:flex}.achievements-hero-icon{width:48px;height:48px;color:var(--accent);background:#f59e0b24;border-radius:50%;justify-content:center;align-items:center;display:flex}.achievements-hero-icon svg{width:28px;height:28px}.achievements-title{color:var(--text-secondary);font-size:.84rem;font-weight:700}.achievements-count{color:var(--text-primary);margin-top:2px;font-size:1.6rem;font-weight:800}.achievement-progress-bar.hero{margin-top:14px}.achievements-summary{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.achievements-summary span{background:var(--bg-card);color:var(--text-secondary);border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:700}.achievement-filter{gap:8px;padding:0 16px 12px;display:flex;overflow-x:auto}.achievement-filter-btn{border:1px solid var(--border);background:var(--bg-card);min-height:34px;color:var(--text-secondary);border-radius:999px;flex:none;padding:0 12px;font-size:.78rem;font-weight:700}.achievement-filter-btn.active{color:#fff;background:var(--primary);border-color:var(--primary)}.achievement-card[hidden],.achievement-card.is-filtered-out{display:none!important}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px;display:grid}.achievement-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);min-width:0;color:var(--text-primary);box-shadow:var(--shadow);padding:13px}.achievement-card.locked{opacity:.72}.achievement-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.achievement-icon{background:color-mix(in srgb, var(--badge-color) 22%, var(--bg-input));width:42px;height:42px;box-shadow:0 0 16px color-mix(in srgb, var(--badge-color) 32%, transparent);border-radius:50%;justify-content:center;align-items:center;font-size:1.35rem;display:flex}.achievement-status{background:var(--bg-input);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:.65rem;font-weight:700}.achievement-card.unlocked .achievement-status{color:#fff;background:var(--gradient-gold)}.achievement-name{margin-top:10px;font-size:.92rem;font-weight:800;line-height:1.3}.achievement-desc{min-height:2.4em;color:var(--text-secondary);margin-top:5px;font-size:.74rem;line-height:1.35}.achievement-progress{margin-top:10px}.achievement-progress-text{color:var(--text-secondary);font-size:.72rem;font-weight:700}.achievement-unlocked-at{color:var(--accent-light);margin-top:8px;font-size:.7rem;font-weight:700}@media (width<=380px){.achievement-grid{grid-template-columns:1fr}}:root{--quest-bg:#05090d;--quest-panel:#0c1216eb;--quest-panel-2:#121b20f5;--quest-border:#ffffff29;--quest-gold:#f7b82b;--quest-gold-2:#ffe08a;--quest-green:#8bdc65;--quest-green-2:#4ba72f;--quest-orange:#ff8b2b;--quest-blue:#4ca2ff;--quest-red:#ef3e35;--quest-purple:#a35cff}body{background:radial-gradient(circle at 50% -12%,#8bdc6514,#0000 34%),radial-gradient(circle at 20% 30%,#f7b82b0d,#0000 28%),linear-gradient(#071014 0%,#05090d 56%,#020507 100%)}#app{max-width:430px;min-height:100dvh;box-shadow:none;background:linear-gradient(#0c1518eb,#030709fa),repeating-linear-gradient(90deg,#ffffff05,#ffffff05 1px,#0000 1px 7px)}@media (display-mode:browser) and (width>=431px){body{padding:22px 0}#app{border:1px solid #f7b82b2e;border-radius:22px;min-height:calc(100dvh - 44px);overflow:clip;box-shadow:0 0 0 1px #ffffff0f,0 28px 80px #000000e6,0 0 44px #8bdc6514}.nav{border-left:1px solid #ffffff14;border-right:1px solid #ffffff14;border-radius:0 0 22px 22px;bottom:22px}}.header{z-index:100;background:radial-gradient(circle at 50% 0,#f7b82b1f,#0000 42%),linear-gradient(#050b0e 0%,#071014 100%);border-bottom:1px solid #f7b82b38;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;padding:20px 18px 14px;display:grid;position:sticky;top:0}.header h1{font-family:var(--font-quest);letter-spacing:1.5px;color:#f7f7f3;text-shadow:0 2px #3d3d3d,0 4px 8px #000000bf,0 0 14px #ffffff2e;white-space:nowrap;font-size:clamp(1.4rem,7vw,2.15rem);line-height:1}.brand-gem{color:var(--quest-gold);text-shadow:0 0 16px #f7b82bb3}.header-menu,.header-chest{color:#c7c7c7;justify-content:center;align-items:center;min-width:42px;min-height:42px;font-size:1.55rem;display:flex}.header-chest{color:var(--quest-gold);filter:drop-shadow(0 0 8px #f7b82b59);position:relative}.header-chest span{color:#fff;background:#dc2626;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:900;display:flex;position:absolute;top:1px;right:1px;box-shadow:0 0 8px #dc2626b3}.page-title{text-align:center;color:#f4f4ee;letter-spacing:2px;text-shadow:0 3px 10px #000c;margin:18px 16px 10px;font-size:1.65rem;font-weight:900}.status-card,.quest-section,.timer-section,.calendar-section,.day-detail-section,.settings-section>*,.achievements-hero,.history-week-card,.exercise-card,.achievement-card{border:1px solid var(--quest-border);background:linear-gradient(#131c20f0,#070c0ff0);box-shadow:inset 0 1px #ffffff14,0 10px 28px #0000006b}.status-card{margin:12px 16px;padding:0;overflow:hidden}.level-section{padding:16px}.level-header{align-items:center}.level-badge{gap:14px}.level-icon{border:3px solid var(--quest-gold);width:74px;height:74px;color:var(--quest-gold);clip-path:polygon(50% 0,92% 17%,92% 68%,50% 100%,8% 68%,8% 17%);background:linear-gradient(145deg,#22282c,#070b0d);border-radius:18px;box-shadow:inset 0 0 18px #f7b82b26,0 0 18px #f7b82b38}.level-number{font-size:1.65rem;font-weight:900}.level-title{color:var(--quest-gold-2)}.level-progress-display{min-width:94px}.level-progress-current{color:#f7f7f3;font-size:1.45rem}.level-progress-needed{color:#b7b7b0}.progress-bar,.badge-progress-bar,.weekly-quest-meter,.achievement-progress-bar{background:#11191d;border:1px solid #f7b82b38;height:10px;box-shadow:inset 0 2px 7px #0000008c}.progress-fill,.badge-progress-fill{background:linear-gradient(90deg,#ffb21c,#ffd347 78%,#8bdc65);box-shadow:0 0 12px #ffbe2d73}.streak-section{border-radius:var(--radius);background:linear-gradient(#231107e6,#080c0ef2);border:1px solid #ff8b2b4d;margin:12px 16px;box-shadow:inset 0 1px #ffffff14,0 0 18px #ff8b2b1f}.streak-value{color:var(--quest-orange);text-shadow:0 0 14px #ff8b2b8c}.streak-label{color:var(--quest-orange)}.streak-label span{color:#d8d5cc}.badge-progress-section{background:#0000001f;border-top:1px solid #ffffff1a;border-radius:0;margin:0}.badge-progress-icon{color:var(--quest-gold)}.badge-progress-count strong,.badge-progress-count{color:#f5f5ef}.weekly-quest-section{margin:12px 16px;padding:12px}.section-title{color:#f4f4ee;letter-spacing:.5px;text-transform:uppercase;font-size:1.08rem;font-weight:900}.weekly-range{float:right;color:var(--quest-green);font-size:.9rem}.weekly-quest-summary{background:#01070959;border-color:#ffffff1f}.weekly-quest-total-value{color:var(--quest-green);text-shadow:0 0 12px #8bdc6559}.weekly-quest-meter-fill,.achievement-progress-bar>div{background:linear-gradient(90deg, var(--quest-green-2), var(--quest-green));box-shadow:0 0 10px #8bdc6573}.weekly-day-track{border-radius:var(--radius-sm);background:#00000038;border:1px solid #ffffff14;grid-template-columns:repeat(7,1fr);gap:7px;margin:12px 0;padding:10px;display:grid}.weekly-day{flex-direction:column;align-items:center;gap:6px;display:flex}.weekly-day-label{color:#d5d5d0;font-size:.76rem;font-weight:800}.weekly-day-dot{color:#0000;background:#030608e6;border:2px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex}.weekly-day.done .weekly-day-dot{color:#fff;background:radial-gradient(circle,#70c945,#2f7e25);border-color:#9be66d;box-shadow:0 0 16px #8bdc6580}.quest-row{border-radius:var(--radius-sm);background:linear-gradient(90deg,#0a1418eb,#091013e6);border:1px solid #ffffff1a;padding:12px 10px}.quest-row-icon,.exercise-icon{color:#f2f2ed;filter:drop-shadow(0 2px 4px #000000b3)}.quest-row-count{color:var(--quest-green);font-weight:900}.quest-chip{background:#ffffff0f;border-radius:8px;font-weight:900}.quest-chip.difficulty-must{border-color:var(--quest-red);color:#ff8d85}.quest-chip.difficulty-normal{border-color:var(--quest-blue);color:#9ac8ff}.quest-chip.difficulty-challenge{border-color:var(--quest-purple);color:#d3a5ff}.quest-chip.completed{color:#fff;animation:none;box-shadow:0 0 14px #8bdc6542}.timer-section{border-radius:var(--radius);margin:12px 16px;padding:0;overflow:hidden}.timer-card{box-shadow:none;background:0 0;border:0}.timer-card-title{color:#d5d5d0}.timer-display{color:#f5f5ef;text-shadow:0 0 12px #ffffff2e}.timer-action-btn.primary{background:linear-gradient(#4c9f32,#235f22);border:1px solid #91df67;box-shadow:0 0 14px #8bdc6538}.timer-action-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.timer-action-img{object-fit:contain;filter:drop-shadow(0 2px 4px #0000008c);width:24px;height:24px}.timer-action-btn.secondary,.count-btn.minus,.count-btn.plus{color:#f4f4ee;background:linear-gradient(#252c31,#11181d);border:1px solid #ffffff2e;box-shadow:inset 0 1px #ffffff14,0 4px 10px #00000073}.count-btn.plus:active,.count-btn.minus:active{background:linear-gradient(#76c94d,#2d7826)}.exercise-section{padding:12px 16px 16px}.exercise-card{border-radius:var(--radius-sm);gap:10px;padding:12px;display:grid}.exercise-header{margin:0}.exercise-name{color:#f5f5ef;font-size:1.05rem;font-weight:900}.exercise-total{color:#bcbcb6}.exercise-total strong,.count-display{color:var(--quest-green);text-shadow:0 0 12px #8bdc655c}.count-display{font-size:1.85rem}.nav{background:linear-gradient(#081013,#020507);border-top:1px solid #ffffff1f;max-width:430px;margin:0 auto;box-shadow:0 -10px 26px #000000b8}.nav-item{color:#9b9b98;border-left:1px solid #ffffff14;min-width:0;font-weight:800}.nav-item:first-child{border-left:0}.nav-item.active{color:var(--quest-green);text-shadow:0 0 10px #8bdc6573}.nav-item.active .nav-icon{filter:drop-shadow(0 0 8px #8bdc6580)}.calendar-section{border-radius:var(--radius);background:radial-gradient(circle at 50% -10%,#f7b82b1f,#0000 34%),linear-gradient(#0e181bf0,#03080af5);border:1px solid #f7b82b33;margin:0 16px 12px;padding:12px;box-shadow:inset 0 1px #ffffff14,0 14px 30px #00000061}.calendar-month{color:#f5f2d0;text-align:center;text-shadow:0 0 10px #f7b82b40;background:linear-gradient(#5a401052,#070c0f9e);border:1px solid #f7b82b3d;border-radius:999px;min-width:148px;padding:6px 14px;font-size:1.35rem;font-weight:900}.calendar-nav{color:var(--quest-green);background:radial-gradient(circle,#8bdc651f,#04090bc7);border:1px solid #f7b82b38;box-shadow:inset 0 1px #ffffff14}.calendar-nav:hover{background:radial-gradient(circle,#8bdc6538,#060c0ee6);border-color:#f7b82b73}.calendar-weekdays{padding:0 3px}.calendar-weekdays span{text-shadow:0 0 8px #8bdc652e;font-size:.8rem;font-weight:900}.calendar-day{background:radial-gradient(circle at 50% 0,#ffffff0d,#0000 45%),linear-gradient(#111b1ff5,#050a0dfa);border:1px solid #f7b82b1f;border-radius:7px;min-height:43px;font-size:1rem;font-weight:800;overflow:hidden;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #00000080}.calendar-day:before{content:"";pointer-events:none;border:1px solid #ffffff0a;border-radius:5px;position:absolute;inset:1px}.calendar-day:after{content:"";opacity:.55;background:#f7b82b26;border-radius:999px;height:2px;position:absolute;bottom:5px;left:9px;right:9px}.calendar-day.level-0{background:radial-gradient(circle at 50% 0,#ffffff0a,#0000 45%),linear-gradient(#10191deb,#04090cfa)}.calendar-day.level-1{background:linear-gradient(#1e4322c7,#07110cf5);border-color:#8bdc6538}.calendar-day.level-2{background:linear-gradient(#2a652ad1,#0a1f11f5);border-color:#8bdc6552}.calendar-day.level-3{background:linear-gradient(#418f35e6,#0e3216fa);border-color:#8bdc6575}.calendar-day.level-4{background:radial-gradient(circle at 50% 24%,#ffffff2e,#0000 32%),linear-gradient(#8bdd65,#2f7a25);border-color:#f7b82b85;box-shadow:inset 0 1px #fff3,0 0 14px #8bdc6547}.calendar-day.selected{border-color:var(--quest-gold);color:#f7f7f3;box-shadow:0 0 0 2px #f7b82bf2,0 0 16px #f7b82b5c,inset 0 1px #ffffff38}.calendar-day.today{box-shadow:0 0 0 2px #8bdc65d6,0 0 14px #8bdc654d,inset 0 1px #ffffff2e}.calendar-day.selected.today{box-shadow:0 0 0 2px #f7b82bf2,0 0 0 4px #8bdc658a,0 0 18px #f7b82b52}.calendar-day.future{opacity:.34;filter:grayscale(.75)}.calendar-day .day-number{z-index:1;text-shadow:0 1px 1px #000000b3;position:relative}.calendar-day .day-count{z-index:1;color:#f8f4d8;background:#00000047;border-radius:999px;min-width:18px;padding:1px 4px;font-size:.58rem;font-weight:900;position:relative}.calendar-stats{background:#03080b6b;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:12px;display:grid;overflow:hidden}.calendar-stats .stat-item+.stat-item{border-left:1px solid #ffffff1a}.calendar-stats .stat-value{color:#f4f4ee;font-size:1.35rem;font-weight:900}.calendar-stats .stat-label{color:#bfc1bb;font-size:.74rem;font-weight:800}.calendar-stats .stat-sub{color:#9fb3d0;font-size:.66rem;font-weight:800;line-height:1.2}.calendar-stats .stat-item{flex-direction:column;justify-content:center;align-items:center;min-height:104px;padding:8px 5px;display:flex}.icon-img{object-fit:contain;filter:drop-shadow(0 0 7px #8bdc654d);width:100%;height:100%;display:block}.icon-text{justify-content:center;align-items:center;width:100%;height:100%;font-weight:900;line-height:1;display:inline-flex}.history-week-title{color:#f6f6f1;align-items:center;font-weight:900;display:flex}.detail-summary-value.primary,.detail-set-value{color:var(--quest-green)}.day-detail-section{border-radius:var(--radius);margin:0 16px 16px;padding:12px}.day-detail-item{background:#080f12c7;border:1px solid #ffffff1a;border-radius:10px;padding:10px}.day-detail-header{color:var(--quest-orange);font-size:1.1rem;font-weight:900}.history-empty-detail{text-align:center;background:radial-gradient(circle at 50% 10%,#e2a92429,#0000 52%),linear-gradient(#121b1feb,#060b0ef0);border:1px solid #e2a92438;border-radius:12px;justify-items:center;gap:7px;min-height:132px;padding:18px 14px;display:grid;box-shadow:inset 0 1px #ffffff14}.history-empty-img{object-fit:contain;filter:drop-shadow(0 0 10px #e2a9245c);width:50px;height:50px}.history-empty-title{color:#f5f5ef;text-shadow:0 2px #050607;font-size:.98rem;font-weight:900}.history-empty-copy{color:#bfc8d1;max-width:290px;font-size:.72rem;font-weight:700;line-height:1.45}.detail-name{color:#f6f6f1;font-size:1rem;font-weight:900}.detail-summary-grid{border-top:1px solid #ffffff14;margin-top:8px;padding-top:8px}.detail-set-row{background:#0000002e}.detail-main>.detail-summary-grid{display:none}.detail-main{gap:8px;padding:10px 12px}.detail-top{grid-template-columns:minmax(132px,1.15fr) minmax(132px,1fr) 30px;align-items:center;gap:6px;display:grid}.detail-left{gap:6px;min-width:0}.detail-left .detail-icon,.detail-left .quest-art-icon{flex-basis:38px;width:38px;height:30px}.detail-left .exercise-picto-img{width:38px;height:30px}.detail-summary-grid{border-top:0;gap:0;margin-top:0;padding-top:0}.detail-summary-item{background:0 0;border-left:1px solid #ffffff1a;border-radius:0;padding:0 4px}.detail-summary-label{color:#bfc1bb;white-space:nowrap;font-size:.5rem;font-weight:800;line-height:1.15}.detail-summary-value{color:#f5f5ef;white-space:nowrap;font-size:.68rem;font-weight:900;line-height:1.15}.detail-delete{color:#8f98a0;width:30px;min-width:30px;height:28px;padding:0;font-size:0}.detail-delete:before{content:"×";font-size:1.05rem;line-height:1}.detail-sets{padding-top:8px}.detail-sets[open] .detail-sets-summary{margin-bottom:6px}.detail-set-list{border:1px solid #ffffff14;border-radius:8px;gap:0;margin-top:0;overflow:hidden}.detail-set-row{background:#02070a47;border-bottom:1px solid #ffffff12;border-radius:0;min-height:30px;padding:6px 10px}.detail-set-row:last-child{border-bottom:0}.achievements-page-title{margin-top:14px}.achievements-status-strip{background:linear-gradient(#121b1ff5,#060b0ef5);border:1px solid #e2a92452;border-radius:12px;grid-template-columns:80px minmax(0,1fr) 86px;align-items:center;gap:10px;margin:10px 16px 0;padding:10px 12px;display:grid;box-shadow:inset 0 1px #ffffff17,0 10px 24px #0000006b}.achievements-status-level{width:70px;height:78px;position:relative}.achievements-status-level .level-shield-img{width:100%;height:100%}.achievements-status-level .level-shield-level{font-size:1.2rem}.achievements-status-progress{min-width:0}.achievements-status-progress-value{color:#f6f6f2;text-shadow:0 2px #050607;font-size:1.06rem;font-weight:900}.achievement-progress-bar.status{height:11px;margin-top:6px}.achievements-status-progress-caption{color:#c8c8c1;margin-top:5px;font-size:.72rem;font-weight:800}.achievements-status-streak{color:#ff9626;text-shadow:0 2px #050607,0 0 9px #ff721b6b;justify-items:center;gap:1px;font-size:1rem;font-weight:900;display:grid}.achievements-status-streak .fire-streak-img{width:54px;height:54px}.achievements-hero{border-color:#f7b82b3d}.achievements-hero-icon{border:2px solid var(--quest-gold);background:radial-gradient(circle,#f7b82b42,#0a0a0a59)}.achievements-count{color:var(--quest-green)}.achievement-filter-btn{background:linear-gradient(#252c31f5,#0d1317f5);border-radius:10px}.achievement-filter-btn.active{color:#fff;border-color:var(--quest-green);background:linear-gradient(#52a83a,#1f641e);box-shadow:0 0 14px #8bdc653d}.achievement-card{background:linear-gradient(180deg, #121b1ff5, #05090cfa), radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--badge-color,var(--quest-gold)) 18%, transparent), transparent 48%);border-color:#f7b82b3d;border-radius:12px;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;align-items:start;min-height:246px;padding:12px;display:grid;position:relative;overflow:hidden}.achievement-card.locked{filter:grayscale(.85);opacity:.72}.achievement-card:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 25% 10%, color-mix(in srgb, var(--badge-color,var(--quest-gold)) 20%, transparent), transparent 34%), linear-gradient(180deg, #ffffff12, transparent 35%);opacity:.55;position:absolute;inset:0}.achievement-card.unlocked{border-color:color-mix(in srgb, var(--badge-color,var(--quest-gold)) 70%, #ffffff26);box-shadow:inset 0 1px 0 #ffffff1a, 0 0 0 1px color-mix(in srgb, var(--badge-color,var(--quest-gold)) 28%, transparent), 0 0 18px color-mix(in srgb, var(--badge-color,var(--quest-gold)) 22%, transparent), 0 12px 26px #0000007a}.achievement-card[data-category=weekly]{--badge-color:var(--quest-gold)}.achievement-card[data-category=streak]{--badge-color:var(--quest-orange)}.achievement-card[data-category=exercise]{--badge-color:var(--quest-blue)}.achievement-card[data-category=level]{--badge-color:var(--quest-purple)}.achievement-card[data-category=special]{--badge-color:var(--quest-gold)}.achievement-icon{border:2px solid var(--badge-color);clip-path:none;width:86px;height:96px;box-shadow:none;background:0 0;border-radius:0;margin:0 auto}.achievement-name{color:#f5f5ef;text-align:center;text-shadow:0 2px #050607;min-height:2.34em;margin-top:9px;font-size:.98rem;font-weight:900;line-height:1.17}.achievement-status{border:1px solid #ffffff1f}.achievement-grid{gap:10px;padding:0 16px 22px}.achievement-card-top{place-items:start center;gap:7px;display:grid}.achievement-desc{color:#c7c7c0;text-align:center;min-height:2.8em}.achievement-status{min-width:58px;color:var(--quest-green);background:#0c1216bd;border-radius:4px;font-size:.72rem;font-weight:900}.achievement-card.locked .achievement-status{color:#b6b6b1}.achievement-card-footer{color:#f0b82e;border-top:1px solid #ffffff1a;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:8px;padding-top:8px;font-size:.78rem;font-weight:950;display:grid}.achievement-card-footer span:first-child{color:#d8dedb;background:#00000061;border:1px solid #f7b82b6b;border-radius:4px;padding:2px 7px}.achievement-card-footer span:last-child{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-section{padding:0 0 18px}.theme-toggle,.quest-difficulty-legend,.quest-exercise-setting,.exercise-item,.setting-item,.data-section{border-color:#ffffff1f}.theme-btn,.setting-item,.quest-exercise-setting,.exercise-item,.add-exercise-btn{background:linear-gradient(#131c20f0,#070c0ff0)}.theme-btn{color:#dce2dd}.theme-btn span:last-child{color:inherit}.theme-btn.active,.toggle.active,.add-exercise-btn{border-color:var(--quest-green);color:#fff;background:linear-gradient(#52a83a,#1f641e)}.setting-value,.quest-exercise-name{color:#f4f4ee}.setting-label{align-items:center;display:inline-flex}.quest-difficulty-input{background:#0e1519;border-radius:9px}.settings-section>h2.section-title{box-shadow:none;background:0 0;border:0;margin:12px 16px 6px;padding:0}.settings-section>.theme-toggle,.settings-section>.settings-control-panel,.settings-section>.setting-item,.settings-section>.settings-status-grid,.settings-section>.quest-settings-section,.settings-section>.exercise-list,.settings-section>.data-section{margin-left:16px;margin-right:16px}.settings-section>.settings-control-panel{margin-top:8px}.theme-toggle{border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;padding:8px;display:grid}.settings-control-panel{background:linear-gradient(#131c20f0,#070c0ff5);border:1px solid #ffffff24;border-radius:12px;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 10px 26px #00000061}.settings-control-row{border-bottom:1px solid #ffffff1a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:10px 14px;display:grid}.settings-control-row:last-child{border-bottom:0}.settings-control-label{color:#f4f4ee;text-shadow:0 2px #050607;align-items:center;gap:10px;min-width:0;font-size:1.06rem;font-weight:900;display:inline-flex}.settings-control-label .setting-row-img{flex:none}.theme-toggle.compact{background:#060a0db8;border:1px solid #ffffff1f;gap:5px;width:min(238px,100%);margin:0;padding:4px}.theme-toggle.compact .theme-btn{border-width:1px;flex-direction:row;justify-content:center;gap:6px;min-height:44px;padding:6px 10px}.theme-toggle.compact .settings-inline-img{width:24px;height:24px}.settings-sound-row.setting-item{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto auto;margin:0}.settings-sound-caption{color:#c6c9c5;font-size:.9rem;font-weight:700}.setting-item{border-radius:10px;min-height:54px}.settings-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.settings-status-card{background:linear-gradient(#131c20f0,#070c0ff0);border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:76px;padding:10px 8px;display:flex;box-shadow:inset 0 1px #ffffff14,0 8px 20px #00000057}.settings-status-card .setting-label{color:#c6c9c5;font-size:.74rem;line-height:1.25}.settings-status-card .setting-value{color:#f5f5ef;font-size:1.2rem;font-weight:900}.settings-status-level,.settings-status-streak{text-align:center;align-items:center}.settings-status-art{width:48px;height:48px;margin:0 auto -2px;display:block;position:relative}.settings-status-art .level-shield-img,.settings-status-art .fire-streak-img{object-fit:contain;filter:drop-shadow(0 8px 12px #0000008c);width:100%;height:100%}.settings-status-art .level-shield-level{display:none}.settings-status-art.fire{width:42px;height:42px}.settings-status-progress{justify-content:center}.settings-status-bar{background:#080a0cdb;border:1px solid #e2a92473;border-radius:999px;width:100%;height:7px;margin-top:2px;display:block;overflow:hidden;box-shadow:inset 0 1px 3px #000000b8}.settings-status-bar span{border-radius:inherit;background:linear-gradient(90deg,#ffb21f,#fff068);height:100%;display:block;box-shadow:0 0 10px #ffc22b99}.quest-settings-section{background:linear-gradient(#131c20f0,#070c0ff0);border:1px solid #ffffff1f;border-radius:12px;padding:12px;box-shadow:inset 0 1px #ffffff14,0 10px 28px #0000006b}.quest-settings-section>.section-title{margin-bottom:8px}.quest-rule-card{background:linear-gradient(#10191dc7,#04090ce0),radial-gradient(circle at 88% 16%,#8ddc6521,#0000 42%);border:1px solid #ffffff1f;border-radius:10px;margin:0 0 12px;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.quest-rule-row,.quest-total-row{color:#c6c9c5;border-bottom:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:42px;padding:8px 12px;font-size:.86rem;font-weight:850;display:grid}.quest-rule-row{grid-template-columns:minmax(0,1fr) auto}.quest-rule-row strong,.quest-total-row strong{color:#f3f4ef;text-shadow:0 0 10px #8bdc6538;font-size:1.08rem;font-weight:950}.theme-static-value{color:#f4f4ef;justify-content:flex-end;align-items:center;gap:6px;font-weight:900;display:inline-flex}.quest-rule-chevron{color:#9aa19e;font-size:1.5rem;line-height:1}.quest-total-rows{padding:8px}.quest-total-row{border-bottom:0;grid-template-columns:88px minmax(0,1fr) 34px auto;min-height:38px;padding:5px 8px}.quest-exercise-list-title{color:#f2f4ef;align-items:center;gap:8px;margin:0 2px 8px;font-size:.94rem;font-weight:950;display:flex}.quest-exercise-list-title .context-help-wrapper{margin:1px 0 0}.quest-exercise-list-title .context-help-toggle{width:22px;height:22px}.quest-meta-panel{background:#02070a5c;border:1px solid #ffffff1a;border-radius:10px;margin:0 0 10px;overflow:hidden}.quest-meta-row{color:#c6c9c5;border-bottom:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:8px 12px;font-size:.86rem;font-weight:800;display:grid}.quest-meta-row:last-child{border-bottom:0}.quest-meta-row strong{color:#f5f5ef;font-size:.92rem;font-weight:900}.quest-meta-toggle{background:linear-gradient(#52a83a,#1f641e);border:1px solid #8bdc6573;border-radius:999px;width:42px;height:24px;position:relative;box-shadow:inset 0 1px #ffffff42,0 0 10px #8bdc6538}.quest-meta-toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:3px;right:3px;box-shadow:0 1px 4px #0009}.quest-difficulty-legend.compact{background:0 0;border:0;grid-template-columns:minmax(0,1fr) repeat(3,52px) 46px;align-items:center;gap:6px;padding:0 8px 6px;display:grid}.quest-difficulty-legend.compact:before,.quest-difficulty-legend.compact:after{content:""}.legend-badge.must{background:linear-gradient(#b5352c,#681812)}.legend-badge.normal{background:linear-gradient(#2869c8,#12346e)}.legend-badge.challenge{background:linear-gradient(#7d3cc4,#37165d)}.quest-exercise-settings.table{background:#02070a5c;border:1px solid #ffffff1a;border-radius:10px;gap:0;display:grid;overflow:hidden}.quest-exercise-settings.table .quest-exercise-setting{box-shadow:none;background:linear-gradient(#0c1418b8,#050a0dc7);border:0;border-bottom:1px solid #ffffff14;border-radius:0;grid-template-columns:minmax(0,1fr) 76px 42px;align-items:center;gap:7px 8px;padding:8px;display:grid}.quest-exercise-settings.table .quest-exercise-setting:last-child{border-bottom:0}.quest-exercise-settings.table .quest-exercise-header{border-bottom:0;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;min-width:0;margin-bottom:0;padding-bottom:0;display:grid}.quest-exercise-settings.table .quest-exercise-icon{flex-basis:52px;width:52px;height:34px}.quest-exercise-settings.table .quest-exercise-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.98rem;font-weight:900;display:block;overflow:hidden}.quest-exercise-settings.table .quest-difficulty-inputs{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:0;display:grid}.quest-increment-summary{color:#cfd4cf;text-align:right;white-space:nowrap;grid-area:1/2;min-width:0;font-size:.72rem;font-weight:850}.quest-exercise-settings.table .quest-difficulty-input-group{gap:3px}.quest-exercise-settings.table .quest-difficulty-label{text-align:center;font-size:.56rem}.quest-exercise-settings.table .quest-difficulty-input{text-align:center;border-radius:6px;height:34px;padding:4px}.quest-save-btn{border:1px solid var(--quest-green);background:linear-gradient(#52a83a,#1f641e);border-radius:7px;grid-area:1/3;min-width:0;height:34px;padding:0 8px;font-size:.78rem;font-weight:900}.exercise-item{border-radius:10px}.exercise-list{background:#02070a61;border:1px solid #ffffff1f;border-radius:12px;gap:0;overflow:hidden}.exercise-section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-section>.exercise-section-header{margin:12px 16px 6px}.exercise-section-header .section-title{box-shadow:none;background:0 0;border:0;min-width:0;margin:0;padding:0}.exercise-section-header .add-exercise-btn{white-space:nowrap;border-radius:8px;width:auto;min-height:36px;margin:0;padding:0 12px;font-size:.82rem}.exercise-section-header+.section-title,.exercise-list+.add-exercise-btn{display:none}.exercise-list .exercise-item{box-shadow:none;background:linear-gradient(#0c1418c2,#050a0dd1);border:0;border-bottom:1px solid #ffffff14;border-radius:0}.exercise-list .exercise-item:last-child{border-bottom:0}.exercise-list .exercise-name{color:#f5f5ef;align-items:center;gap:8px;font-weight:900;display:flex}.exercise-list .exercise-name .exercise-picto-img{margin-right:0}.exercise-list .exercise-unit{color:#d9d9d1;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:4px 6px}.data-section{background:linear-gradient(#131c20f0,#070c0ff5);border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff14,0 10px 28px #00000061}.data-action-btn{color:#f4f4ee;text-align:left;text-shadow:0 2px #050607;background:radial-gradient(circle at 18% 0,#f7b82b1a,#0000 38%),linear-gradient(#161f24f5,#070c0ff5);border:1px solid #f7b82b33;border-radius:8px;grid-template-columns:28px minmax(0,1fr);place-items:center start;gap:8px;min-width:0;min-height:62px;padding:9px 10px;font-size:.82rem;font-weight:900;display:grid;box-shadow:inset 0 1px #ffffff14,0 6px 14px #00000052}.data-action-btn:active{border-color:#8bdc656b;transform:scale(.98)}.data-action-btn .setting-row-img{width:28px;height:28px}.data-action-btn .setting-value{min-height:0;color:var(--quest-green);grid-column:1/-1;font-size:.68rem}.data-action-btn:disabled{opacity:.64}.unit-toggle,.increments-inputs{border-color:#ffffff1f}.home-status-grid{grid-template-columns:104px minmax(0,1fr);gap:8px;margin:10px 16px 8px;display:grid}.home-status-grid .streak-section,.home-status-grid .status-card{min-height:118px;margin:0}.home-status-grid .streak-section{grid-template-rows:auto auto 1fr auto;place-items:center;padding:8px 6px;display:grid}.home-status-grid .status-card{background:linear-gradient(#131c20f5,#070c0ff5);border:1px solid #f7b82b3d;align-items:stretch;display:flex}.home-status-grid .level-section{background:0 0;border:0;border-radius:0;width:100%;padding:10px}.home-status-grid .level-header{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px;height:100%;display:grid}.level-progress-copy{min-width:0}.level-caption{color:#c9c9c2;margin-top:6px;font-size:.78rem;font-weight:800}.home-status-grid .level-number,.home-status-grid .level-title{display:none}.home-status-grid .level-progress-display{justify-content:flex-start;gap:4px;min-width:0}.home-status-grid .level-progress-current{color:#f4f4ef;font-size:1.45rem;font-weight:900}.home-status-grid .level-progress-needed{font-size:1.05rem;font-weight:900}.badge-strip{border-radius:var(--radius-sm);border:1px solid var(--quest-border);background:linear-gradient(#0c1418f5,#04080bf5);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;margin:8px 16px 12px;padding:8px 10px;display:grid;box-shadow:inset 0 1px #ffffff14,0 8px 20px #00000059}.badge-strip .badge-progress-icon{width:48px;height:48px;color:var(--quest-gold)}.badge-strip .badge-progress-art{width:58px;height:64px;margin:-8px 0}.badge-strip .badge-progress-art .achievement-badge-img{width:100%;height:100%;padding:0}.badge-strip .badge-progress-label{color:#f5f5ef;margin-right:5px;font-size:.98rem;font-weight:900}.badge-strip .badge-progress-count{color:var(--quest-gold);font-size:1.05rem;font-weight:900}.badge-strip .badge-progress-bar{width:100%;margin-top:6px}.badge-strip-icons{align-items:center;gap:5px;display:flex}.mini-badge{width:34px;height:38px;display:block}.mini-badge .achievement-badge-img{width:100%;height:100%;padding:0}.quest-ui-icon,.nav-icon-img,.section-title-img,.setting-row-img,.settings-inline-img,.history-stat-img,.history-week-img{object-fit:contain;vertical-align:middle;box-sizing:border-box;filter:drop-shadow(0 3px 5px #000000b3);display:inline-block}.nav-icon{justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.nav-icon-img{width:38px;height:38px}.nav-item:not(.active) .nav-icon-img{filter:grayscale()saturate(.2)brightness(1.15)drop-shadow(0 2px 4px #000000bf);opacity:.82}.nav-item.active .nav-icon-img{filter:saturate(1.35)drop-shadow(0 0 8px #8bdc6594)}.section-title-img{width:28px;height:28px;margin-right:8px}.setting-row-img{width:28px;height:28px;margin-right:6px}.settings-inline-img{width:34px;height:34px}.history-stat-img{width:38px;height:38px;margin-bottom:3px}.history-week-img{width:28px;height:28px;margin-right:6px}.weekly-quest-section{border-radius:12px;padding:12px}.weekly-quest-section>.section-title{letter-spacing:0;margin-bottom:10px;font-size:1.45rem;line-height:1.2}.weekly-quest-summary{border:1px solid #ffffff1a;border-radius:10px;padding:10px}.weekly-quest-total-value{min-width:98px;font-size:1.9rem;font-weight:900;display:inline-block}.weekly-quest-total-label{color:#d8d8d1;font-size:.9rem;font-weight:900}.weekly-quest-hint{color:#c7c7c0;margin-top:6px;font-size:.76rem;font-weight:800}.quest-list-compact{gap:8px;display:grid}.quest-row{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;min-height:72px;display:grid}.quest-row-left{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.quest-row .quest-art-icon{flex-basis:48px;width:48px;height:40px}.quest-row .exercise-picto-img{width:48px;height:40px}.quest-row-info{min-width:0}.quest-row-title-line{align-items:center;gap:7px;min-width:0;display:flex}.quest-row-name{color:#f6f6f1;text-overflow:ellipsis;white-space:nowrap;font-size:1.03rem;font-weight:900;display:block;overflow:hidden}.quest-row-badge{color:#fff;border:1px solid;border-radius:5px;flex:none;padding:3px 6px;font-size:.6rem;font-weight:900;line-height:1;box-shadow:inset 0 1px #ffffff38,0 0 8px #00000061}.quest-row-badge.difficulty-must{color:#ffd3cc;background:linear-gradient(#cf3f35,#661812)}.quest-row-badge.difficulty-normal{color:#b9dcff;background:linear-gradient(#2f79db,#12336b)}.quest-row-badge.difficulty-challenge{color:#efd0ff;background:linear-gradient(#8c48d2,#351052)}.quest-row-progress{background:#11191d;border:1px solid #ffffff1f;border-radius:999px;height:8px;margin-top:7px;overflow:hidden;box-shadow:inset 0 2px 5px #0000008c}.quest-row-progress>div{border-radius:inherit;background:linear-gradient(90deg, var(--quest-green-2), var(--quest-green));height:100%;box-shadow:0 0 9px #8bdc6570}.quest-row-count{margin-top:2px;font-size:.86rem;display:block}.quest-row-right{color:#d9d9d1;white-space:nowrap;justify-content:flex-end;align-items:center;gap:2px;font-weight:900;display:flex}.quest-row-right .quest-row-count strong{color:var(--quest-green);font-size:1.25rem}.quest-row-empty{opacity:.78}.quest-row-empty .quest-row-progress>div{box-shadow:none;background:#8bdc652e}.quest-row-empty .quest-row-count{color:#9fb3d0;font-size:.76rem}.quest-chevron-img{opacity:.78;width:18px;height:18px}.quest-list-more{color:#9fa7a4;justify-content:flex-start;align-items:center;gap:8px;padding:7px 10px 3px;font-size:.72rem;font-weight:800;display:flex}.exercise-section{margin-top:0}.exercise-section>.section-title{color:var(--quest-green);letter-spacing:.5px;justify-content:flex-start;align-items:center;gap:6px;font-size:1.05rem;display:flex}.exercise-card{gap:8px;min-height:104px}.exercise-card .exercise-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.exercise-card .exercise-info{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.exercise-card .exercise-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;font-weight:900;overflow:hidden}.exercise-card .exercise-controls{grid-template-columns:auto minmax(58px,1fr) auto;gap:10px;padding-top:0}.exercise-card .button-row{gap:8px}.exercise-card .count-btn{border-radius:8px;width:42px;height:42px;font-size:1.05rem}.exercise-card .count-btn svg{display:none}.exercise-card .btn-label{color:inherit;box-shadow:none;background:0 0;border-radius:0;padding:0;font-size:1.05rem;line-height:1;position:static}.exercise-card .count-display{text-align:center;justify-self:center;min-width:58px;font-size:2rem;font-weight:900;line-height:.95}.exercise-card .count-display:after{content:attr(data-unit-label);color:var(--quest-green);margin-top:3px;font-size:.72rem;font-weight:900;display:block}.quest-header{grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;min-height:82px;padding:16px 16px 12px;overflow:visible}.quest-logo-img{object-fit:contain;box-sizing:border-box;width:min(100% - 20px,352px);min-width:0;height:76px;padding:4px 0;display:block}.quest-menu-btn{color:#c9c9c4;filter:drop-shadow(0 2px 3px #000c);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:46px;height:46px;display:inline-flex}.quest-menu-btn span{background:currentColor;border-radius:999px;width:28px;height:3px;display:block;box-shadow:0 0 6px #ffffff24}.quest-chest{justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:relative}.quest-chest-img{object-fit:contain;filter:drop-shadow(0 3px 5px #000000d9)drop-shadow(0 0 7px #f7b82b4d);width:46px;height:42px;display:block}.quest-chest-badge-img{object-fit:contain;filter:drop-shadow(0 1px 2px #000c);width:22px;height:22px;position:absolute;top:-7px;right:-8px}.quest-level-art,.level-icon.quest-level-art{clip-path:none;width:82px;height:92px;box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;flex:0 0 82px;position:relative}.level-shield-img{object-fit:contain;filter:drop-shadow(0 4px 7px #000c)drop-shadow(0 0 8px #f7b82b47);width:100%;height:100%;display:block}.level-shield-level{color:#f6f6f2;font-family:var(--font-quest-number);letter-spacing:0;text-shadow:0 2px #111,0 4px 7px #000000e6;white-space:nowrap;font-size:1.45rem;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.fire-streak-img{object-fit:contain;filter:drop-shadow(0 0 12px #ff8b2b8c);width:74px;height:74px}.streak-section .streak-flames{justify-content:center;margin-bottom:4px;display:flex;position:static;transform:none}.quest-art-icon{color:#f0f0ec;flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:42px;display:inline-flex}.exercise-picto-img{object-fit:contain;box-sizing:border-box;filter:drop-shadow(0 3px 4px #000c);width:52px;height:42px;display:block}.exercise-name .exercise-picto-img{vertical-align:middle;width:32px;height:26px;margin-right:8px}.achievement-art,.achievement-icon.achievement-art,.achievements-hero-icon{clip-path:none;width:82px;height:94px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:0 0 82px}.achievements-hero-icon{width:94px;height:108px}.achievement-badge-img{object-fit:contain;box-sizing:border-box;filter:drop-shadow(0 4px 7px #000000d1)drop-shadow(0 0 8px #f7b82b38);width:100%;height:100%;display:block}.achievement-card.locked .achievement-badge-img{opacity:.78;filter:grayscale()saturate(.15)brightness(.7)contrast(1.1)drop-shadow(0 4px 7px #000000d1)}@media (width<=380px){.quest-header{grid-template-columns:minmax(0,1fr);padding-left:12px;padding-right:12px}.quest-logo-img{height:62px}.quest-menu-btn,.quest-chest{width:40px;height:40px}.quest-chest-img{width:40px;height:38px}.quest-chest-badge-img{width:20px;height:20px}.quest-level-art,.level-icon.quest-level-art{flex-basis:72px;width:72px;height:82px}.quest-art-icon{flex-basis:44px;width:44px}}@media (width>=0){.quest-header{grid-template-columns:minmax(0,1fr);gap:7px;min-height:64px;padding:8px 12px 7px}.quest-logo-img{width:min(100% - 12px,340px);height:66px}.quest-menu-btn,.quest-chest{width:38px;height:38px}.quest-menu-btn span{width:25px;height:3px}.quest-chest-img{width:39px;height:36px}.quest-chest-badge-img{width:19px;height:19px;top:-6px;right:-6px}.home-status-grid{grid-template-columns:76px minmax(0,1fr);gap:7px;margin:6px 16px 5px}.home-status-grid .streak-section,.home-status-grid .status-card{min-height:92px}.home-status-grid .streak-section{border-radius:10px;padding:4px}.fire-streak-img{width:46px;height:46px}.streak-label{font-size:.64rem;line-height:1.1}.streak-value{font-size:1.72rem;line-height:.95}.streak-days{font-size:.64rem}.home-status-grid .level-section{padding:6px 7px}.home-status-grid .level-header{grid-template-columns:50px minmax(0,1fr);gap:6px}.quest-level-art,.level-icon.quest-level-art{flex-basis:50px;width:50px;height:58px}.level-shield-level{font-size:1.02rem}.home-status-grid .level-progress-current{font-size:1rem}.home-status-grid .level-progress-needed{font-size:.78rem}.level-caption{margin-top:3px;font-size:.6rem}.progress-bar,.badge-progress-bar,.weekly-quest-meter,.achievement-progress-bar{height:8px}.badge-strip{grid-template-columns:34px minmax(0,1fr) auto;gap:5px;margin:5px 16px 6px;padding:3px 7px}.badge-strip .badge-progress-art{width:36px;height:40px;margin:-4px 0}.badge-strip .badge-progress-label{font-size:.82rem}.badge-strip .badge-progress-count{font-size:.84rem}.mini-badge{width:19px;height:23px}.weekly-quest-section{border-radius:10px;margin:5px 16px;padding:5px}.weekly-quest-section>.section-title{margin-bottom:3px;font-size:.94rem;line-height:1.1}.section-title-img{width:26px;height:26px;margin-right:6px}.weekly-range{font-size:.68rem;line-height:1.3}.weekly-quest-summary{border-radius:9px;padding:3px 6px}.weekly-quest-total-value{min-width:46px;font-size:.96rem}.weekly-quest-total-label{font-size:.62rem}.weekly-quest-hint{margin-top:2px;font-size:.58rem}.weekly-day-track{border-radius:9px;gap:3px;margin:2px 0;padding:2px 5px}.weekly-day{gap:3px}.weekly-day-label{font-size:.56rem}.weekly-day-dot{border-width:2px;width:14px;height:14px;font-size:.5rem}.quest-list-compact{gap:4px}.quest-list-more{padding:3px 6px 0;font-size:.61rem}.empty-weekly-quest{min-height:76px;padding:9px 10px 11px}.empty-weekly-quest:before{width:32px;height:32px;margin-bottom:3px}.empty-weekly-quest:after{max-width:240px;font-size:.68rem}.empty-weekly-quest.compact{min-height:22px;padding:3px 8px;font-size:.54rem}.quest-row{border-radius:9px;min-height:28px;padding:3px 6px}.quest-row-left{grid-template-columns:28px minmax(0,1fr);gap:5px}.quest-row .quest-art-icon,.quest-row .exercise-picto-img{flex-basis:24px;width:24px;height:19px}.quest-row-name{font-size:.66rem}.quest-row-badge{border-radius:4px;padding:2px 5px;font-size:.48rem}.quest-row-progress{height:3px;margin-top:2px}.quest-row-count{font-size:.6rem}.quest-row-right .quest-row-count strong{font-size:.84rem}.quest-chevron-img{width:18px;height:18px}.timer-section{margin:5px 16px}.timer-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head mode""hero actions";align-items:center;gap:4px 7px;padding:6px 8px;display:grid}.timer-card-header{grid-area:head;margin-bottom:3px}.timer-card-title{font-size:.76rem}.timer-mode-switch{grid-area:mode;gap:4px;min-width:126px;padding:2px}.timer-mode-btn{min-height:24px;padding:4px 5px;font-size:.56rem}.timer-hero{text-align:left;grid-area:hero;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0;display:grid}.timer-status{display:none}.timer-display{letter-spacing:.02em;text-align:left;white-space:nowrap;min-width:0;margin-top:0;font-size:clamp(1.06rem,4.6vw,1.28rem)}#timer-panel-stopwatch.active{grid-area:actions;display:block}#timer-panel-countdown.active{grid-column:1/-1}#timer-panel-stopwatch .timer-actions{grid-template-columns:repeat(2,74px);gap:6px}.timer-action-btn{min-height:28px;padding:4px 5px;font-size:.62rem}.timer-action-btn span{white-space:nowrap}.timer-action-img{width:19px;height:19px}.exercise-section{padding:4px 16px 96px}.exercise-section.primary-training-section{padding-bottom:16px}.exercise-card{min-height:74px;padding:7px 8px}.exercise-card .exercise-info{grid-template-columns:40px minmax(0,1fr);gap:7px}.exercise-card .quest-art-icon,.exercise-card .exercise-icon{flex-basis:40px;width:40px;height:30px}.exercise-card .exercise-picto-img{width:40px;height:30px}.exercise-card .exercise-name{font-size:.9rem}.exercise-card .count-btn{width:32px;height:32px;font-size:.84rem}.exercise-card .btn-label{font-size:.84rem}.exercise-card .count-display{min-width:42px;font-size:1.42rem}.calendar-section{margin:0 16px 10px;padding:8px}.page-title{margin:11px 16px 6px;font-size:1.34rem}.calendar-header{margin-bottom:7px}.calendar-month{font-size:1.12rem}.calendar-nav{width:30px;height:30px}.calendar-weekdays{gap:3px;margin-bottom:5px}.calendar-grid{gap:3px}.calendar-day{aspect-ratio:auto;border-radius:5px;height:35px;min-height:0;font-size:.78rem}.day-number{font-size:.78rem}.day-count{margin-top:0;font-size:.55rem}.calendar-legend{margin-top:8px}.legend-box{width:10px;height:10px}.calendar-stats .stat-item{min-height:70px;padding:6px 4px}.history-stat-img{width:31px;height:31px}.calendar-stats .stat-value{font-size:1.18rem}.calendar-stats .stat-label{font-size:.68rem}.calendar-stats .stat-sub{font-size:.58rem}.day-detail-section{margin:0 16px 92px;padding:10px}.history-empty-detail{text-align:left;border-radius:10px;grid-template-columns:34px minmax(0,1fr);place-items:center start;gap:8px;min-height:48px;padding:7px 10px}.history-empty-img{width:30px;height:30px}.history-empty-title{font-size:.7rem;line-height:1.25}.history-empty-copy{display:none}.achievements-page-title{margin-top:9px;margin-bottom:7px;font-size:1.38rem}.achievements-status-strip{border-radius:10px;grid-template-columns:58px minmax(0,1fr) 58px;gap:8px;margin:8px 16px 0;padding:7px 9px}.achievements-status-level{width:54px;height:60px}.achievements-status-level .level-shield-level{font-size:.92rem}.achievements-status-progress-value{font-size:.82rem}.achievement-progress-bar.status{height:8px;margin-top:5px}.achievements-status-progress-caption{margin-top:4px;font-size:.58rem}.achievements-status-streak{font-size:.72rem}.achievements-status-streak .fire-streak-img{width:39px;height:39px}.achievements-hero{min-height:0;margin:8px 16px 6px;padding:8px}.achievements-hero-main{gap:8px}.achievements-hero-icon,.achievements-hero-icon.achievement-art,.achievements-hero-icon .achievement-badge-img{width:60px;height:68px}.achievements-title{font-size:.72rem}.achievements-count{font-size:1.36rem}.achievement-progress-bar.hero{margin-top:6px}.achievements-summary{gap:4px;margin-top:6px}.achievements-summary span{padding:3px 6px;font-size:.6rem}.achievement-filter{gap:6px;padding:0 16px 6px}.achievement-filter-btn{min-height:29px;padding:0 10px;font-size:.68rem}.achievement-grid{gap:9px;padding:0 16px 92px}.achievement-card{border-radius:9px;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;grid-template-columns:1fr;align-items:start;row-gap:0;min-height:236px;padding:9px;display:grid}.achievement-card.locked{opacity:.86;filter:none}.achievement-card-top{grid-area:auto/1;justify-items:center;gap:5px;display:grid}.achievement-icon,.achievement-icon.achievement-art{flex-basis:78px;width:78px;height:88px}.achievement-status{text-align:center;min-width:46px;padding:3px 5px;font-size:.56rem;position:static}.achievement-name{text-align:center;grid-column:1;min-height:2.35em;margin-top:7px;padding-right:0;font-size:.78rem;line-height:1.18}.achievement-desc{text-align:center;grid-column:1;min-height:2.7em;margin-top:3px;font-size:.6rem;line-height:1.22}.achievement-progress{grid-column:1/-1;margin-top:5px}.achievement-card-footer{gap:5px;margin-top:6px;padding-top:6px;font-size:.58rem}.achievement-progress-text,.achievement-unlocked-at{font-size:.6rem}.settings-section{padding-bottom:92px;padding-left:0;padding-right:0}.settings-section>h2.section-title{margin:8px 16px 5px;font-size:1rem}.settings-section>.theme-toggle,.settings-section>.settings-control-panel,.settings-section>.setting-item,.settings-section>.settings-status-grid,.settings-section>.quest-settings-section,.settings-section>.exercise-list,.settings-section>.data-section{margin-left:16px;margin-right:16px}.theme-toggle{gap:6px;padding:6px}.settings-control-row{gap:8px;min-height:58px;padding:8px 12px}.settings-control-label{gap:8px;font-size:.98rem}.theme-toggle.compact{gap:4px;width:192px;padding:3px}.theme-btn{border-radius:10px;min-height:76px;padding:8px;font-size:.86rem}.settings-inline-img{width:28px;height:28px}.theme-toggle.compact .theme-btn{min-height:38px;padding:5px 7px;font-size:.72rem}.theme-toggle.compact .settings-inline-img{width:22px;height:22px}.settings-sound-caption{font-size:.78rem}.setting-item{border-radius:9px;min-height:44px;padding:9px 12px}.settings-status-grid{gap:6px}.settings-status-card{border-radius:9px;gap:4px;min-height:76px;padding:8px 6px}.settings-status-art{width:42px;height:42px}.settings-status-art.fire{width:38px;height:38px}.settings-status-card .setting-label{font-size:.62rem}.settings-status-card .setting-value{font-size:.98rem}.quest-settings-section{padding:9px}.quest-settings-section>.section-title{margin-bottom:5px;font-size:1rem}.quest-settings-section>.section-desc{display:none}.quest-rule-card{border-radius:9px;margin-bottom:8px}.quest-rule-row{min-height:34px;padding:6px 8px;font-size:.72rem}.quest-total-rows{padding:5px 6px}.quest-total-row{grid-template-columns:74px minmax(0,1fr) 28px auto;gap:6px;min-height:30px;padding:3px 4px;font-size:.68rem}.quest-total-row .legend-badge{padding:3px 5px;font-size:.62rem}.quest-exercise-list-title{margin-bottom:6px;font-size:.8rem}.quest-meta-panel{border-radius:9px;margin-bottom:7px}.quest-meta-row{min-height:34px;padding:6px 8px;font-size:.72rem}.quest-meta-row strong{font-size:.78rem}.quest-meta-toggle{width:34px;height:20px}.quest-meta-toggle:after{width:14px;height:14px;top:2px;right:2px}.quest-difficulty-legend.compact{justify-content:flex-end;gap:6px;margin:0;padding:0 0 7px;display:flex}.quest-difficulty-legend.compact:before,.quest-difficulty-legend.compact:after{display:none}.quest-exercise-settings.table{max-height:none;overflow:visible}.quest-exercise-settings.table .quest-exercise-setting{grid-template-columns:minmax(0,1fr) 66px 32px;gap:5px;min-height:76px;padding:5px 7px}.quest-exercise-settings.table .quest-exercise-header{grid-area:1/1;grid-template-columns:30px minmax(0,1fr);gap:6px}.quest-exercise-settings.table .quest-exercise-icon,.quest-exercise-settings.table .quest-exercise-icon .exercise-picto-img{flex-basis:30px;width:30px;height:23px}.quest-exercise-settings.table .quest-exercise-name{font-size:.74rem}.quest-increment-summary{grid-area:1/2;font-size:.64rem}.quest-exercise-settings.table .quest-difficulty-inputs{grid-area:2/1/auto/-1;align-items:center;gap:4px}.quest-exercise-settings.table .quest-difficulty-label{display:none}.quest-exercise-settings.table .quest-difficulty-input{border-width:1px;height:28px;padding:2px;font-size:.7rem}.quest-save-btn{grid-area:1/3;height:28px;padding:0 4px;font-size:.6rem}.settings-section>.exercise-section-header{margin:9px 16px 5px}.exercise-section-header{gap:7px}.exercise-section-header .section-title{font-size:1rem}.exercise-section-header .add-exercise-btn{min-height:31px;padding:0 9px;font-size:.68rem}.exercise-list .exercise-item{gap:7px;padding:8px 9px}.exercise-drag-handle{width:18px;height:34px;font-size:.68rem}.exercise-list .exercise-name{gap:6px;font-size:.82rem}.exercise-list .exercise-name .exercise-picto-img{width:34px;height:26px}.exercise-meta{gap:4px}.exercise-increment,.exercise-set-rule,.exercise-list .exercise-unit{padding:3px 5px;font-size:.58rem}.exercise-actions{gap:4px}.exercise-visibility,.exercise-edit,.exercise-delete{border-radius:8px;min-width:31px;height:31px;padding:0 5px;font-size:.54rem}.data-section{border-radius:10px;gap:7px;padding:8px}.data-action-btn{grid-template-columns:22px minmax(0,1fr);gap:5px;min-height:48px;padding:7px 6px;font-size:.62rem}.data-action-btn .setting-row-img{width:22px;height:22px}}
