.slide-avatar{width:100%}.scene-quote{margin:1rem 0 0;padding:1rem 1.25rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);font-size:.95rem;line-height:1.6;color:var(--text);font-style:italic}.scene-slime-preview-link{margin:.5rem 0 0;font-size:.85rem}.scene-slime-preview-link a{color:var(--accent);text-decoration:none}.scene-slime-preview-link a:hover{text-decoration:underline}.scene-3d-container{position:relative;width:100%;height:380px;min-height:320px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,var(--blue-dark) 0%,var(--blue-mid) 40%,var(--blue-normal) 100%);border:1px solid var(--border);box-shadow:var(--shadow)}.scene-3d-wrap{position:relative;width:100%;height:100%;min-height:320px;display:block;touch-action:none}.scene-3d-wrap canvas{touch-action:none}.scene-3d-zoom-btns{display:none;position:absolute;top:.75rem;right:.75rem;z-index:10;flex-direction:column;gap:.25rem}.scene-3d-zoom-btn{width:44px;height:44px;border-radius:var(--radius-btn);border:2px solid var(--border);background:var(--card);color:var(--text);font-size:1.4rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;line-height:1;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.scene-3d-zoom-btn:hover{background:var(--card-hover)}.scene-3d-zoom-btn:active{transform:scale(.96)}.scene-3d-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#1e3a5fe6;color:#fff}.scene-3d-loading-icon,.scene-3d-loaded-icon{display:block}.scene-3d-loading-icon{width:160px;height:90px;max-width:90%}.scene-3d-loaded-icon{width:100px;height:100px}.scene-3d-loading-text{margin:0;font-size:1.1rem;font-weight:600}.scene-3d-loading-bar{width:80%;max-width:240px;height:8px;background:#ffffff40;border-radius:4px;overflow:hidden}.scene-3d-loading-bar-fill{height:100%;background:var(--accent, #3b82f6);border-radius:4px;transition:width .25s ease}.decor-menu{position:absolute;bottom:1rem;left:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;z-index:10;box-shadow:var(--shadow)}.decor-menu-label{font-weight:600;font-size:.9rem;color:var(--text)}.decor-menu-actions{display:flex;gap:.4rem;flex-wrap:wrap}.decor-menu-btn{align-self:flex-start}.decor-menu-btn-danger{background:var(--danger);color:#fff;border:none;border-radius:var(--radius-btn);padding:.4rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.decor-menu-btn-danger:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:var(--shadow)}.decor-menu-tip{margin:0;font-size:.8rem;color:var(--text-muted)}@media (max-width: 640px),(pointer: coarse){.scene-3d-zoom-btns{display:flex}}@media (max-width: 640px){.slide-avatar{overflow-x:hidden}.scene-quote{margin:.75rem 0 0;padding:.85rem 1rem;font-size:.9rem}.scene-3d-container{height:280px;min-height:260px}.scene-3d-wrap{min-height:260px}.decor-menu{flex-wrap:wrap;gap:.5rem}.decor-menu-btn{min-width:44px;min-height:44px;padding:.5rem}}.slide-checklist .check-label>span{color:var(--blue-dark, #0a0e1a)}.slide-checklist .section-title-btn .section-title-text{color:#b8d4ff}.slide-checklist .section-title-btn:hover .section-title-text{color:#000}.checklist-form-error{color:var(--danger, #dc2626);font-size:.9rem;margin:.35rem 0 0}.btn-schedule{padding:.2rem .35rem;font-size:1rem;background:none;border:none;cursor:pointer;opacity:.85;border-radius:4px}.btn-schedule:hover{opacity:1;background:#ffffff1a}.btn-schedule[aria-expanded=true]{background:#ffffff26}.item-schedule-panel{padding:.5rem 0 .5rem 2rem;margin-top:.25rem;border-top:1px solid var(--border);background:var(--card);border-radius:0 0 var(--radius, 6px) var(--radius, 6px)}.item-schedule-panel .add-options-row{margin-top:0;margin-bottom:.35rem}.add-options-group-time-24{display:inline-flex;align-items:center;gap:.2rem}.add-options-group-time-24 .input-time-part{width:2.75rem;min-width:2.75rem;min-height:2.25rem;font-size:1rem;padding:.35rem .25rem;text-align:center;box-sizing:border-box}.add-options-group-time-24 .input-time-sep{font-weight:600;font-size:1.1rem;color:var(--text-muted);-webkit-user-select:none;user-select:none}.item-schedule-reminder-summary{font-size:.95rem;color:var(--text-muted)}.add-options-row-reminder-when .input-reminder-amount{width:5rem;min-width:5rem;min-height:2.5rem;font-size:1.1rem;text-align:center;padding:.4rem .5rem;box-sizing:border-box}.input-reminder-repeat{width:4rem;min-width:4rem;min-height:2.25rem;font-size:1rem;text-align:center;padding:.35rem .5rem;box-sizing:border-box}.item-schedule-hint{font-size:.85rem;color:var(--text-muted);margin:.35rem 0 0}.btn-schedule-close{margin-top:.25rem;font-size:.85rem}.btn-clear-reminder{font-size:.9rem;color:var(--text-muted)}.btn-clear-reminder:hover{color:var(--text)}.add-options-row-schedule-actions{margin-top:.5rem;padding-top:.35rem}.btn-schedule-save{font-size:.95rem;padding:.4rem .75rem;background:var(--accent, #2563eb);color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-schedule-save:hover{filter:brightness(1.1)}.add-options-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.4rem;margin-bottom:.4rem}.add-options-group{display:inline-flex;align-items:center;gap:.35rem}.add-due-label{font-size:.9rem;color:var(--text-muted);white-space:nowrap}.input-due{width:auto;min-width:8.5rem;font-size:.9rem}.input-recurrence{width:auto;min-width:7rem;max-width:12rem;font-size:.9rem}.add-options-group-reminder .input-reminder-amount{width:3.5rem;min-width:3.5rem;text-align:center;font-size:.9rem}.add-reminder-text-row{margin-top:.25rem;margin-bottom:.4rem}.add-reminder-text-row .input-reminder-text{width:100%;max-width:100%;font-size:.9rem;box-sizing:border-box}.item-recurrence-badge{font-size:.65rem;padding:.1rem .3rem;border-radius:4px;background:#22c55e26;color:#15803d;flex-shrink:0}.checklist-notifications-banner{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;background:#3b82f626;border:1px solid #3b82f6;border-radius:var(--radius);color:#1e40af}.checklist-notifications-banner-text{font-size:.9rem;flex:1;min-width:0}.checklist-reminder-toast{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;background:#f59e0b33;border:1px solid #f59e0b;border-radius:var(--radius);color:#92400e}.checklist-reminder-toast-text{font-size:.9rem;font-weight:500}.checklist-reminder-toast-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;padding:0 .25rem;line-height:1}.item-due-badge{font-size:.68rem;padding:.12rem .35rem;border-radius:4px;font-weight:600;flex-shrink:0}.item-due-badge--overdue{background:#dc262633;color:var(--danger, #dc2626)}.item-due-badge--today{background:#f59e0b40;color:#b45309}.item-due-badge--tomorrow{background:#3b82f633;color:#2563eb}.item-due-badge--future{background:var(--card-hover);color:var(--text-muted)}.checklist-item--overdue:not(.completed){border-left:3px solid var(--danger, #dc2626)}.checklist-item--due-today:not(.completed){border-left:3px solid #f59e0b}.checklist-item--due-tomorrow:not(.completed){border-left:3px solid #2563eb}.checklist-modal-options-row{margin-top:.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem}.checklist-modal-options-row .add-options-group{display:inline-flex;align-items:center;gap:.35rem}.checklist-modal-due-label{font-size:.9rem;color:var(--text-muted);white-space:nowrap}.checklist-scroll-area{max-height:min(420px,55vh);overflow-y:auto;overflow-x:hidden;padding-right:.25rem;padding-bottom:.5rem;margin-top:.5rem}.checklist-scroll-area::-webkit-scrollbar{width:6px}.checklist-scroll-area::-webkit-scrollbar-track{background:var(--card-hover, #f0f0f0);border-radius:3px}.checklist-scroll-area::-webkit-scrollbar-thumb{background:var(--border, #ccc);border-radius:3px}.checklist-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #888)}.checklist-list{display:flex;flex-direction:column;gap:.35rem}.checklist-item{padding:.45rem .7rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.checklist-item:hover{box-shadow:var(--shadow)}.checklist-item-preview{opacity:.85;border-style:dashed}.checklist-item-preview .preview-text{color:var(--text);font-weight:500}.checklist-item-preview .preview-badge{font-size:.75rem;color:var(--text-muted);font-weight:400}.checklist-item.completed .check-label span,.check-label input:checked+span{text-decoration:line-through;color:var(--text-muted)}.checklist-head{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.checklist-head .btn-edit,.checklist-head .btn-delete-text,.checklist-head .btn-delete-sub,.checklist-head .item-list-badges{flex-shrink:0}.checklist-drag-handle{cursor:grab;color:var(--text-muted);font-size:.8rem;padding:.15rem .1rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.checklist-drag-handle:active{cursor:grabbing}.checklist-drag-handle:hover{color:var(--accent)}.checklist-item-dragging{opacity:.5}.collapse-btn{background:var(--card-hover);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;padding:.2rem .35rem;font-size:.7rem;border-radius:var(--radius-btn);transition:all .2s ease}.collapse-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.check-label{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;cursor:pointer;margin:0;font-size:.95rem}.check-label input{margin:0}.xp-value{font-size:.75rem;font-weight:600;color:var(--xp)}.checklist-body{margin-top:.35rem;margin-left:1.2rem}.checklist-body input[type=checkbox]:not(:disabled){cursor:pointer}.sub-item{margin-bottom:.15rem;display:flex;align-items:center;justify-content:space-between;gap:.35rem}.sub-item-wrap{margin-bottom:.35rem}.sub-item .sub-xp,.sub-sub-item .sub-xp{font-size:.72rem;color:var(--xp);font-weight:600;flex-shrink:0;min-width:2.25rem;text-align:right}.sub-sub-item .sub-xp{font-size:.68rem}.slide-checklist .xp-link{text-decoration:none;color:var(--xp)}.slide-checklist .xp-link:hover{text-decoration:underline}.check-label.sub{font-size:.88rem}.sub-sub-item{margin-left:1rem;margin-top:.15rem;margin-bottom:.15rem;display:flex;align-items:center;justify-content:space-between;gap:.35rem}.check-label.sub-sub{font-size:.82rem}.slide-checklist .btn-delete-sub{font-size:.9rem;padding:.1rem .25rem;line-height:1}.btn-delete-text{font-size:.75rem;padding:.2rem .4rem;color:var(--danger);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-btn);cursor:pointer;transition:background .2s,color .2s}.checklist-delete-placeholder{display:inline-block;width:3.5rem;flex-shrink:0;height:1.25rem}.btn-delete-text:hover{background:var(--danger-light);color:var(--danger)}.btn-edit{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.15rem .25rem;font-size:.9rem;line-height:1;border-radius:4px;transition:color .2s,background .2s}.btn-edit:hover{color:var(--accent);background:var(--accent-light)}.slide-checklist .btn-edit-sub{font-size:.8rem;padding:.1rem .2rem}.btn-add-inline{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;font-size:.75rem;line-height:1;font-weight:700;color:var(--text-muted);background:var(--card-hover);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color .2s,background .2s,border-color .2s;flex-shrink:0;-webkit-text-stroke:.35px currentColor}.btn-add-inline:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.slide-checklist .btn-add-inline-sm{width:1.25rem;height:1.25rem;font-size:.75rem;-webkit-text-stroke:.3px currentColor}.add-list-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.add-list-label{font-size:.9rem;color:var(--text-muted)}.btn-list-choice{padding:.3rem .6rem;font-size:.85rem;background:var(--card-hover);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-list-choice:hover,.btn-list-choice.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.btn-list-choice.active{font-weight:600}.add-custom-list-row{margin-top:.25rem}.input-custom-list{flex:1;min-width:8rem;max-width:14rem}.btn-add-list{padding:.3rem .6rem;font-size:.85rem;background:var(--card-hover);border:1px solid var(--border);border-radius:var(--radius-btn);cursor:pointer}.btn-add-list:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-add-list:disabled{opacity:.6;cursor:not-allowed}.add-list-limit-hint{font-size:.8rem;color:var(--text-muted)}.list-tag-with-dots{display:inline-flex;align-items:center;gap:0;position:relative}.list-tag-with-dots .btn-list-choice{border-top-right-radius:0;border-bottom-right-radius:0}.btn-list-dots{padding:.3rem .35rem;font-size:1rem;line-height:1;font-weight:600;background:var(--accent);border:1px solid var(--accent);border-left-width:0;border-radius:0 var(--radius-btn) var(--radius-btn) 0;color:#fff;cursor:pointer;transition:opacity .2s,background .2s}.btn-list-dots:hover{opacity:.9;filter:brightness(1.05)}.list-tag-with-dots.active .btn-list-dots{background:var(--accent);border-color:var(--accent);color:#fff}.list-dots-menu{position:absolute;top:100%;right:0;margin-top:.2rem;padding:.25rem 0;min-width:8rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:20;display:flex;flex-direction:column}.list-dots-menu button{padding:.4rem .75rem;font-size:.85rem;text-align:left;background:none;border:none;cursor:pointer;color:var(--text);transition:background .2s}.list-dots-menu button:hover{background:var(--card-hover);color:var(--accent)}.btn-add-list-blue{padding:.2rem .45rem;font-size:.85rem;font-weight:600;line-height:1;background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:var(--radius-btn);cursor:pointer;transition:opacity .2s,background .2s}.btn-add-list-blue:hover:not(:disabled){opacity:.9;filter:brightness(1.05)}.btn-add-list-blue:disabled{opacity:.5;cursor:not-allowed}.checklist-section{margin-bottom:1.25rem}.section-header-row{display:flex;align-items:center;gap:0}.section-drag-handle{display:flex;align-items:center;padding:.5rem .25rem;cursor:grab;color:#b8d4ff;font-size:.8rem;-webkit-user-select:none;user-select:none}.section-drag-handle:active{cursor:grabbing}.section-drag-handle:hover{color:#b8d4ff}.checklist-section-dragging{opacity:.6}.checklist-section-drop-target{outline:2px dashed var(--accent);outline-offset:2px;border-radius:var(--radius)}.section-title-btn{display:flex;align-items:center;gap:.5rem;flex:1;padding:.5rem 0;margin:0 0 .5rem;background:none;border:none;font-size:.95rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left;font-family:inherit;transition:background .2s}.section-title-btn:hover{background:var(--card-hover);border-radius:var(--radius)}.section-collapse-icon{font-size:.75rem;color:#b8d4ff;min-width:1rem}.section-title-btn:hover .section-collapse-icon{color:#000}.section-title-text{flex:1}.section-count{font-size:.85rem;font-weight:400;color:var(--text-muted)}.checklist-section-collapsed .section-title-btn{margin-bottom:0}.item-list-badges{display:flex;gap:.2rem;flex-wrap:wrap}.btn-list-badge{padding:.12rem .3rem;font-size:.68rem;background:var(--card-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-list-badge:hover,.btn-list-badge.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.btn-list-badge.active{font-weight:600}.item-list-select-wrap{position:relative;flex-shrink:0}.btn-list-select{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .4rem;font-size:.72rem;background:var(--card-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;max-width:7rem}.btn-list-select:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.item-list-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-list-select-arrow{font-size:.6rem;opacity:.8}.item-list-dropdown{position:absolute;top:100%;left:0;margin-top:2px;min-width:100%;max-height:12rem;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50;padding:.2rem 0}.item-list-dropdown-option{display:block;width:100%;padding:.35rem .6rem;font-size:.8rem;text-align:left;background:none;border:none;color:var(--text);cursor:pointer;transition:background .15s}.item-list-dropdown-option:hover,.item-list-dropdown-option.active{background:var(--accent-light);color:var(--accent)}.item-list-dropdown-option.active{font-weight:600}.checklist-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.checklist-modal{max-width:400px;width:100%}.checklist-modal-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.checklist-modal-input{width:100%;margin-bottom:1rem}.checklist-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width: 640px){.slide-checklist{overflow-x:hidden}.checklist-item{padding:.5rem .65rem}.checklist-head{gap:.35rem}.collapse-btn{min-width:36px;min-height:36px}.btn-list-choice,.btn-list-badge{min-height:32px;padding:.25rem .5rem;font-size:.75rem}.btn-list-select{min-height:32px;padding:.3rem .5rem;font-size:.75rem;max-width:8rem}.btn-list-dots{min-width:44px;min-height:44px}.checklist-modal-overlay{padding:2rem .5rem .5rem;align-items:flex-start}.checklist-modal{max-width:100%}.checklist-modal-actions .btn{min-height:44px}}.slide-daily .card{margin-bottom:1rem}.slide-daily-form-error{color:var(--danger, #dc2626);font-size:.9rem;margin:.35rem 0 0}.slide-daily .input-shelf{background:#fffffff2;border:1px solid var(--border);box-shadow:inset 0 1px 2px #0000000f}.slide-daily .input-shelf::placeholder{color:var(--text-muted)}.slide-daily .input-shelf:focus{background:#fff;border-color:var(--accent);box-shadow:inset 0 1px 2px #0000000f,0 0 0 2px var(--accent-light)}.slide-daily-special-space{min-height:60px}.slide-daily-meditate-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.slide-daily-meditate-label{font-weight:600;color:var(--text)}.slide-daily-meditate-input{width:4rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--radius-btn);font-size:1rem;text-align:center}.slide-daily-meditate-input:focus{outline:none;border-color:var(--accent)}.slide-daily-workout-categories{display:flex;gap:.25rem}.slide-daily-workout-categories .btn{border:2px solid transparent;box-sizing:border-box}.slide-daily-workout-categories .btn-ghost{border-color:var(--accent)}.slide-daily-workout-categories .btn-sm{padding:.35rem .6rem;font-size:.9rem}.slide-daily-workout-name{min-width:6rem}.slide-daily-workout-difficulty-wrap{display:inline-flex;align-items:center;gap:.35rem}.slide-daily-workout-difficulty-label{font-size:.9rem;color:var(--text-muted)}.slide-daily-workout-difficulty{width:3rem;padding:.3rem .4rem}.slide-daily-meditate-unit{font-size:.9rem;color:var(--text-muted)}.slide-daily-diff-ai{display:inline-flex;align-items:center;gap:.35rem}.slide-daily-ai-badge{font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:.1rem .35rem;border-radius:4px;background:#8b5cf626;color:#6d28d9}.slide-daily-meditate-btn{margin-left:.5rem;vertical-align:middle;color:#fff!important;background:linear-gradient(45deg,#0ce39a,#69007f,#fc0987)!important;border:none!important}.slide-daily-meditate-btn:hover{filter:brightness(1.1)}.meditate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:1000;display:flex;align-items:center;justify-content:center}.meditate-overlay-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.meditate-start-btn{position:relative;text-decoration:none;color:#fff;background:linear-gradient(45deg,#0ce39a,#69007f,#fc0987);padding:14px 25px;border:none;border-radius:10px;font-size:1.25em;cursor:pointer;font-family:inherit}.meditate-start-btn span{position:relative;z-index:1}.meditate-start-btn:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;background:#272727;border-radius:9px;transition:.5s}.meditate-start-btn:hover:before{opacity:.7}.meditate-start-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,#0ce39a,#69007f,#fc0987);border-radius:9px;transition:.5s;opacity:0;filter:blur(20px)}.meditate-start-btn:hover:after{opacity:1}.meditate-tunnel{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;perspective:600px}.meditate-controls{position:absolute;top:.75rem;right:.75rem;z-index:1100;display:flex;gap:.5rem}.meditate-control-btn{padding:.5rem 1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.4);border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;font-family:inherit;transition:background .2s}.meditate-control-btn:hover{background:#ffffff4d}.meditate-paused .meditate-wave-ring{animation-play-state:paused}.meditate-waves{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.meditate-wave-ring{position:absolute;transform-origin:center;animation:meditate-breathe var(--meditate-dur, 6s) cubic-bezier(.45,0,.55,1) infinite;animation-delay:var(--meditate-delay, 0s)}.meditate-wave-svg{filter:drop-shadow(0 0 8px rgba(12,227,154,.5)) drop-shadow(0 0 16px rgba(105,0,127,.35)) drop-shadow(0 0 24px rgba(252,9,135,.25))}@keyframes meditate-breathe{0%,18%{transform:scale(.28);opacity:.2}42%{transform:scale(1);opacity:.9}50%{transform:scale(1);opacity:.9}82%{transform:scale(.28);opacity:.2}to{transform:scale(.28);opacity:.2}}.meditate-running:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 80% at center,rgba(12,227,154,.04) 0%,rgba(105,0,127,.02) 40%,transparent 70%);animation:meditate-ambient 6s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes meditate-ambient{0%,18%,82%,to{opacity:.4}42%,50%{opacity:1}}.meditate-timer{position:relative;z-index:10;font-size:3rem;font-weight:700;color:#fffffff2;text-shadow:0 0 20px rgba(12,227,154,.5),0 0 40px rgba(252,9,135,.3);font-variant-numeric:tabular-nums}.meditate-ending .meditate-timer{animation:meditate-timer-done 1s ease-out}@keyframes meditate-timer-done{0%{transform:scale(1);opacity:1}70%{transform:scale(1.08);opacity:1}to{transform:scale(1.12);opacity:.85}}.workout-countdown{font-size:8rem;font-weight:800;color:#fffffff2;font-variant-numeric:tabular-nums;animation:workout-pulse .8s ease-out}@keyframes workout-pulse{0%{transform:scale(.5);opacity:.5}50%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.workout-running{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.workout-timer{font-size:4rem;font-weight:700;color:#fffffff2;font-variant-numeric:tabular-nums;text-shadow:0 0 20px rgba(12,227,154,.5)}.workout-hint{margin:0;font-size:1rem;color:#ffffffb3}.workout-counter-overlay{position:fixed}.workout-counter-back-btn{position:absolute;top:1rem;left:1rem;z-index:1200;padding:.85rem 1.15rem;font-size:1.25rem;font-weight:700;border-radius:10px;border:1px solid rgba(255,255,255,.5);color:#fff;background:#00000073;cursor:pointer}.workout-counter-back-btn:hover{background:#fff3}.workout-counter-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem}.workout-counter-value{font-size:7rem;line-height:1;font-weight:800;color:#fff;text-shadow:0 0 20px rgba(12,227,154,.6);font-variant-numeric:tabular-nums}.workout-done{display:flex;flex-direction:column;align-items:center;gap:1rem}.workout-xp-message{margin:0;font-size:2rem;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(12,227,154,.6)}.slide-daily .card h2{margin-bottom:.5rem}.habits-table-wrap{overflow-x:auto;background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.habits-table{width:100%;border-collapse:collapse;font-size:.95rem}.habits-table th,.habits-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.habits-table th{font-weight:600;color:var(--text-muted);font-size:.85rem}@media (max-width: 640px){.slide-daily{overflow-x:hidden}.habits-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.habits-table th,.habits-table td{padding:.6rem .5rem;font-size:.9rem}.habits-table .col-done button,.habits-table .col-done .btn{min-width:44px;min-height:44px}}.habits-table tbody tr:hover{background:var(--card-hover)}.habits-table tbody tr.completed td.col-title{text-decoration:line-through;color:var(--text-muted)}.habits-table .col-done{width:3rem;text-align:center}.habits-table .col-done input{margin:0;cursor:pointer}.habits-table .col-title{min-width:10rem}.habit-workout-type{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-left:.25rem}.habits-table .col-difficulty{width:6rem;color:var(--text-muted);font-size:.9rem}.habits-table .col-xp{width:4rem;font-weight:600;color:var(--xp);font-size:.9rem}.habits-table .col-actions{width:2.5rem;text-align:right}.habits-table .btn-delete{background:transparent;color:var(--danger);border:none;font-size:1.25rem;cursor:pointer;padding:.2rem .4rem;line-height:1;border-radius:6px;transition:background .2s,color .2s}.habits-table .btn-delete:hover{background:var(--danger-light);color:var(--danger)}.empty-hint{margin:0;color:var(--text-muted);font-size:.9rem}.slide-streak .card{margin-bottom:0}.slide-streak-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-content:start}.slide-streak-grid .wheel-card{grid-column:1 / -1}@media (max-width: 640px){.slide-streak-grid{grid-template-columns:1fr;gap:.75rem}.slide-streak .card{margin-bottom:0}}.streak-card{max-width:100%}.streak-card h2{margin-bottom:.5rem}.streak-value{display:flex;align-items:baseline;gap:.5rem;margin:0 0 .5rem}.streak-number{font-size:2.5rem;font-weight:800;color:var(--accent);line-height:1}.streak-label{font-size:1rem;color:var(--text-muted);font-weight:500}.streak-shields-row{display:flex;align-items:baseline;gap:.5rem;margin:0 0 .5rem}.streak-shields-label{font-size:1rem;color:var(--text-muted);font-weight:500}.streak-shields-value{font-size:2rem;font-weight:800;color:var(--accent);line-height:1}.streak-shields{margin:0 0 .25rem;font-size:.95rem;color:var(--accent);font-weight:600}.streak-hint{margin:0;font-size:.9rem;color:var(--text-muted)}.today-stats-card{max-width:100%}.today-stats-card h2{margin-bottom:.5rem}.today-stats-list{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:.95rem}.today-stats-list dt{color:var(--text-muted);font-weight:500}.today-stats-list dd{margin:0;font-weight:600;color:var(--accent)}.wheel-card{max-width:100%}.wheel-card h2{margin-bottom:.5rem}.wheel-hint{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted)}.btn-wheel{padding:.6rem 1.25rem;font-size:1.1rem;font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-btn);cursor:pointer;transition:background .2s ease}.btn-wheel:hover:not(:disabled){background:var(--accent-hover)}.btn-wheel:disabled{opacity:.7;cursor:not-allowed}.wheel-result{margin-top:.75rem;padding:.75rem 1rem;font-size:1.25rem;font-weight:700;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-btn);border:2px solid var(--accent);animation:wheel-result-pop .4s ease-out}@keyframes wheel-result-pop{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.wheel-result.error{color:var(--danger);background:var(--danger-light);border-color:var(--danger)}.wheel-video-wrap{margin-bottom:.75rem;border-radius:var(--radius-btn);overflow:hidden;background:var(--blue-dark);max-width:280px;margin-left:auto;margin-right:auto}.wheel-video{display:block;width:100%;height:auto;vertical-align:middle}.activity-month-wrap{max-width:100%}.activity-month-wrap h2{margin-bottom:.5rem}.activity-month-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem}.activity-month-title{font-weight:600;color:var(--text);min-width:10rem;text-align:center}.btn-month{width:2rem;height:2rem;padding:0;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.btn-month:hover{background:var(--card-hover);border-color:var(--accent)}.activity-month-tabs{display:flex;gap:.25rem;margin-bottom:.75rem}.activity-month-tabs .btn-tab{flex:1;padding:.4rem .5rem;font-size:.85rem;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.activity-month-tabs .btn-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.activity-month-tabs .btn-tab:hover:not(.active){background:var(--card-hover);border-color:var(--accent);color:var(--text)}.activity-chart-card{max-width:100%}.activity-chart-card h2,.activity-chart-card .activity-month-nav,.activity-chart-wrap{margin-bottom:.5rem}.activity-chart{display:block;width:100%;max-width:340px;height:auto;min-height:180px}.activity-chart .chart-axis-label{font-size:.7rem;fill:var(--text-muted)}.activity-chart-legend{margin:0;font-size:.85rem;color:var(--text-muted)}.workout-chart-card{margin-top:1rem}.workout-chart-legend{display:flex;gap:1rem;flex-wrap:wrap;margin:.5rem 0 0;font-size:.85rem;color:var(--text-muted)}.workout-legend-item:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.35rem;vertical-align:middle}.workout-legend-item.arms:before{background:#2563eb}.workout-legend-item.abs:before{background:#16a34a}.workout-legend-item.other:before{background:#64748b}.activity-month-grid{display:flex;flex-direction:column;gap:2px}.activity-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.7rem;color:var(--text-muted);text-align:center;margin-bottom:2px}.activity-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.activity-day{aspect-ratio:1;max-width:2.25rem;min-width:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:500;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text-muted)}.activity-day.empty{background:transparent;border-color:transparent;visibility:hidden}.activity-day.active{background:var(--accent);border-color:var(--accent);color:#fff}.activity-day.today{border-width:2px;border-color:var(--accent);font-weight:700;box-shadow:0 0 0 2px rgba(var(--accent-rgb, 59, 130, 246),.4)}.activity-day.today.active{border-color:var(--accent);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.activity-day.clickable{cursor:pointer}.activity-day.clickable:hover{background:var(--card-hover);border-color:var(--accent)}.activity-legend{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.streak-shield-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.streak-shield-modal{max-width:360px;width:100%}.streak-shield-modal-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:700;color:var(--text)}.streak-shield-modal-text{margin:0 0 1rem;font-size:.95rem;color:var(--text-muted)}.streak-shield-modal-text strong{color:var(--accent)}.streak-shield-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width: 640px){.slide-streak .streak-number{font-size:2rem}.slide-streak .streak-shields-value{font-size:1.5rem}.slide-streak .btn-month{min-width:44px;min-height:44px;font-size:1.25rem}.slide-streak .activity-day{min-width:2rem;min-height:2rem;font-size:.7rem}.slide-streak .btn-wheel{min-height:48px;padding:.75rem 1.5rem}.slide-streak .activity-chart{max-width:100%;min-height:160px}}.sport-train-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem 3.5rem;text-align:center;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.sport-train-overlay--fullscreen{background:#000}.sport-train-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:50vh;cursor:default}.sport-train-exit{position:fixed;top:.75rem;right:.85rem;z-index:2;border:none;background:transparent;color:#ffffff8c;font-size:2rem;line-height:1;cursor:pointer;padding:.25rem}.sport-train-exit:hover{color:#fff}.sport-train-progress{position:fixed;top:1rem;left:50%;transform:translate(-50%);margin:0;font-size:.8rem;color:#ffffff73;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.sport-train-title{margin:0;font-size:clamp(1.75rem,6vw,2.75rem);font-weight:700;line-height:1.2;max-width:20ch;pointer-events:none}.sport-train-countdown{margin:1.5rem 0 0;font-size:clamp(5rem,22vw,9rem);font-weight:800;font-variant-numeric:tabular-nums;color:#f97316;line-height:1;pointer-events:none}.sport-train-timer{margin:1.5rem 0 0;font-size:clamp(4rem,18vw,7rem);font-weight:800;font-variant-numeric:tabular-nums;color:#34d399;line-height:1;pointer-events:none}.sport-train-timer--ending{color:#fb923c;animation:sport-train-pulse .5s ease-in-out infinite}@keyframes sport-train-pulse{50%{opacity:.8}}.sport-train-counter-block{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer}.sport-train-counter-val{margin:0;font-size:clamp(4rem,16vw,6.5rem);font-weight:800;line-height:1;pointer-events:none}.sport-train-counter-target{font-size:.45em;font-weight:600;opacity:.5}.sport-train-hint{margin:1.25rem 0 0;font-size:.95rem;color:#ffffff73;pointer-events:none}.sport-train-done-btn{margin-top:.5rem;background:#ffffff24;border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer;padding:.5rem 1.25rem;border-radius:999px;font-size:.95rem}.sport-train-done-btn:hover{background:#ffffff38}.sport-train-timer-actions{margin-top:1.25rem;display:flex;justify-content:center;cursor:default}.sport-train-status{font-size:1.1rem;color:#fff9;pointer-events:none}.sport-train-voice{position:fixed;bottom:.75rem;left:50%;transform:translate(-50%);margin:0;cursor:default}.sport-train-voice-select{font-size:.7rem;padding:.25rem .4rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#ffffffb3;max-width:10rem}.sport-train-done-title{margin:0;font-size:1.75rem;font-weight:700}.sport-train-xp{margin:0;font-size:1.5rem;font-weight:700;color:#34d399}.sport-train-close{margin-top:.5rem;cursor:pointer}.sport-day-train-btn{margin-top:.35rem;width:100%}.slide-sport .card{margin-bottom:1rem}.slide-sport-hint{margin:.35rem 0 0;font-size:.88rem;color:var(--text-muted);line-height:1.45}.slide-sport-week-key{margin:.5rem 0 0;font-size:.75rem;color:var(--text-muted);font-weight:600}.slide-sport-blocks .sport-drop-zone--palette{margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--border)}.sport-palette-stack-label{margin:.65rem 0 .4rem;font-size:.82rem;color:var(--text-muted)}.sport-chip--repeat{flex:0 0 auto;width:max-content;max-width:100%;min-width:11rem;box-sizing:border-box;cursor:default;padding:.35rem 1.5rem .4rem .4rem}.sport-repeat-body{display:flex;flex-direction:row;align-items:stretch;gap:.4rem;width:max-content;max-width:100%}.sport-repeat-side{flex:0 0 auto;order:1;display:flex;flex-direction:column;justify-content:center;gap:.12rem;min-width:4.25rem;padding:.05rem 0;cursor:grab}.sport-repeat-side:active{cursor:grabbing}.sport-repeat-head{display:flex;align-items:center;gap:.35rem;padding-right:.1rem}.sport-repeat-count{width:2.35rem;padding:.1rem .15rem;border:1px solid rgba(234,88,12,.45);border-radius:6px;background:#fff;text-align:center;font-weight:700;font-size:.8rem;color:var(--text)}.sport-repeat-slot{flex:0 1 auto;order:2;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;align-content:center;gap:.35rem;min-width:5rem;min-height:3.1rem;padding:.25rem .35rem;border-radius:6px;border:2px dashed #ea580c;background:linear-gradient(135deg,#fff7ed,#ffedd5 45%,#fed7aa);overflow:visible;position:relative;z-index:1}.sport-repeat-slot--over{border-color:#c2410c;border-style:solid;background:linear-gradient(135deg,#ffedd5,#fdba74);box-shadow:inset 0 0 0 2px #ffffffa6}.sport-repeat-slot-hint{font-size:.68rem;color:#9a3412;font-style:italic;white-space:nowrap;padding:.2rem .25rem;opacity:.85}.sport-chip--repeat .sport-chip--nested{max-width:8.5rem;min-width:5rem;padding-left:.55rem}.sport-chip--repeat .sport-chip--nested:before{display:none}.slide-sport-type-row .btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.slide-sport-add-fields{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.slide-sport-field{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.slide-sport-num{width:4rem;padding:.35rem .45rem;border:1px solid var(--border);border-radius:var(--radius-btn);text-align:center}.slide-sport-name-opt{min-width:8rem;flex:1}.slide-sport .input-shelf{background:#fffffff2;border:1px solid var(--border);min-width:10rem;flex:1}.slide-sport-error{color:var(--danger, #dc2626);font-size:.88rem;margin:.5rem 0 0}.sport-drop-zone{min-height:3.25rem;padding:.45rem;border:2px dashed var(--border);border-radius:var(--radius-btn);display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-start;align-content:flex-start;transition:border-color .15s,background .15s}.sport-block-list{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:0;width:100%;min-height:3.25rem}.sport-block-list--repeat-inner{flex-wrap:nowrap;min-height:0;width:max-content;max-width:100%}.sport-block-item{flex:0 0 auto;max-width:100%}.sport-insert-gap{flex:0 0 6px;width:6px;min-height:3rem;align-self:stretch;border-radius:4px;transition:flex-basis .12s,width .12s,background .12s}.sport-insert-gap--active{flex:0 0 14px;width:14px;background:#ea580c73;box-shadow:0 0 0 2px #ea580c33}.sport-block-list--repeat-inner .sport-insert-gap{min-height:2.5rem}.sport-drop-zone--palette{background:#fff6;display:block;padding:.5rem .45rem;overflow:visible}.sport-drop-zone--palette .sport-drop-empty{padding:.75rem .45rem;width:auto}.sport-palette-track{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem;min-height:3.25rem;width:100%;padding:.15rem .1rem .25rem}.sport-palette-track .sport-chip{flex:0 0 auto;max-width:11rem}.sport-palette-track .sport-chip--repeat{max-width:none}.sport-drop-zone--day .sport-chip--repeat{max-width:100%}.sport-drop-zone--day{flex:1;min-width:0}.sport-drop-zone:empty,.sport-drop-empty,.sport-drop-placeholder{color:var(--text-muted);font-size:.82rem}.sport-drop-empty{margin:0;width:100%}.sport-drop-placeholder{align-self:center;padding:.25rem 0}.sport-day-row{display:grid;grid-template-columns:auto 3.25rem 1fr;gap:.5rem;align-items:stretch;padding:.5rem 0;border-bottom:1px solid var(--border)}.sport-day-row--reminder-open{padding-bottom:.35rem}.sport-day-row:last-child{border-bottom:none}.sport-day-row--done{opacity:.85}.sport-day-row--done .sport-drop-zone{border-style:solid;border-color:#0ce39a73;background:#0ce39a0f}.sport-day-check{display:flex;align-items:center;padding-top:.35rem}.sport-day-check input[type=checkbox]{width:1.15rem;height:1.15rem;cursor:pointer}.sport-day-check input:disabled{cursor:not-allowed;opacity:.5}.sport-day-label{display:flex;flex-direction:column;justify-content:center;gap:.15rem;padding-top:.2rem}.sport-day-name{font-weight:700;font-size:1rem;letter-spacing:.02em}.sport-day-xp{font-size:.75rem;color:var(--accent);font-weight:600}.sport-day-done-badge{font-size:.72rem;color:#0a9e6a;font-weight:600}.sport-day-train-btn{margin-top:.2rem;font-size:.78rem;padding:.25rem .5rem}.sport-day-train-btn--today{box-shadow:0 0 0 2px #ea580c59}.sport-day-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.15rem}.sport-day-alarm-btn{border:none;background:transparent;cursor:pointer;font-size:1.05rem;line-height:1;padding:.2rem .35rem;border-radius:6px;opacity:.55;transition:opacity .15s ease,background .15s ease}.sport-day-alarm-btn:hover{opacity:.9;background:#ffffff0f}.sport-day-alarm-btn--on{opacity:1;filter:drop-shadow(0 0 4px rgba(234,88,12,.45))}.sport-day-reminder-panel{grid-column:1 / -1;display:flex;flex-direction:column;gap:.55rem;margin-top:.15rem;padding:.65rem .75rem;border-radius:10px;background:#0000002e;border:1px solid rgba(234,88,12,.35);box-shadow:0 4px 16px #0000001f;font-size:.88rem;animation:sport-reminder-panel-in .28s ease-out}@keyframes sport-reminder-panel-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sport-day-reminder-toggle{display:flex;align-items:center;gap:.45rem;cursor:pointer;font-weight:700;font-size:.92rem}.sport-day-reminder-toggle input{width:1.05rem;height:1.05rem}.sport-day-reminder-fields{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.sport-day-reminder-time{flex:0 0 auto;min-width:7.5rem;padding:.4rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:inherit;font-size:.95rem}.sport-day-reminder-text{flex:1 1 12rem;min-width:min(100%,12rem);padding:.4rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:inherit;font-size:.9rem}.sport-day-reminder-time:disabled,.sport-day-reminder-text:disabled{opacity:.5}.sport-chip{display:inline-flex;flex-direction:column;gap:.15rem;max-width:100%;padding:.35rem 1.6rem .5rem .55rem;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:grab;position:relative;-webkit-user-select:none;user-select:none;-webkit-user-drag:element;box-shadow:0 1px 2px #0000000f}.sport-chip--in-stack{flex:0 0 auto;max-width:11rem;touch-action:none}.sport-repeat-side--draggable{touch-action:none}.sport-chip:active{cursor:grabbing;opacity:.9}.sport-chip--plain{border-left:3px solid #64748b}.sport-chip--meditate{border-left:3px solid #8b5cf6;background:linear-gradient(135deg,#fff,#f5f3ff)}.sport-chip--workout{border-left:3px solid #2563eb;background:linear-gradient(135deg,#fff,#eff6ff)}.sport-chip--counter{border-left:3px solid #ea580c;background:linear-gradient(135deg,#fff,#fff7ed)}.sport-chip-title{font-weight:600;font-size:.85rem;line-height:1.2;word-break:break-word}.sport-chip-meta{font-size:.72rem;color:var(--text-muted)}.sport-btn-repeat-add{background:#ffab19!important;border-color:#cc8a14!important;color:#4a3200!important;font-weight:700}.sport-btn-repeat-add:hover{filter:brightness(1.05)}.sport-scratch-c{display:inline-flex;flex-direction:row;align-items:stretch;max-width:100%;flex:1 1 auto;min-width:12rem;position:relative;margin:.2rem 0;filter:drop-shadow(2px 0 0 #cf8b17)}.sport-scratch-c-hat{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.3rem;padding:.45rem .55rem;min-width:4.75rem;background:linear-gradient(90deg,#ffc95e,#ffab19 55%,#e89b0f);border:2px solid #cf8b17;border-right:none;border-radius:10px 0 0 10px;font-weight:800;color:#4a3200;cursor:grab;-webkit-user-select:none;user-select:none;z-index:1}.sport-scratch-c-hat:active{cursor:grabbing}.sport-scratch-c-hat-icon{width:.55rem;height:.55rem;border-radius:2px;background:#cf8b17;flex-shrink:0}.sport-scratch-c-hat-label{font-size:.95rem;text-transform:lowercase;letter-spacing:.02em}.sport-scratch-c-hat-num{width:2.6rem;padding:.15rem .2rem;border:2px solid #cf8b17;border-radius:6px;background:#fff;text-align:center;font-weight:800;font-size:.9rem;color:#4a3200}.sport-scratch-c-hat-del{align-self:flex-end;border:none;background:#0000001a;color:#4a3200;width:1.3rem;height:1.3rem;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1}.sport-scratch-c-frame{display:flex;flex-direction:column;flex:1 1 auto;min-width:7rem;position:relative;padding-right:11px}.sport-scratch-c-frame:after{content:"";position:absolute;top:10px;right:0;bottom:10px;width:11px;background:linear-gradient(180deg,#ffc95e,#ffab19);border:2px solid #cf8b17;border-left:none;border-radius:0 4px 4px 0;pointer-events:none}.sport-scratch-c-rim--top{flex:0 0 10px;background:linear-gradient(180deg,#ffc95e,#ffab19);border:2px solid #cf8b17;border-left:none;border-bottom:none;border-radius:0 10px 0 0}.sport-scratch-c-well{flex:1 1 auto;display:flex;flex-direction:column;margin:0 0 0 8px;padding:0 6px 0 4px;border-left:2px solid #cf8b17;background:#ffab19;min-height:2.75rem;position:relative}.sport-scratch-c-rim--inner-top{flex:0 0 8px;margin:4px 10px 0 6px;background:linear-gradient(180deg,#e89b0f,#ffab19);border:2px solid #cf8b17;border-bottom:none;border-radius:5px 5px 0 0}.sport-scratch-c-mouth{flex:1 1 auto;display:flex;align-items:stretch;margin:0 8px 6px 4px;padding:.25rem .3rem;min-height:2.5rem;transition:background .15s,box-shadow .15s}.sport-scratch-c-mouth--over .sport-scratch-c-track{background:#ffffff38;border-color:#ffffff8c;box-shadow:inset 0 0 0 2px #ffffff59}.sport-scratch-c-well:before{content:"";position:absolute;right:17px;top:22px;bottom:18px;width:2px;background:#cf8b17;opacity:.55;pointer-events:none}.sport-scratch-c-track{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.4rem;flex:1 1 auto;min-width:4.5rem;min-height:2.35rem;padding:.25rem .35rem;border-radius:6px;background:#00000012;border:2px dashed rgba(74,50,0,.28);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.sport-scratch-c-empty{margin:0;padding:.35rem .5rem;font-size:.78rem;color:#4a3200b3;font-style:italic;text-align:center;white-space:nowrap;flex:1 1 auto}.sport-scratch-c-rim--bottom{flex:0 0 10px;display:flex;align-items:stretch;margin-left:8px;padding-right:0;background:transparent}.sport-scratch-c-rim--bottom:before{content:"";flex:1 1 auto;background:linear-gradient(0deg,#e89b0f,#ffab19);border:2px solid #cf8b17;border-top:none;border-left:none;border-radius:0 0 0 8px}.sport-scratch-c-bump{flex:0 0 20px;width:20px;background:linear-gradient(0deg,#e89b0f,#ffab19);border:2px solid #cf8b17;border-top:none;border-left:none;border-radius:0 0 8px}.sport-scratch-c-xp{position:absolute;right:.55rem;bottom:-.15rem;font-size:.68rem;font-weight:700;color:#0a9e6a;background:#fff;padding:.05rem .35rem;border-radius:4px;border:1px solid var(--border);z-index:2}.sport-drop-zone--day .sport-scratch-c{width:100%;max-width:100%}.sport-drop-zone--day .sport-scratch-c-frame{min-width:0}.sport-chip--nested{flex:0 0 auto;width:auto;max-width:9.5rem;min-width:5.5rem;box-sizing:border-box;cursor:grab;padding-left:.75rem}.sport-chip--nested:before{content:"";position:absolute;left:.2rem;top:50%;transform:translateY(-50%);width:.35rem;height:.65rem;background:#0000001f;border-radius:2px 0 0 2px}.sport-chip-delete{position:absolute;top:.15rem;right:.2rem;border:none;background:none;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .2rem}.sport-chip-delete:hover{color:var(--danger, #dc2626)}.sport-toast{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:200;padding:.65rem 1.1rem;background:var(--text);color:#fff;border-radius:999px;font-size:.9rem;font-weight:600;box-shadow:0 4px 20px #0003;animation:sport-toast-in .25s ease}@keyframes sport-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 520px){.sport-day-row{grid-template-columns:auto 2.5rem 1fr}.sport-day-reminder-fields{flex-direction:column;align-items:stretch}.sport-day-reminder-time,.sport-day-reminder-text{width:100%;min-width:0}.slide-sport-type-row .btn{font-size:.78rem;padding:.3rem .45rem}}.store-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay, rgba(0, 0, 0, .4));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.store-modal{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:1.5rem;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-md)}.store-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.store-header h2{font-size:1.25rem;color:var(--text)}.btn-close{background:transparent;color:var(--text-muted);font-size:1.5rem;line-height:1;padding:.25rem}.btn-close:hover{color:var(--text)}.btn-back{background:transparent;color:var(--accent);font-size:.95rem;padding:.35rem .5rem}.btn-back:hover{text-decoration:underline}.store-folders{display:flex;gap:1rem;flex-wrap:wrap}.store-folder-card{flex:1;min-width:140px;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.5rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:14px;cursor:pointer;transition:background .2s,border-color .2s}.store-folder-card:hover{background:var(--accent-light);border-color:var(--accent);box-shadow:var(--shadow)}.store-folder-emoji{font-size:2.5rem}.store-folder-name{font-weight:700;font-size:1.1rem;color:var(--text)}.store-folder-desc{font-size:.8rem;color:var(--text-muted)}.store-error{color:var(--danger);font-size:.9rem;margin-bottom:.75rem}.store-section{margin-bottom:1.5rem}.store-section-title{font-size:1rem;color:var(--text);margin-bottom:.5rem}.store-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.store-item{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.store-item.owned{border-color:var(--accent);background:var(--accent-light)}.store-item.owned.not-in-use{border-color:#e67e22;border-width:2px;background:#fff7ed}.store-item-nothing{border-style:dashed;color:var(--text-muted)}.store-emoji{font-size:2rem}.store-name{font-weight:600;font-size:.95rem}.store-price{font-size:.85rem;color:var(--xp)}.store-owned{font-size:.8rem;color:var(--accent)}.store-count{font-size:.8rem;color:var(--text-muted);display:block}.store-placed{font-size:.75rem;color:var(--accent);display:block}.store-item .btn,.store-item .btn-sm{margin-top:.25rem}.store-item .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-screen{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.75rem}.auth-title{margin:0 0 .5rem;font-size:1.35rem;color:var(--text)}.auth-warning{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-muted);line-height:1.45}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.auth-tab{flex:1;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:all .2s ease}.auth-tab:hover{color:var(--accent);border-color:var(--accent)}.auth-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;color:var(--text)}.auth-input{padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-btn);font-size:1rem;background:#fff;color:var(--text)}.auth-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-light)}.auth-input::placeholder{color:var(--text-muted)}.auth-input:disabled{opacity:.7;cursor:not-allowed}.auth-error{margin:0;padding:.5rem .75rem;background:var(--danger-light);color:var(--danger);border-radius:var(--radius-btn);font-size:.9rem}.auth-submit{padding:.7rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-btn);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:.25rem}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.8;cursor:not-allowed}.auth-lang-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.loader-wrap{position:fixed;bottom:1rem;right:1rem;z-index:1000}.loader{width:fit-content;height:fit-content;background-color:#3a3a3a;border-radius:7px;padding:10px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:.2s;border:none;color:inherit}.loader:hover{background-color:#1a1a1a}.loader:hover svg{color:#fff}.loader svg{color:#ffffffa6;transform:scale(1.2);transition:.2s}.point{position:absolute;bottom:5px;left:5px;width:6px;height:6px;background-color:#0f0;border-radius:25px;display:flex;align-items:center;justify-content:center}.point:before{content:"";position:absolute;width:1px;height:1px;background-color:#0f0;border-radius:25px;animation:loader-loop 1s 0s infinite}@keyframes loader-loop{0%{background-color:#0f0;width:1px;height:1px}to{background-color:#0f00;width:30px;height:30px}}.loader-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:#2563eb;color:#fff;font-size:.7rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center}.loader-panel{position:absolute;bottom:calc(100% + .5rem);right:0;width:min(320px,calc(100vw - 2rem));max-height:280px;background:#1e293b;border-radius:10px;box-shadow:0 8px 32px #0006;overflow:hidden;display:flex;flex-direction:column}.loader-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#334155;color:#fff;font-weight:600}.loader-panel-close{background:none;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;line-height:1;padding:0 .25rem}.loader-panel-close:hover{color:#fff}.loader-panel-body{overflow-y:auto;padding:.5rem;flex:1}.loader-empty{color:#94a3b8;font-size:.9rem;text-align:center;padding:1.5rem;margin:0}.loader-msg{padding:.6rem .75rem;margin-bottom:.4rem;background:#334155;border-radius:8px;border-left:3px solid #2563eb;cursor:pointer;display:flex;align-items:flex-start;gap:.5rem}.loader-msg.read{border-left-color:#64748b;opacity:.85}.loader-msg-content{flex:1;min-width:0}.loader-msg-delete{flex-shrink:0;background:transparent;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:0 .2rem;line-height:1}.loader-msg-delete:hover{color:#ef4444}.loader-msg-date{display:block;font-size:.7rem;color:#94a3b8;margin-bottom:.25rem}.loader-msg-text{margin:0;font-size:.9rem;color:#e2e8f0;white-space:pre-wrap;word-break:break-word}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172ae0;display:flex;align-items:center;justify-content:center;padding:1rem}.onboarding-card{width:min(100%,28rem);max-height:min(92vh,640px);overflow-y:auto;padding:1.35rem 1.25rem 1.25rem;border-radius:12px;background:var(--card, #fff);color:var(--text, #1e293b);box-shadow:0 20px 50px #00000059}.onboarding-title{margin:0 0 .5rem;font-size:1.35rem;font-weight:700;line-height:1.25}.onboarding-intro{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted, #64748b);line-height:1.45}.onboarding-options{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.onboarding-option{display:flex;align-items:flex-start;gap:.65rem;width:100%;padding:.65rem .75rem;text-align:left;border:2px solid var(--border, #e2e8f0);border-radius:10px;background:var(--card-hover, #f8fafc);cursor:pointer;transition:border-color .15s,background .15s}.onboarding-option:hover{border-color:#94a3b8}.onboarding-option--on{border-color:#3b82f6;background:#3b82f614}.onboarding-option-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.onboarding-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.onboarding-option-title{font-weight:700;font-size:.95rem}.onboarding-option-desc{font-size:.8rem;color:var(--text-muted, #64748b);line-height:1.35}.onboarding-option-check{flex-shrink:0;width:1.25rem;font-weight:700;color:#3b82f6;text-align:center}.onboarding-error{margin:0 0 .75rem;font-size:.85rem;color:#b42318}.onboarding-submit{width:100%}.guided-tutorial{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;pointer-events:none}.guided-tutorial-dim-svg{position:fixed;top:0;left:0;z-index:11998;pointer-events:none}.guided-tutorial-target-active{position:relative;z-index:12001!important;isolation:isolate}.guided-tutorial-focus-ring{position:fixed;z-index:12001;pointer-events:none;border:3px solid rgba(234,88,12,.95);background:transparent;box-shadow:0 0 0 4px #ea580c2e,0 4px 22px #ea580c59;animation:guided-tutorial-focus-pulse 2s ease-in-out infinite}@keyframes guided-tutorial-focus-pulse{0%,to{box-shadow:0 0 0 4px #ea580c2e,0 4px 22px #ea580c59}50%{box-shadow:0 0 0 8px #ea580c47,0 4px 28px #ea580c73}}.guided-tutorial-panel{position:fixed;left:10px;bottom:12px;top:auto;z-index:12002;width:min(260px,calc(100vw - 20px));max-height:min(440px,52vh);display:flex;flex-direction:column;padding:.85rem .95rem .95rem;background:var(--card, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;box-shadow:0 8px 32px #0000002e;pointer-events:auto;overflow-y:auto;animation:guided-tutorial-panel-in .25s ease-out}@keyframes guided-tutorial-panel-in{0%{opacity:0;transform:translate(-10px,10px)}to{opacity:1;transform:translate(0)}}.guided-tutorial-progress{font-size:.75rem;font-weight:600;color:var(--accent, #ea580c);margin-bottom:.35rem;letter-spacing:.03em;flex-shrink:0}.guided-tutorial-title{margin:0 0 .45rem;font-size:1.02rem;line-height:1.3;color:var(--text, #1e293b);flex-shrink:0}.guided-tutorial-bullets{margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.5;color:var(--text-muted, #64748b);flex:1;overflow-y:auto}.guided-tutorial-bullets li{margin-bottom:.4rem}.guided-tutorial-bullets li:last-child{margin-bottom:0}.guided-tutorial-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border, #e2e8f0);flex-shrink:0}.guided-tutorial-skip{border:none;background:none;color:var(--text-muted, #64748b);font-size:.82rem;cursor:pointer;text-decoration:underline;padding:.25rem 0}.guided-tutorial-skip:hover{color:var(--accent, #ea580c)}.guided-tutorial-nav{display:flex;gap:.5rem;margin-left:auto}.guided-tutorial-next{min-width:6.5rem}@media (max-width: 640px){.guided-tutorial-panel{left:8px;right:8px;bottom:8px;width:auto;max-width:none;max-height:46vh;border-radius:12px 12px 10px 10px}}.tutorial-demo-checklist{margin-top:.75rem;padding:.65rem .75rem;border-radius:10px;border:2px dashed rgba(234,88,12,.45);background:#ea580c0f}.tutorial-demo-checklist-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent, #ea580c);margin:0 0 .45rem}.tutorial-demo-checklist-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:var(--card, #fff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.tutorial-demo-checklist-row input[type=checkbox]{flex-shrink:0}.tutorial-demo-checklist-title{flex:1;font-size:.92rem}.tutorial-demo-sport-day{margin-top:.75rem;padding:.55rem .65rem;border-radius:10px;border:2px dashed rgba(234,88,12,.45);background:#ea580c0f}.tutorial-demo-sport-day-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent, #ea580c);margin:0 0 .4rem}.tutorial-demo-sport-day-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.tutorial-demo-sport-day-name{font-weight:700;min-width:2rem}:root{--blue-dark: #0a0e1a;--blue-mid: #1e3a5f;--blue-normal: #2563eb;--blue-light: #93c5fd;--blue-pale: #dbeafe;--bg: var(--blue-pale);--card: #b8d4ff;--card-hover: #a3c4f8;--border: #7aa6e8;--border-focus: #60a5fa;--text: #1e293b;--text-muted: #475569;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: #dbeafe;--xp: #d97706;--xp-light: #fef3c7;--danger: #dc2626;--danger-light: #fee2e2;--shadow-sm: 0 1px 2px rgba(30, 58, 95, .08);--shadow: 0 2px 8px rgba(30, 58, 95, .12);--shadow-md: 0 4px 12px rgba(30, 58, 95, .15);--radius: 12px;--radius-btn: 10px;--overlay: rgba(30, 58, 95, .5)}*{box-sizing:border-box}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:.75rem;height:.75rem;min-width:.75rem;min-height:.75rem;border:1px solid var(--border);border-radius:2px;background:#fff;cursor:pointer;vertical-align:middle;position:relative;flex-shrink:0}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:1.5px;top:-.5px;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}input[type=checkbox]:disabled{opacity:.85;cursor:default}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:linear-gradient(180deg,var(--blue-dark) 0%,var(--blue-mid) 35%,var(--blue-normal) 100%);background-attachment:fixed;color:var(--text);min-height:100vh;line-height:1.5}.app{max-width:720px;margin:0 auto;padding:1.25rem;min-height:100vh;position:relative}@media (max-width: 640px){.app{padding:.75rem .5rem;max-width:100%}}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.header-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.header-user-menu{position:relative}.header-user-btn{padding:.25rem .55rem;font-size:.85rem;font-weight:600;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:4px;cursor:pointer;transition:background .2s ease,border-color .2s ease;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-btn:hover,.header-user-btn--open{background:#ffffff59}.header-user-dropdown{position:absolute;top:calc(100% + .35rem);left:0;min-width:100%;z-index:200;background:#0f172af7;border:1px solid rgba(255,255,255,.25);border-radius:6px;box-shadow:0 8px 24px #00000073;overflow:hidden;animation:header-user-dropdown-in .15s ease-out}@keyframes header-user-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-user-dropdown-item{display:block;width:100%;padding:.45rem .65rem;font-size:.85rem;text-align:left;color:#fff;background:transparent;border:none;cursor:pointer;white-space:nowrap}.header-user-dropdown-item:hover{background:#ef444459}.app.auth-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.auth-loading-text{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);margin:0}.header-auth-btn{padding:.25rem .5rem;font-size:.85rem;background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:4px;cursor:pointer;transition:background .2s ease}.header-auth-btn:hover{background:#fff6}.header-guest-warning{font-size:.75rem;color:#ffffffbf;font-style:italic}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.auth-modal{position:relative;width:100%;max-width:360px;max-height:90vh;overflow-y:auto}.auth-modal-close{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;border:none;background:var(--card);color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;border-radius:var(--radius-btn);z-index:1}.auth-modal-close:hover{color:var(--text);background:var(--card-hover)}.beta-badge{font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.2rem .4rem;background:#ffffff40;color:#fffffff2;border-radius:4px;border:1px solid rgba(255,255,255,.4);text-shadow:0 1px 1px rgba(0,0,0,.2)}.logo{display:block;width:38px;height:42px;object-fit:contain}.header h1{margin:0;font-size:1.75rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}@media (max-width: 640px){.header{margin-bottom:.75rem;gap:.5rem}.header h1{font-size:1.35rem}.logo{width:32px;height:36px}.header-user-btn,.header-auth-btn{min-height:40px;padding:.35rem .6rem}.xp-bar-xp{font-size:.9rem}}.tabs{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:2px}.tabs::-webkit-scrollbar{height:4px}.tab{padding:.6rem 1.2rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-muted);cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;box-shadow:var(--shadow-sm);flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (pointer: coarse){.tab{min-height:48px;padding:.75rem 1.35rem;min-width:2.5rem}.tab.tab-small{min-height:48px;padding:.6rem 1rem}}@media (max-width: 640px){.tabs{margin-bottom:.75rem;gap:.35rem}.tab{padding:.5rem .85rem;font-size:.85rem;min-height:44px}.tab.tab-small{padding:.4rem .65rem;font-size:.8rem}}.tab:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow)}.tab.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.tab.tab-small{padding:.4rem .85rem;font-size:.85rem}.slide-about{max-width:480px}.slide-about-card h2{margin-bottom:.5rem}.slide-about-text{margin:0 0 .75rem}.slide-about-link{color:var(--accent);font-weight:500;text-decoration:none}.slide-about-link:hover{text-decoration:underline}.slide-about-note{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted);line-height:1.5}.slide-about-trigger{padding:.5rem 1.25rem;font-size:1rem;cursor:pointer;position:relative;z-index:1}.slide-about-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.slide-about-form-card{max-width:420px;width:100%;position:relative}.slide-about-form-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.slide-about-form-header h2{margin:0}.slide-about-form-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-muted);padding:0 .25rem}.slide-about-form-close:hover{color:var(--text)}.slide-about-form .slide-about-label{display:block;margin-bottom:.35rem;font-weight:500;font-size:.9rem}.slide-about-textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-btn);font-family:inherit;font-size:.95rem;resize:vertical;min-height:100px;background:var(--bg);color:var(--text);margin-bottom:1rem}.slide-about-textarea:focus{outline:none;border-color:var(--border-focus)}.slide-about-check-wrap{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;cursor:pointer;font-size:.9rem}.slide-about-check-wrap input[type=checkbox]{width:1.1rem;height:1.1rem}.slide-about-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-btn);font-size:.95rem;background:var(--bg);color:var(--text);margin-bottom:1rem}.slide-about-input:focus{outline:none;border-color:var(--border-focus)}.slide-about-error{margin:0 0 .75rem;color:var(--danger);font-size:.9rem}.slide-about-form-actions{display:flex;gap:.75rem;justify-content:flex-end}.slide-about-sent{margin:0;color:var(--accent);font-weight:500}.slide-about-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.slide-about-buy-tea-trigger{display:flex;align-items:center;gap:.25rem}.slide-about-buy-tea-chevron{font-size:.75rem;opacity:.8}.slide-about-buy-tea-expanded{margin-top:.75rem;padding:.75rem 1rem;background:#ffffff80;border-radius:var(--radius-btn);border:1px solid var(--border)}.slide-about-buy-tea-expanded p{margin:0 0 .5rem;font-size:.95rem;color:var(--text);line-height:1.5}.slide-about-buy-tea-link{color:var(--accent);font-weight:600;text-decoration:none}.slide-about-buy-tea-link:hover{text-decoration:underline}.slide-about-settings-row{margin-top:1rem}.slide-about-setting-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;margin-bottom:.25rem}.slide-about-setting-row-notifications{flex-direction:column;align-items:stretch}.slide-about-setting-row-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.slide-about-setting-hint{font-size:.85rem;color:var(--text-muted);margin:.25rem 0 0;padding:0 .75rem 0 0}.slide-about-hide-tabs{padding:0 .75rem .5rem}.slide-about-hide-tabs-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.slide-about-hide-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.slide-about-hide-tabs-name{font-weight:600;color:var(--text)}.slide-about-notifications-status{font-size:.9rem;color:var(--text-muted);text-align:right;flex:1;min-width:0}.slide-about-notifications-status-label{font-weight:500;color:var(--text-muted)}.slide-about-notifications-status strong{font-weight:700}.slide-about-notifications-status--granted strong{color:#1b7a3c}.slide-about-notifications-status--denied strong{color:#b42318}.slide-about-notifications-status--pending strong{color:var(--text)}.slide-about-setting-label{font-weight:600;color:var(--text)}.slide-about-lang-buttons{display:flex;gap:.35rem}.slide-about-lang-buttons .btn{background:var(--bg);border:2px solid var(--border);color:var(--text-muted)}.slide-about-lang-buttons .btn:hover{border-color:var(--accent);color:var(--text)}.slide-about-lang-buttons .btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;box-shadow:var(--shadow)}.slide-about-credits-trigger,.slide-about-tutorial-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .75rem;border:none;background:none;font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left;border-radius:var(--radius-btn);transition:background .2s}.slide-about-tutorial-trigger:hover{background:var(--card-hover)}.slide-about-guided-tour{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.45rem}.slide-about-start-tutorial{align-self:flex-start;margin-top:.25rem}.slide-about-tutorial{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.slide-about-tutorial-steps-heading{margin:.75rem 0 .4rem;font-size:.95rem;font-weight:700;color:var(--text)}.slide-about-tutorial-steps{margin:0 0 .65rem;padding-left:1.35rem}.slide-about-tutorial-step{margin-bottom:.65rem;padding-left:.15rem;line-height:1.45}.slide-about-tutorial-step-title{display:block;font-weight:600;font-size:.88rem;color:var(--text);margin-bottom:.2rem}.slide-about-tutorial-step-list{margin:0;padding-left:1.1rem;font-size:.82rem;color:var(--text-muted)}.slide-about-tutorial-step-list li{margin-bottom:.2rem}.slide-about-tutorial-topics-hint{margin:.5rem 0 .35rem;font-size:.82rem;font-weight:600;color:var(--text-muted)}.slide-about-tutorial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem}.slide-about-tutorial-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-btn);padding:.65rem .75rem}.slide-about-tutorial-card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.slide-about-tutorial-card-head h3{margin:0;font-size:.95rem;color:var(--text)}.slide-about-tutorial-icon{width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--card-hover);font-size:.95rem}.slide-about-tutorial-list{margin:.25rem 0 .5rem;padding-left:1.25rem;font-size:.85rem;color:var(--text-muted);line-height:1.6}.slide-about-tutorial-visual{display:block;border-radius:8px;background:linear-gradient(135deg,#2563eb1f,#0ce39a1f);border:1px dashed var(--border);color:var(--text);font-size:.8rem;font-weight:600;padding:.45rem .6rem}.slide-about-credits-trigger:hover{background:var(--card-hover)}.slide-about-credits-chevron{font-size:.75rem;color:var(--text-muted)}.slide-about-credits{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.slide-about-credits-intro{margin:0 0 .5rem;font-size:.85rem;color:var(--text-muted)}.slide-about-credits-list{margin:0;padding-left:1.25rem;font-size:.8rem;color:var(--text-muted);line-height:1.6}.slide-about-credits-list li{margin-bottom:.2rem}.slide-about-admin-link{display:block;margin-top:.75rem;font-size:.8rem;color:var(--text-muted)}.slide-about-admin-link:hover{color:var(--accent)}@media (max-width: 640px){.slide-about{max-width:100%}.slide-about-credits-trigger,.slide-about-setting-row{min-height:48px;padding:.75rem 1rem}.slide-about-lang-buttons .btn{min-height:40px;padding:.5rem .75rem}.slide-about-form-card{max-width:100%;margin:.5rem}.slide-about-overlay{padding:2rem .5rem .5rem;align-items:flex-start}}.layout-hint{margin:0 0 1rem;font-size:.85rem;color:var(--text-muted);line-height:1.5;padding:.5rem .75rem;background:var(--card);border-radius:var(--radius-btn);border-left:3px solid var(--accent)}.slide-content{min-height:320px}@media (max-width: 640px){.slide-content{min-height:280px;overflow-x:hidden}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}@media (max-width: 640px){.card{padding:1rem;margin-bottom:.75rem}.card h2{font-size:1rem}}.card:hover{box-shadow:var(--shadow)}.card h2{margin:0 0 .75rem;font-size:1.05rem;font-weight:600;color:var(--text)}.input{width:100%;padding:.6rem .9rem;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--card);color:var(--text);font-size:.95rem;margin-bottom:.6rem;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.input::placeholder{color:var(--text-muted)}.btn{padding:.55rem 1.1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-btn);font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--accent-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn-ghost:hover{background:var(--accent-light)}.btn-ghost:disabled{opacity:.5}.btn-sm{padding:.4rem .85rem;font-size:.85rem;font-weight:600}@media (max-width: 640px){.btn{min-height:44px;padding:.6rem 1rem}.btn-sm{min-height:40px;padding:.5rem .75rem}.input{min-height:44px;padding:.65rem .85rem;font-size:16px}}.btn-delete{background:transparent;color:var(--danger);border:none;font-size:1.25rem;cursor:pointer;padding:.25rem .4rem;line-height:1;border-radius:6px;transition:background .2s,color .2s}.btn-delete:hover{background:var(--danger-light);color:var(--danger)}.empty-hint{color:var(--text-muted);font-size:.9rem}.xp-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.xp-bar-xp{font-size:.95rem;font-weight:700;color:var(--xp)}.header .xp-bar-xp{color:#fde047}.header .btn-ghost{color:#fff;border-color:#fffc}.header .btn-ghost:hover{background:#fff3;border-color:#fff;color:#fff}.slime-preview-page{min-height:100vh;padding:1.5rem;background:linear-gradient(180deg,var(--blue-dark) 0%,var(--blue-mid) 35%,var(--blue-normal) 100%);color:#fff;display:flex;flex-direction:column;align-items:center}.slime-preview-header{text-align:center;margin-bottom:1rem}.slime-preview-header h1{margin:0 0 .25rem;font-size:1.5rem}.slime-preview-done{margin:0;font-size:.9rem;opacity:.9}.slime-preview-canvas-wrap{position:relative;width:100%;max-width:900px;height:520px;min-height:420px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.slime-preview-canvas-wrap canvas{display:block;width:100%;height:100%}.slime-preview-zoom-btns{position:absolute;top:.75rem;right:.75rem;z-index:10;display:flex;flex-direction:column;gap:.25rem}.slime-preview-zoom-btn{width:44px;height:44px;border-radius:var(--radius-btn);border:2px solid var(--border);background:var(--card);color:var(--text);font-size:1.4rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;line-height:1}.slime-preview-zoom-btn:hover{background:var(--card-hover)}.slime-preview-labels{display:flex;justify-content:space-between;gap:.5rem;margin-top:.75rem;width:100%;max-width:900px;padding:0 .25rem}.slime-preview-label{flex:1;text-align:center;font-size:.7rem;line-height:1.3;opacity:.95}.slime-preview-back{margin:1.5rem 0 0}.slime-preview-back a{color:var(--blue-light);text-decoration:none}.slime-preview-back a:hover{text-decoration:underline}.admin-page{min-height:100vh;padding:.75rem;background:linear-gradient(180deg,var(--blue-mid, #1e3a5f) 0%,var(--blue-normal, #2563eb) 100%)}.admin-wrap{width:100%;max-width:none;min-height:calc(100vh - 1.5rem);margin:0;background:#f0f7ff;border-radius:12px;padding:1rem;box-shadow:0 4px 20px #0003;box-sizing:border-box}.admin-wrap-login{max-width:360px;margin:8vh auto 0;min-height:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.admin-header h1{margin:0;font-size:1.35rem;color:#1e3a5f}.admin-header-actions{display:flex;align-items:center;gap:1rem}.admin-back{color:#2563eb;text-decoration:none;font-size:.95rem}.admin-back:hover{text-decoration:underline}.admin-btn-outline{background:transparent!important;color:#475569!important;border:1px solid #64748b!important}.admin-btn-outline:hover{background:#64748b26!important;color:#334155!important}.admin-section{margin-bottom:0;background:#ffffffa6;border:1px solid #dbeafe;border-radius:10px;padding:.85rem;min-height:0}.admin-sections-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem}.admin-section-welcome{grid-column:1 / -1}.admin-section-users,.admin-section-contact{max-height:calc(100vh - 15rem);overflow:auto}.admin-section h2{margin:0 0 .75rem;font-size:1.1rem;color:#1e3a5f}.admin-welcome-hint{margin:0 0 .5rem;font-size:.9rem;color:#64748b}.admin-welcome-row{display:flex;flex-direction:column;gap:.75rem;max-width:560px}.admin-welcome-textarea{width:100%;min-height:100px;padding:.6rem .75rem;font-size:.95rem;font-family:inherit;border:1px solid #cbd5e1;border-radius:8px;resize:vertical}.admin-welcome-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.admin-toolbar{margin-bottom:1rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.admin-toolbar-logout{margin-left:auto}.admin-btn{padding:.5rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600}.admin-btn:hover{background:#1d4ed8}.admin-btn-sm{padding:.25rem .5rem;font-size:.8rem}.admin-btn-msg{background:#059669}.admin-btn-msg:hover{background:#047857}.admin-count{font-size:.9rem;color:#475569}.admin-loading,.admin-empty{padding:2rem;text-align:center;color:#64748b}.admin-err{color:#dc2626;padding:1rem;margin:0}.admin-table-wrap{overflow-x:auto;max-width:100%}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.admin-table th,.admin-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.admin-table th{background:#2563eb;color:#fff;font-weight:600;font-size:.85rem}.admin-table tr:hover{background:#f8fafc}.admin-table .col-date{width:160px;font-size:.85rem;color:#64748b}.admin-table .col-email{width:220px}.admin-table .col-stats{width:70px;text-align:center;font-weight:600}.admin-table .col-actions{width:3rem;min-width:3rem;text-align:right;vertical-align:middle}.admin-delete-link{text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center}.admin-btn-delete{background:transparent;border:none;color:#94a3b8;font-size:1.35rem;cursor:pointer;padding:.4rem .5rem;min-width:36px;min-height:36px;line-height:1;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.admin-btn-delete:hover{color:#dc2626;background:#fee2e2}.admin-table .col-msg-cell{max-width:200px}.admin-table .anon{font-style:italic;color:#94a3b8}.admin-user-msgs{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.4rem}.admin-user-msg{display:flex;align-items:flex-start;gap:.35rem;font-size:.85rem;padding:.35rem .5rem;background:#e2e8f0;border-radius:6px}.admin-user-msg-date{flex-shrink:0;font-size:.75rem;color:#64748b}.admin-user-msg-text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}.admin-btn-delete-sm{flex-shrink:0;background:transparent;border:none;color:#94a3b8;font-size:1.1rem;cursor:pointer;padding:0 .2rem;line-height:1;border-radius:4px}.admin-btn-delete-sm:hover{color:#dc2626}.msg-inline{display:flex;flex-direction:column;gap:.4rem}.msg-inline-ta{width:100%;min-width:140px;padding:.35rem;font-size:.85rem;border:1px solid #cbd5e1;border-radius:4px;font-family:inherit;resize:vertical}.user-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.user-actions label{font-size:.8rem;color:#64748b}.user-actions input[type=number]{width:3.5rem;padding:.25rem .35rem;border:1px solid #cbd5e1;border-radius:4px;font-size:.85rem}.user-actions .action-group{display:inline-flex;align-items:center;gap:.25rem}.admin-login-wrap{padding:.5rem 0}.admin-login-wrap h1{margin:0 0 1rem;font-size:1.25rem;color:#1e3a5f}.admin-form-group{margin-bottom:1rem}.admin-form-group label{display:block;margin-bottom:.35rem;font-weight:500;font-size:.9rem}.admin-form-group input[type=password]{width:100%;padding:.6rem .75rem;border:1px solid #7aa6e8;border-radius:8px;font-size:1rem}.admin-form-group input[type=password]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.admin-login-wrap .admin-btn{width:100%;padding:.6rem 1rem;font-size:1rem}.admin-login-wrap .admin-err{margin-top:.75rem;font-size:.9rem}@media (max-width: 1100px){.admin-sections-grid{grid-template-columns:1fr}.admin-section-users,.admin-section-contact{max-height:none}}
