.auth-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--accent);overflow:hidden}.auth-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem 2rem;gap:.4rem}.auth-clock{filter:drop-shadow(0 6px 18px rgba(0,0,0,.2));line-height:0}.auth-title{font-size:2.2rem;font-weight:800;color:#fff;margin:0;letter-spacing:-.01em}.auth-subtitle{font-size:1rem;color:#ffffffbf;margin:0}.auth-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;padding:2rem 1.5rem 2.5rem;display:flex;flex-direction:column;gap:0;overflow-y:auto}.auth-form{display:flex;flex-direction:column;gap:0}.auth-error{background:#e53e3e14;border:1px solid rgba(229,62,62,.3);color:#c53030;border-radius:var(--radius-sm);padding:.65em 1em;margin-bottom:1rem;font-size:.9rem}.auth-switch{text-align:center;margin-top:1.1rem;font-size:.9rem;color:var(--text-dim)}.auth-switch a{color:var(--accent-2);text-decoration:none;font-weight:600}.auth-switch a:hover{text-decoration:underline}.dashboard-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--accent)}.dashboard-hero{flex-shrink:0;position:relative;display:flex;justify-content:center;align-items:center;height:10.95rem;padding-bottom:.15rem}.dashboard-account-btn{position:absolute;top:.65rem;right:1rem;background:#ffffff40!important;border-color:#fff6!important;color:#fff!important}.dashboard-account-btn:hover:not(:disabled){background:#ffffff59!important;color:#fff!important}.dashboard-clock-wrap{filter:drop-shadow(0 4px 16px rgba(0,0,0,.18));border-radius:50%}.dashboard-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;padding:1.5rem 1.25rem 2rem;max-width:100%}.dashboard-panel-inner{max-width:640px;margin:0 auto}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:1rem}.profile-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.5rem 1rem 1.1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;position:relative;transition:box-shadow .2s,transform .15s,border-color .2s;text-align:center;min-height:130px;border-top:4px solid var(--profile-color, var(--accent));box-shadow:var(--shadow-card);-webkit-tap-highlight-color:transparent}.profile-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.profile-card:active{transform:scale(.97) translateY(0);box-shadow:var(--shadow-card)}.profile-card--add{border-style:dashed;border-top-style:dashed;border-top-width:1.5px;background:transparent;color:var(--text-dim);box-shadow:none}.profile-card--add:hover{color:var(--text);border-color:var(--accent);box-shadow:none}.profile-card--form{cursor:default;align-items:stretch;padding:1rem;min-height:unset}.profile-card--form:hover{transform:none;box-shadow:var(--shadow-card)}.profile-emoji{font-size:2.5rem;line-height:1}.profile-name{font-size:1rem;font-weight:700;color:var(--text);word-break:break-word}.profile-emoji-row{position:relative;display:flex;align-items:center;justify-content:center}.profile-active-indicators{position:absolute;left:calc(100% + 2px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px}.profile-active-icon{display:block;opacity:.75}.profile-active-icon--challenge,.profile-active-icon--timer{color:var(--profile-color, var(--accent))}.profile-name-input{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.5em;width:100%;font-size:1rem;margin-bottom:.5rem;transition:border-color .15s}.profile-name-input:focus{outline:none;border-color:var(--accent)}.profile-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.invites-section{margin-bottom:1.5rem}.invites-list{display:flex;flex-direction:column;gap:.75rem}.invite-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:4px solid var(--invite-color, var(--accent));box-shadow:var(--shadow-card)}.invite-info{display:flex;align-items:center;gap:.75rem;min-width:0}.invite-emoji{font-size:1.75rem;line-height:1;flex-shrink:0}.invite-details{display:flex;flex-direction:column;min-width:0}.invite-profile-name{font-weight:700;font-size:1rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-from{font-size:.8rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-actions{display:flex;gap:.5rem;flex-shrink:0}.profile-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--profile-color, var(--accent))}.profile-nav{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;flex-shrink:0;gap:.5rem}.profile-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.profile-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.profile-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.profile-hero-emoji{font-size:3rem;line-height:1}.profile-hero-name{font-size:1.5rem;font-weight:800;color:#fff;text-align:center}.profile-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.profile-panel-inner{max-width:640px;margin:0 auto}.challenge-list{display:flex;flex-direction:column;gap:.75rem}.challenge-card{background:var(--bg-card);border:1.5px solid var(--border);border-left:4px solid var(--ch-color, var(--accent));border-radius:var(--radius);padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:var(--text);box-shadow:var(--shadow-card);transition:box-shadow .18s,transform .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.challenge-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-1px);border-color:var(--ch-color, var(--accent))}.challenge-card:active{transform:scale(.98);box-shadow:var(--shadow-card)}.challenge-card--add{border-style:dashed;border-left-style:dashed;border-left-width:1.5px;border-left-color:var(--profile-color, var(--accent));cursor:pointer;justify-content:flex-start;gap:.75rem;color:var(--text-dim);box-shadow:none;background:transparent}.challenge-card--add:hover{color:var(--text);border-color:var(--profile-color, var(--accent));box-shadow:none;transform:none}.challenge-card-left{display:flex;align-items:center;gap:.75rem;min-width:0}.challenge-card-tap{background:none;border:none;cursor:pointer;text-align:left;color:inherit;padding:0;flex:1;min-width:0;-webkit-tap-highlight-color:transparent}.challenge-emoji{font-size:1.7rem;flex-shrink:0}.challenge-info{display:flex;flex-direction:column;min-width:0}.challenge-name{font-weight:700;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.challenge-meta{font-size:.78rem;color:var(--text-dim)}.challenge-card-actions{display:flex;gap:.4rem;flex-shrink:0}.challenge-card .btn-primary{background:var(--ch-color, var(--accent));box-shadow:var(--shadow-btn)}.challenge-card .btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--ch-color, var(--accent)) 85%,#000)}.cdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b188c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:cdm-fade-in .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes cdm-fade-in{0%{opacity:0}to{opacity:1}}.cdm-card{background:var(--bg-card);border:1.5px solid var(--border);border-top:4px solid var(--danger);border-radius:var(--radius);padding:2rem 1.75rem;max-width:420px;width:100%;display:flex;flex-direction:column;gap:1rem;box-shadow:0 8px 40px #0000001f;animation:cdm-slide-up .18s cubic-bezier(.34,1.56,.64,1)}@keyframes cdm-slide-up{0%{transform:translateY(16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cdm-icon{font-size:2.5rem;text-align:center}.cdm-title{margin:0;font-size:1.25rem;font-weight:800;color:var(--text);text-align:center}.cdm-message{margin:0;font-size:.9rem;color:var(--text-dim);text-align:center;line-height:1.6}.cdm-confirm-row{display:flex;flex-direction:column;gap:.4rem}.cdm-label{font-size:.82rem;color:var(--text-dim);font-weight:500}.cdm-word{color:var(--danger);font-style:normal;font-weight:700}.cdm-input{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.65em .9em;width:100%;font-size:1rem;transition:border-color .15s,box-shadow .15s}.cdm-input:focus{outline:none;border-color:var(--danger);box-shadow:0 0 0 3px #e53e3e1f}.cdm-actions{display:flex;gap:.75rem;flex-direction:row-reverse}.cdm-actions .btn{flex:1}.pe-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--profile-color, var(--accent))}.pe-nav{display:flex;align-items:center;padding:.65rem 1rem;flex-shrink:0;gap:.75rem}.pe-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.pe-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.pe-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.pe-hero-emoji{font-size:3rem;line-height:1}.pe-hero-title{font-size:1.5rem;font-weight:800;color:#fff;margin:0}.pe-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.pe-panel-inner{max-width:580px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.pe-section{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-card)}.pe-success{background:#4a7c5914;border:1.5px solid rgba(74,124,89,.3);color:#3a6147;border-radius:var(--radius-sm);padding:.6em 1em;font-size:.9rem;font-weight:500}.pe-hint{margin:0;font-size:.85rem;color:var(--text-dim);line-height:1.5}.pe-no-members{color:var(--text-dim);font-size:.9rem;padding:.5rem 0}.pe-members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pe-member-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .9rem;gap:1rem}.pe-member-email{font-size:.9rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pe-invite-row{display:flex;gap:.5rem;align-items:center;margin-top:.25rem}.pe-invite-input{flex:1;background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.55em .9em;font-size:.9rem;transition:border-color .15s;min-width:0}.pe-invite-input:focus{outline:none;border-color:var(--accent)}.pe-section--danger{border-color:#e53e3e40;background:#e53e3e05}.account-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--accent)}.account-nav{display:flex;align-items:center;padding:.65rem 1rem;flex-shrink:0;gap:.75rem}.account-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.account-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.account-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.account-hero-icon{font-size:3rem;line-height:1}.account-hero-title{font-size:1.5rem;font-weight:800;color:#fff;margin:0}.account-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.account-panel-inner{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.account-section{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card)}.account-section--danger{border-color:#e53e3e40;background:#e53e3e05}.account-success{background:#4a7c5914;border:1.5px solid rgba(74,124,89,.3);color:#3a6147;border-radius:var(--radius-sm);padding:.6em 1em;font-size:.9rem;margin-bottom:1rem;font-weight:500}.account-email-row{font-size:.85rem;color:var(--text-dim);text-align:center;word-break:break-all;padding:0 0 .25rem}.account-signout-hint{margin:0 0 1rem;font-size:.875rem;color:var(--text-dim)}.editor-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--ch-color, var(--accent))}.editor-nav{display:flex;align-items:center;padding:.65rem 1rem;flex-shrink:0;gap:.75rem}.editor-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.editor-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.editor-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.editor-hero-emoji{font-size:3rem;line-height:1}.editor-hero-title{font-size:1.5rem;font-weight:800;color:#fff;margin:0}.editor-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.editor-panel-inner{max-width:640px;margin:0 auto}.editor-form{margin-bottom:2rem}.schedule-row{align-items:flex-start}.weekday-toggles{display:flex;flex-direction:column;gap:.4rem}.weekday-toggle{display:flex;align-items:center;padding:.55rem .9rem;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-input);color:var(--text-dim);font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.weekday-toggle:hover{border-color:var(--accent);color:var(--text)}.weekday-toggle--on{background:var(--accent);border-color:var(--accent);color:#fff}.weekday-toggle--on:hover{background:var(--accent-h);border-color:var(--accent-h);color:#fff}.tasks-section{border-top:1.5px solid var(--border);padding-top:1.5rem}.task-list{display:flex;flex-direction:column;gap:.5rem}.task-item{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;box-shadow:0 1px 4px #0000000d;transition:border-color .15s,box-shadow .15s}.task-item:hover{border-color:var(--accent);box-shadow:0 2px 8px #00000014}.task-item.dragging{opacity:.5;border-color:var(--accent)}.task-item--sentinel{background:transparent;border-style:dashed;color:var(--text-dim);font-size:.9rem;cursor:default;box-shadow:none}.task-sentinel-label{font-weight:600}.task-drag-handle{color:var(--text-dim);cursor:grab;font-size:1.1rem;flex-shrink:0;padding:.25rem .35rem;touch-action:none;-webkit-user-select:none;user-select:none;opacity:.5;transition:opacity .15s}.task-drag-handle:hover{opacity:1}.task-row-wrap{display:flex;flex-direction:column;gap:0}.task-drop-line{height:3px;margin:2px 0;background:var(--accent);border-radius:2px;box-shadow:0 0 6px #f59e0b66;animation:task-drop-line-in .1s ease-out}@keyframes task-drop-line-in{0%{transform:scaleX(.5);opacity:0}to{transform:scaleX(1);opacity:1}}.task-name-input{flex:1;background:transparent;border:none;color:var(--text);font-size:1rem;padding:.2rem 0}.task-name-input:focus{outline:none}.task-delete{background:none;border:none;color:var(--text-dim);font-size:1.1rem;cursor:pointer;padding:.25rem .4rem;border-radius:6px;flex-shrink:0;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent}.task-delete:hover{color:var(--danger);background:#e53e3e14}.task-delete:active{transform:scale(.9)}.task-add-row{display:flex;align-items:center;gap:.5rem;background:var(--bg-input);border:1.5px dashed var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem}.task-add-row .task-name-input{background:transparent}.danger-zone{margin-top:2.5rem}.danger-zone-title{color:var(--danger)}.danger-zone-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1.5px solid rgba(229,62,62,.3);border-radius:var(--radius);background:#e53e3e0a}.danger-zone-info{min-width:0;flex:1}.danger-zone-info strong{display:block;margin-bottom:.2rem;color:var(--text)}.danger-zone-info .field-hint{margin:0}@media (max-width: 480px){.danger-zone-card{flex-direction:column;align-items:stretch}}.cw-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--ch-color, var(--accent))}.cw-nav{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;flex-shrink:0;gap:.5rem}.cw-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.cw-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.cw-nav-actions{display:flex;gap:.4rem}.cw-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.cw-hero-emoji{font-size:3rem;line-height:1}.cw-hero-name{font-size:1.5rem;font-weight:800;color:#fff;text-align:center}.cw-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;padding:1.25rem 1rem 2rem}.cw-panel-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.cw-week-label{text-align:center;font-size:.82rem;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.cw-chart-wrap{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1rem .5rem 0;display:flex;flex-direction:column;box-shadow:var(--shadow-card)}.cw-chart-plot{position:relative;width:100%}.cw-plot-cols{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;gap:0}.cw-rev-line{position:absolute;left:0;right:0;height:1px;border-top:2px dashed var(--ch-color, var(--accent));opacity:.55;pointer-events:none;z-index:2}.cw-rev-label{position:absolute;right:.2rem;font-size:.68rem;font-weight:700;color:var(--ch-color, var(--accent));opacity:.8;pointer-events:none;line-height:1;z-index:2}.cw-labels-row{display:flex;gap:0;width:100%}.cw-labels-row .cw-day-label{flex:1}.cw-columns{display:flex;align-items:flex-end;gap:0;width:100%}.cw-day-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:0;background:none;border:none;cursor:pointer;padding:0 2px;border-radius:var(--radius-sm);transition:background .15s}.cw-day-col--plot{height:100%;justify-content:flex-end}.cw-day-col:active,.cw-day-col--selected{background:#0000000a}.cw-day-col--today .cw-day-name,.cw-day-label--today .cw-day-name{color:var(--ch-color, var(--accent));font-weight:800}.cw-day-label--selected{background:#0000000a;border-radius:var(--radius-sm)}.cw-bar-area{width:100%;display:flex;align-items:flex-end;justify-content:center}.cw-bar-stack{width:80%;max-width:36px;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden;gap:1px}.cw-bar-seg{width:100%;min-height:2px;transition:opacity .15s}.cw-day-col--selected .cw-bar-seg{opacity:1}.cw-day-col:not(.cw-day-col--selected) .cw-bar-seg{opacity:.85}.cw-bar-empty{width:80%;max-width:36px;height:4px;background:var(--border);border-radius:2px;opacity:.5}.cw-day-label{min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 0}.cw-day-name{font-size:.72rem;font-weight:600;color:var(--text-dim)}.cw-day-check{font-size:.65rem;color:var(--accent-2);font-weight:800}.cw-day-miss{font-size:.7rem;color:var(--border)}.cw-legend{display:flex;flex-direction:column;gap:.5rem;padding:0 .25rem}.cw-legend-item{display:flex;align-items:center;gap:.35rem}.cw-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cw-legend-name{font-size:.8rem;color:var(--text-dim)}.cw-detail{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}.cw-detail-header{padding:.75rem 1rem;font-size:.9rem;font-weight:700;border-bottom:1.5px solid var(--border);color:var(--text)}.cw-detail-rows{display:flex;flex-direction:column}.cw-detail-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid rgba(0,0,0,.05)}.cw-detail-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cw-detail-task{flex:1;font-size:.9rem;color:var(--text-dim)}.cw-detail-time{font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.cw-detail-total{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;font-weight:800;font-size:1rem;border-top:1.5px solid var(--border);background:#00000005}.cw-result{padding:.5rem 1rem;font-size:.82rem;font-weight:700;text-align:center}.cw-result--success{color:var(--accent-2);background:#4a7c5914}.cw-result--over{color:#c53030;background:#e53e3e14}.cw-detail-empty{padding:1.5rem 1rem;text-align:center;color:var(--text-dim);font-size:.9rem}.cw-start-cta{display:flex;justify-content:center}.cw-start-btn{width:100%;max-width:360px;padding:.9rem 1.2rem;font-size:1.05rem;font-weight:700;background:var(--ch-color, var(--accent));color:#fff}.cw-start-btn:hover:not(:disabled){opacity:.9}.cw-live-btn{background:var(--danger);color:#fff;box-shadow:var(--shadow-btn)}.cw-live-btn:hover:not(:disabled){background:#c53030;opacity:1}.run-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--ch-color, #f59e0b);overflow:hidden}.run-nav{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;gap:.5rem}.run-back{align-self:flex-start}.run-start-btn{margin-left:auto}.run-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.run-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.clocks-area{flex-shrink:0;padding:0 .5rem 1.25rem;display:flex;align-items:flex-end;justify-content:center}.clocks-inner{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:480px}.clock-small{display:flex;flex-direction:column;align-items:center;gap:0;z-index:1;flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}.clock-left{margin-right:-3px}.clock-right{margin-left:-3px}.clock-large{display:flex;flex-direction:column;align-items:center;gap:0;z-index:2;flex-shrink:0;filter:drop-shadow(0 6px 18px rgba(0,0,0,.2))}.clock-label,.clock-prev{display:none}.clock-reset-wrap{display:flex;flex-direction:column;align-items:center;gap:0;transition:transform .2s ease-in,opacity .2s ease-in}.clock-reset-wrap--exit{transform:scale(.82);opacity:0;pointer-events:none}.clock-reset-wrap--enter{animation:clock-enter .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes clock-enter{0%{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}.run-compact-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.run-compact-hero-emoji{font-size:3rem;line-height:1}.run-compact-hero-name{font-size:1.5rem;font-weight:800;color:#fff;text-align:center}.run-panel{flex:1;display:flex;flex-direction:column;min-height:0;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #0000001a;overflow:hidden;position:relative}.run-controls{flex-shrink:0;padding:1.1rem 1rem .85rem;display:flex;flex-direction:column;gap:.7rem;background:#f7f5f0}.run-current-task-header{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center}.run-current-task-name{font-size:1.55rem;font-weight:800;color:var(--text);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:calc(1.55rem * 1.2 * 2);overflow-wrap:anywhere;word-break:break-word;max-width:100%}.run-task-counter{font-size:.8rem;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.04em}.run-action-row{display:flex;gap:.65rem;align-items:stretch}.run-done-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;padding:.85em 1.5em;min-height:58px;background:var(--ch-color, var(--accent));color:#fff;border:none;border-radius:var(--radius-pill);cursor:pointer;letter-spacing:.02em;box-shadow:var(--shadow-btn);transition:box-shadow .15s,transform .08s ease,opacity .15s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.run-done-btn:active:not(:disabled){transform:scale(.94);box-shadow:0 1px 3px #0000001f}.run-done-btn:disabled{opacity:.45;cursor:not-allowed}.run-done-btn--waiting{background:var(--bg-input);color:var(--text-dim);border:1.5px solid var(--border);box-shadow:none;cursor:not-allowed}.run-pause-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:58px;padding:.85em 1.1em;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:transparent;color:var(--text-dim);font-size:.95rem;font-weight:600;flex-shrink:0;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .08s ease;-webkit-tap-highlight-color:transparent}.run-pause-btn:hover:not(:disabled){background:var(--bg-input);color:var(--text);border-color:#c8c0b6}.run-pause-btn:active:not(:disabled){transform:scale(.94)}.run-pause-btn:disabled{opacity:.4;cursor:not-allowed}.run-pause-btn--active{border-color:#f59e0b;color:#d97706;background:#f59e0b14}.run-wide-resume-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:58px;padding:.85em 1.1em;border-radius:var(--radius-pill);border:2px solid #f59e0b;background:#f59e0b1a;color:var(--text);font-size:1.05rem;font-weight:700;cursor:pointer;animation:wait-pulse 2s ease-in-out infinite;-webkit-tap-highlight-color:transparent;transition:transform .08s ease}.run-wide-resume-btn:active:not(:disabled){transform:scale(.96);animation:none}.run-wide-resume-btn:disabled{opacity:.6;cursor:default;animation:none}@keyframes wait-pulse{0%,to{border-color:#f59e0b;box-shadow:0 0 #f59e0b00}50%{border-color:#fbbf24;box-shadow:0 0 0 5px #f59e0b1f}}.scrubber-panel{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.6rem;animation:scrubber-in .15s ease}@keyframes scrubber-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.scrubber-label{font-size:.82rem;font-weight:600;color:var(--text-dim);text-align:center;min-height:1.2em}.scrubber-slider{width:100%;cursor:pointer;margin:.6rem 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--border);outline:none}.scrubber-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;border-radius:50%;background:var(--ch-color, var(--accent));cursor:pointer;box-shadow:0 2px 8px #0000002e;border:3px solid #fff}.scrubber-slider::-moz-range-thumb{width:36px;height:36px;border-radius:50%;background:var(--ch-color, var(--accent));cursor:pointer;box-shadow:0 2px 8px #0000002e;border:3px solid #fff}.scrubber-actions{display:flex;gap:.5rem;justify-content:center}.run-timeline-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:var(--bg-input)}.run-progress-bar{display:flex;gap:4px;padding:.6rem 1rem 1.1rem;align-items:stretch;flex-shrink:0;width:100%;background:#f7f5f0}.run-progress-seg{flex:1 1 0;min-width:0;height:7px;border-radius:4px;background:color-mix(in srgb,var(--ch-color, var(--accent)) 20%,#f7f5f0);transform-origin:left center}.run-progress-seg--done{animation:seg-pop .42s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes seg-pop{0%{transform:scaleX(0);background:var(--seg-color, var(--ch-color, var(--accent)))}60%{transform:scaleX(1.06);background:var(--seg-color, var(--ch-color, var(--accent)))}to{transform:scaleX(1);background:var(--seg-color, var(--ch-color, var(--accent)))}}.run-task-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem .9rem 1rem;display:flex;flex-direction:column;gap:.3rem}.run-task-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1.5px solid transparent;min-height:44px;transition:opacity .3s ease,transform .3s ease,background .15s,border-color .15s;background:transparent}.run-task-item--done{opacity:.45;transform:translate(-3px)}.run-task-item--current{border-color:var(--ch-color, var(--accent));background:#f7f5f0;opacity:1;transform:none;box-shadow:0 1px 6px #00000012;animation:task-activate .38s cubic-bezier(.34,1.56,.64,1)}@keyframes task-activate{0%{transform:scale(.97) translate(0);opacity:.7}to{transform:scale(1) translate(0);opacity:1}}.run-task-item--pending{opacity:.5;border-style:dashed;border-color:#ddd8d0}.run-task-check{color:var(--accent-2);font-size:.9rem;width:1.1rem;flex-shrink:0;text-align:center;font-weight:700}.run-task-current-dot{width:7px;height:7px;border-radius:50%;background:var(--ch-color, var(--accent));flex-shrink:0}.run-task-name{flex:1;font-size:.92rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.run-task-duration{font-size:.78rem;color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0}.task-drag-handle{font-size:1.1rem;color:var(--text-dim);cursor:grab;padding:.15rem .25rem;flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none;opacity:.5;transition:opacity .15s}.task-drag-handle:active{cursor:grabbing}.run-task-item--pending:hover .task-drag-handle,.run-task-item--current:hover .task-drag-handle{opacity:.9}.run-task-row-wrap{display:flex;flex-direction:column;gap:0}.run-task-row-wrap--last-done{border:1.5px solid #e8e2d8;background:#f7f5f0;border-radius:var(--radius);padding:.2rem .4rem .5rem;gap:.1rem;box-shadow:0 1px 6px #0000000f}.run-task-row-wrap--last-done .run-task-item--done{opacity:.85;transform:none;border:none;padding-bottom:.25rem}.run-task-inline-actions{display:flex;gap:.4rem;padding:0 .15rem 0 1.65rem}.scrubber-panel--inline{margin:.3rem .1rem .1rem}.run-drop-line{height:3px;margin:2px 0;background:var(--ch-color, var(--accent));border-radius:2px;box-shadow:0 0 6px color-mix(in srgb,var(--ch-color, var(--accent)) 60%,transparent);animation:drop-line-in .1s ease-out}@keyframes drop-line-in{0%{transform:scaleX(.5);opacity:0}to{transform:scaleX(1);opacity:1}}.run-task-item--dragging{opacity:.3}.run-finished{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:.75rem 1rem .9rem;text-align:center;flex-shrink:0;background:#f7f5f0;border-bottom:1.5px solid #e8e2d8}.run-finished-title{font-size:1.35rem;font-weight:800;color:var(--text)}.run-finished-time{font-size:1rem;color:var(--text-dim)}.run-finished-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.clocks-area--idle{justify-content:center;align-items:center}.run-idle-emoji-top{font-size:5rem;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.run-idle-task-count{padding:.9rem 1rem .5rem;font-size:.85rem;font-weight:600;color:var(--text-dim);text-align:center}.run-footer{text-align:center;padding:.6rem 1rem;font-size:.85rem;color:var(--text-dim);font-weight:600;flex-shrink:0;background:#f7f5f0}.run-page>.error-banner{margin:0 1rem .5rem;background:#ffffffd9;border-color:#e53e3e66;color:#c53030}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0;animation:live-pulse 1.4s ease-out infinite}.htc-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.4rem .85rem;border-radius:var(--radius-pill);border:1.5px solid rgba(255,255,255,.45);background:#ffffff2e;color:#ffffffe6;font-size:.8rem;font-weight:600;cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:border-color .15s,color .15s,background .15s}.htc-btn:hover:not(:disabled){background:#ffffff47;border-color:#ffffffa6}.htc-btn:disabled{opacity:.4;cursor:not-allowed}.htc-btn--holding{color:#fff;border-color:#fffc}.htc-btn__fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#e53e3eb3;transform-origin:left center;transform:scaleX(0);z-index:0;pointer-events:none}.htc-btn__label{position:relative;z-index:1;white-space:nowrap}.run-cancel{margin-left:auto}.history-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--ch-color, var(--accent))}.history-nav{display:flex;align-items:center;padding:.65rem 1rem;flex-shrink:0;gap:.75rem}.history-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.history-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.history-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.history-hero-emoji{font-size:3rem;line-height:1}.history-hero-title{font-size:1.5rem;font-weight:800;color:#fff;margin:0;text-align:center}.history-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;display:flex;flex-direction:column;overflow:hidden}.history-tabs{display:flex;background:#f7f5f0;border-bottom:1.5px solid var(--border);flex-shrink:0}.tab-btn{flex:1;padding:.85rem 1rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-dim);font-size:.9rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.tab-btn:active{opacity:.7}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent)}.history-list,.records-list{flex:1;overflow-y:auto;padding:1rem 1.25rem 2rem;max-width:640px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:.6rem;box-sizing:border-box}.history-run{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}.history-run-header{display:flex;align-items:center;gap:.75rem;padding:1rem .5rem 1rem 1rem;cursor:pointer;border-left:4px solid var(--ch-color, var(--accent));transition:background .15s;-webkit-tap-highlight-color:transparent}.history-run-header:hover{background:#00000005}.history-run-header:active{background:#0000000a}.run-emoji{font-size:1.5rem;flex-shrink:0}.run-info{flex:1;display:flex;flex-direction:column;min-width:0}.run-challenge-name{font-weight:700;font-size:.95rem;color:var(--text)}.run-date{font-size:.78rem;color:var(--text-dim)}.run-total-time{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;color:var(--text)}.run-row-actions{display:flex;align-items:center;flex-shrink:0}.run-delete-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.35;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:opacity .15s,background .15s;-webkit-tap-highlight-color:transparent}.run-delete-btn:hover{opacity:1;background:#e53e3e14}.run-delete-btn:active{opacity:1;background:#e53e3e29;transform:scale(.92)}.run-expand{color:var(--text-dim);font-size:.85rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-run-detail{border-top:1.5px solid var(--border);padding:.5rem 0;background:var(--bg-card)}.segment-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 1rem;font-size:.88rem;border-bottom:1px solid rgba(0,0,0,.04)}.segment-name{color:var(--text-dim)}.segment-time{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.record-row{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;box-shadow:var(--shadow-card)}.record-emoji{font-size:1.4rem;flex-shrink:0}.record-info{flex:1;display:flex;flex-direction:column}.record-challenge{font-size:.8rem;color:var(--text-dim)}.record-task{font-weight:700;font-size:.95rem;color:var(--text)}.record-time{font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent-2)}.timer-run-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--timer-color, var(--accent))}.timer-nav{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;flex-shrink:0;gap:.5rem}.timer-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.timer-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.timer-clocks-area{flex-shrink:0;padding:0 .5rem 1.25rem;display:flex;align-items:flex-end;justify-content:center}.timer-clocks-inner{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:480px}.timer-clock-side{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;z-index:1;flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}.timer-clock-left{margin-right:-3px}.timer-clock-right{margin-left:-3px}.timer-clock-large{display:flex;flex-direction:column;align-items:center;z-index:2;flex-shrink:0;filter:drop-shadow(0 6px 18px rgba(0,0,0,.2))}.timer-elapsed-label{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:#ffffffe6;text-align:center;padding-bottom:4px;min-width:44px}.timer-elapsed-title{font-size:.62rem;font-weight:600;color:#ffffff8c;text-transform:uppercase;letter-spacing:.06em;text-align:center}.timer-dial-wrap{position:relative;cursor:pointer;filter:drop-shadow(0 6px 18px rgba(0,0,0,.2));touch-action:none;user-select:none;-webkit-user-select:none}.timer-set-label{font-size:.72rem;font-weight:700;color:#ffffffb3;text-transform:uppercase;letter-spacing:.07em;text-align:center;margin-bottom:4px}.timer-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;display:flex;flex-direction:column}.timer-panel-inner{max-width:480px;margin:0 auto;width:100%;display:flex;flex-direction:column}.timer-controls-strip{padding:.85rem 1rem .65rem;display:flex;flex-direction:column;gap:.6rem}.timer-name-header{font-size:1.1rem;font-weight:800;color:var(--text);text-align:center}.timer-hint{font-size:.8rem;color:var(--text-dim);text-align:center;margin:0}.timer-start-btn{width:100%;padding:1rem 1.25rem;font-size:1.35rem;font-weight:900;letter-spacing:.01em;border-radius:var(--radius-pill);background:var(--timer-color, var(--accent));color:#fff;box-shadow:0 4px 16px #0000002e;border:none;cursor:pointer;transition:opacity .15s,transform .08s;-webkit-tap-highlight-color:transparent}.timer-start-btn:hover:not(:disabled){opacity:.9}.timer-start-btn:active:not(:disabled){transform:scale(.97)}.timer-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.25rem}.timer-adjust-btn{width:56px;height:56px;border-radius:50%;background:var(--bg-card);border:1.5px solid var(--border);color:var(--text);font-size:.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-card);transition:background .15s,transform .08s;-webkit-tap-highlight-color:transparent}.timer-adjust-btn:hover{background:var(--bg-input)}.timer-adjust-btn:active{transform:scale(.92)}.timer-done-wrap{flex:1;max-width:280px}.timer-done-wrap .htc-btn{width:100%;padding:1rem 1.2rem;font-size:1.05rem;font-weight:700;border-radius:var(--radius-pill);background:var(--timer-color, var(--accent));color:#fff;box-shadow:var(--shadow-btn);border-color:transparent}.timer-done-wrap .htc-btn:hover:not(:disabled){background:color-mix(in srgb,var(--timer-color, var(--accent)) 85%,#000);border-color:transparent;color:#fff}@keyframes timer-flash{0%,to{opacity:1}50%{opacity:.25}}.timer-finished-msg{text-align:center;font-size:1.1rem;font-weight:700;color:var(--text-dim);padding:1rem 0}.te-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--timer-color, var(--accent))}.te-nav{display:flex;align-items:center;padding:.65rem 1rem;flex-shrink:0;gap:.75rem}.te-nav .btn-ghost{background:#ffffff40;border-color:#fff6;color:#fff}.te-nav .btn-ghost:hover:not(:disabled){background:#ffffff59;color:#fff}.te-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 1rem 1.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.te-hero-emoji{font-size:3rem;line-height:1}.te-hero-title{font-size:1.5rem;font-weight:800;color:#fff;margin:0}.te-panel{flex:1;background:#f7f5f0;border-radius:28px 28px 0 0;box-shadow:0 -4px 24px #00000014;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.te-panel-inner{max-width:580px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.te-section{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-card)}.te-section--danger{border-color:#e53e3e40;background:#e53e3e05}.te-success{background:#4a7c5914;border:1.5px solid rgba(74,124,89,.3);color:#3a6147;border-radius:var(--radius-sm);padding:.6em 1em;font-size:.9rem;font-weight:500}.info-page{min-height:100dvh;display:flex;flex-direction:column}.info-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;background:var(--bg-card);box-shadow:0 1px 0 var(--border),0 2px 8px #0000000a;gap:1rem;position:sticky;top:0;z-index:10}.info-title{margin:0;font-size:1.2rem;font-weight:800}.info-main{flex:1;padding:1.5rem 1.25rem;max-width:640px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.info-section{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card)}.info-section h2{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;color:var(--text-dim)}.info-section p{margin:0 0 .75rem;font-size:.95rem;color:var(--text-dim);line-height:1.7}.info-section p:last-child{margin-bottom:0}.info-section ul,.info-section ol{margin:0 0 .75rem;padding-left:1.4rem;color:var(--text-dim);font-size:.95rem;line-height:1.7}.info-section ul:last-child,.info-section ol:last-child{margin-bottom:0}.info-section li{margin-bottom:.4rem}.info-section li:last-child{margin-bottom:0}.info-section strong{color:var(--text)}.info-section code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;background:var(--bg-input);border-radius:4px;padding:.1em .4em;color:var(--text)}.info-meta{font-size:.8rem;color:var(--text-dim);padding:0 0 1rem;text-align:center}:root{--bg: #f7f5f0;--bg-card: #f7f5f0;--bg-input: #ede9e3;--border: #e2ddd6;--text: #1e1b18;--text-dim: #7c7168;--accent: #95c64f;--accent-h: #7aaa35;--accent-2: #f59e0b;--accent-2-h: #d97706;--danger: #e53e3e;--success: #4a7c59;--font-size-base: 16px;--radius: 20px;--radius-sm: 12px;--radius-pill: 999px;--shadow-card: 0 2px 12px rgba(0,0,0,.07);--shadow-btn: 0 2px 8px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--font-size-base);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh}input,select,textarea{font-size:16px}#root{display:flex;flex-direction:column;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;background:var(--bg)}.auth-page,.dashboard-page,.profile-page,.history-page,.account-page,.pe-page,.editor-page,.cw-page,.run-page,.timer-run-page,.te-page{width:100%;min-height:100dvh;position:relative}@media (min-width: 481px){body{background:#d6d1c9}#root{box-shadow:0 0 0 1px #00000014}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.65em 1.3em;border:none;border-radius:var(--radius-pill);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s,transform .08s ease,box-shadow .15s;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.94);box-shadow:0 1px 3px #0000001a}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--accent-h)}.btn-confirm{background:var(--accent-2);color:#fff;box-shadow:var(--shadow-btn)}.btn-confirm:hover:not(:disabled){background:var(--accent-2-h)}.btn-ghost{background:transparent;color:var(--text-dim);border:1.5px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg-input);color:var(--text);border-color:#c8c0b6}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-btn)}.btn-danger:hover:not(:disabled){opacity:.85}.btn-live{background:#e53e3e;color:#fff;display:inline-flex;align-items:center;gap:.4rem;box-shadow:var(--shadow-btn)}.btn-live:hover:not(:disabled){background:#c53030}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#fff;flex-shrink:0;box-shadow:0 0 #ffffffb3;animation:live-pulse 1.4s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 #ffffffb3}70%{box-shadow:0 0 0 8px #fff0}to{box-shadow:0 0 #fff0}}.btn-sm{padding:.4em .9em;font-size:.875rem}.btn-lg{padding:.9em 2.2em;font-size:1.2rem}.btn-full{width:100%}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.65em .9em;width:100%;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f59e0b26}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:140px}.field-hint{font-size:.8rem;color:var(--text-dim);margin:.2rem 0 0}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;font-size:1.2rem;color:var(--text-dim);background:var(--bg)}.loading{color:var(--text-dim);padding:2rem;text-align:center}.error-banner{background:#e53e3e14;border:1px solid rgba(229,62,62,.3);color:#c53030;border-radius:var(--radius-sm);padding:.7em 1em;margin-bottom:1rem;font-size:.9rem}.section-title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:var(--text)}.empty-state{color:var(--text-dim);text-align:center;padding:3rem 1rem}.emoji-picker{display:flex;flex-wrap:wrap;gap:.3rem}.emoji-option{background:var(--bg-input);border:2px solid transparent;border-radius:8px;font-size:1.4rem;width:2.4rem;height:2.4rem;cursor:pointer;transition:border-color .15s,transform .1s;display:flex;align-items:center;justify-content:center}.emoji-option:active{transform:scale(.92)}.emoji-option.selected{border-color:var(--accent)}.emoji-option--add{color:var(--text-dim);font-size:1.5rem;font-weight:300;border-style:dashed;border-color:var(--border)}.emoji-option--add:hover{color:var(--text);border-color:var(--accent)}.emoji-custom-input{background:var(--bg-input);border:2px solid var(--accent);border-radius:8px;color:var(--text);font-size:1.2rem;padding:0 .5rem;height:2.4rem;width:9rem;outline:none}.color-picker{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.color-swatch{width:2rem;height:2rem;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:border-color .15s,transform .1s;padding:0;background-clip:padding-box}.color-swatch:active{transform:scale(.9)}.color-swatch.selected{border-color:var(--text);transform:scale(1.15)}.color-swatch--custom{position:relative;display:inline-flex;align-items:center;justify-content:center;border-style:dashed;border-color:var(--border);background:conic-gradient(from 0deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);overflow:hidden}.color-swatch--custom:hover{border-color:var(--accent)}.color-swatch--custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;cursor:pointer;padding:0}.color-swatch-plus{position:relative;color:#fff;font-size:1.2rem;font-weight:300;text-shadow:0 0 3px rgba(0,0,0,.6);pointer-events:none}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text);font-weight:500}.toggle-label input{width:auto;accent-color:var(--accent)}
