:root{--bg-color:#0f172a;--bg-color-alt:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--accent-light:#60a5fa;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#f87171;--success:#10b981;--warning:#f59e0b;--warning-light:#fbbf24;--text-inverse:#fff;--border:#ffffff1a;--glass-bg:#1e293bb3;--glass-border:#ffffff0d;--input-bg:#0003;--bg-panel:#1e293b;--avatar-color-1:#3b82f6;--avatar-color-2:#8b5cf6;--avatar-color-3:#ec4899;--avatar-color-4:#f59e0b;--avatar-color-5:#10b981;--avatar-color-6:#06b6d4;--font-scale:1;--gradient-success-h:linear-gradient(90deg, var(--success), #34d399);--gradient-accent-h:linear-gradient(90deg, var(--accent), #60a5fa);--gradient-accent-v:linear-gradient(to top, var(--accent), #3b82f699);--gradient-warning-v:linear-gradient(to top, #f59e0b, #f59e0b99);font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5;font-size:calc(16px * var(--font-scale));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-main);background-color:var(--bg-color);background-image:radial-gradient(circle at 100% 0,#1e1b4b,#0000 40%),radial-gradient(circle at 0 100%,#0f172a,#0000 40%);background-size:cover;background-attachment:fixed}:root[data-theme=light]{--bg-color:#f1f5f9;--bg-color-alt:#e2e8f0;--text-main:#1e293b;--text-muted:#64748b;--border:#0000001a;--glass-bg:#ffffffd9;--glass-border:#0000000f;--input-bg:#0000000a;--bg-panel:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-image:radial-gradient(circle at 100% 0,#dbeafe,#0000 40%),radial-gradient(circle at 0 100%,#f1f5f9,#0000 40%)}:root[data-theme=light] .glass-panel{border-color:#00000014;box-shadow:0 2px 8px #00000014,0 1px 3px #0000000a}@media (hover:hover){:root[data-theme=light] button:hover{background-color:#0000000a}:root[data-theme=light] button.primary:hover{background-color:var(--accent-hover)}}:root[data-theme=light] [style*="rgba(0,0,0,0.2)"],:root[data-theme=light] [style*="rgba(0, 0, 0, 0.2)"]{background:#00000009!important}:root[data-theme=light] [style*="rgba(255,255,255,0.04)"],:root[data-theme=light] [style*="rgba(255, 255, 255, 0.04)"]{background:#00000006!important}:root[data-theme=light] [style*="rgba(255,255,255,0.08)"],:root[data-theme=light] [style*="rgba(255, 255, 255, 0.08)"]{background:#0000000a!important}:root[data-font-size=small]{--font-scale:.85}:root[data-font-size=medium]{--font-scale:1}:root[data-font-size=large]{--font-scale:1.15}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;place-items:center;margin:0;display:flex}#root{width:100%;max-width:600px;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));box-sizing:border-box;margin:0 auto;overflow-x:hidden}*{box-sizing:border-box}@media (hover:none) and (pointer:coarse){input[type=text],input[type=number],input[type=password],input[type=email],input[type=tel],input[type=search],textarea,select{font-size:16px!important}}:root.theme-transition,:root.theme-transition *,:root.theme-transition :before,:root.theme-transition :after{transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s,background .35s!important}::selection{color:inherit;background:#3b82f64d}:root[data-theme=light] ::selection{background:#1d4ed838}.skip-to-content{z-index:99999;background:var(--accent);color:#fff;will-change:top;contain:layout style;border-radius:0 0 12px 12px;padding:12px 24px;font-size:.9rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.skip-to-content{will-change:auto;transition:none}}.skip-to-content:focus,.skip-to-content:focus-visible{outline-offset:-4px;outline:2px solid #fff;top:0;box-shadow:0 4px 12px #0006}:root[data-theme=light] .skip-to-content{background:#1d4ed8}main#main-content:focus,main#main-content:focus-visible{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #3b82f626}:root[data-theme=light] button:focus-visible{outline-color:#1d4ed8;box-shadow:0 0 0 4px #1d4ed840}:root[data-theme=light] :focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.slide-in,.auth-slide-up,.fade-in,.scale-in,.page-enter{opacity:1!important;animation:none!important;transform:none!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:600;line-height:1.3}button,a,input,select,textarea,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{border:1px solid var(--border);background-color:var(--bg-color-alt);color:var(--text-main);cursor:pointer;will-change:transform, box-shadow, filter;contain:layout style;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:48px;padding:.6em 1.2em;scroll-margin:8px;font-family:inherit;font-size:1rem;font-weight:500;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),filter .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);display:inline-flex}button:active{transition:transform .1s;transform:scale(.97)translateY(1px)}button.primary{background-color:var(--accent);border-color:var(--accent);color:#fff}button.primary:active{background-color:#1d4ed8;transition:transform .1s,box-shadow .1s;transform:scale(.96);box-shadow:0 2px 8px #3b82f633}button.danger{background-color:var(--danger);border-color:var(--danger)}:root[data-theme=light] button.primary{background-color:#1d4ed8;border-color:#1d4ed8}:root[data-theme=light] button.danger{background-color:#dc2626;border-color:#dc2626}@media (hover:hover){button:hover{background-color:#ffffff1a;transform:translateY(-1px)}button.primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 16px #3b82f659}button.danger:hover{background-color:var(--danger-hover);transform:scale(1.02);box-shadow:0 4px 12px #ef44444d}}@media (hover:hover) and (prefers-reduced-motion:reduce){button:hover{transform:none}}button.danger:focus-visible{outline-color:var(--danger);box-shadow:0 0 0 4px #ef444426}button:disabled{opacity:.5;cursor:not-allowed;transform:scale(.98)}button:disabled:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){button{will-change:auto;transition:none}button:active,button.primary:active,button:disabled:active{transform:none}}button.loading,button[data-loading]{pointer-events:none;opacity:.7}input[type=text],input[type=number],input[type=password],select,textarea{scroll-margin:8px}input[type=text],input[type=number],input[type=password]{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);will-change:border-color, box-shadow;contain:layout style;-webkit-appearance:none;font-variant-numeric:tabular-nums;border-radius:12px;outline:none;width:100%;min-height:48px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}textarea{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);will-change:border-color, box-shadow;contain:layout style;-webkit-appearance:none;border-radius:12px;outline:none;width:100%;min-height:80px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}textarea:focus{border-color:var(--accent);background:#3b82f608;box-shadow:0 0 0 3px #3b82f626}select{will-change:border-color, box-shadow;contain:layout style;transition:border-color .2s,box-shadow .2s,background .2s}select:focus{border-color:var(--accent);background:#3b82f608;box-shadow:0 0 0 3px #3b82f626}:root[data-theme=light] select:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f64d}@media (prefers-reduced-motion:reduce){select{will-change:auto;transition:none}}input:focus{border-color:var(--accent);background:#3b82f608;box-shadow:0 0 0 3px #3b82f626}:root[data-theme=light] input:focus,:root[data-theme=light] textarea:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f64d}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.5;will-change:opacity;transition:opacity .15s}:root[data-theme=light] input::placeholder,:root[data-theme=light] textarea::placeholder{opacity:.9}input:focus::placeholder,textarea:focus::placeholder{opacity:0}@media (prefers-reduced-motion:reduce){input::placeholder,textarea::placeholder{will-change:auto;transition-duration:.01ms}}input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px var(--input-bg) inset;-webkit-text-fill-color:var(--text-main);transition:background-color 5000s ease-in-out}input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 100px var(--input-bg) inset;-webkit-text-fill-color:var(--text-main);transition:background-color 5000s ease-in-out}input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px var(--input-bg) inset;-webkit-text-fill-color:var(--text-main);transition:background-color 5000s ease-in-out}kbd{border:1px solid var(--border);box-shadow:0 1px 0 var(--border);background:#ffffff0f;border-radius:5px;padding:2px 8px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem}:root[data-theme=light] kbd{background:#0000000a;box-shadow:0 1px #0000001a}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;padding:24px;box-shadow:0 8px 32px #0000004d}.fade-in[style*=background]{contain:layout style;will-change:transform, background, box-shadow;transition:background .2s,transform .15s,box-shadow .2s}.fade-in[style*=background]:active{transform:scale(.98)}.scroll-fade-container{flex:auto;min-height:0;position:relative;overflow:hidden}.scroll-fade-container:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg-color));pointer-events:none;z-index:1;height:48px;position:absolute;bottom:0;left:0;right:0}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff59}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000059}:root:not([data-theme=light]) ::-webkit-scrollbar-thumb{background:#ffffff29}:root:not([data-theme=light]){scrollbar-color:#ffffff29 transparent}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000024}:root[data-theme=light]{scrollbar-color:#00000024 transparent}.slide-in{contain:layout style;will-change:transform, opacity;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn}.auth-slide-up{contain:layout style;will-change:transform, opacity;animation:.4s cubic-bezier(.16,1,.3,1) forwards authSlideUp}.fade-in{contain:layout style;will-change:opacity;animation:.2s forwards fadeIn}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes readyBounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes avatarReadyRing{0%,to{box-shadow:0 0 0 2.5px var(--success)}50%{box-shadow:0 0 0 4px #10b98133}}@keyframes timerHeartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.03)}28%{transform:scale(1)}42%{transform:scale(1.03)}70%{transform:scale(1)}}@keyframes readyPop{0%{opacity:.65;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes badgeBump{0%{transform:scale(.7)}60%{transform:scale(1.25)}to{transform:scale(1)}}.badge-bump{contain:layout style;will-change:transform;animation:.35s cubic-bezier(.4,0,.2,1) badgeBump}@media (prefers-reduced-motion:reduce){.badge-bump{will-change:auto;animation:none}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes successPop{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes badgePulse{0%,to{box-shadow:0 0 0 2px var(--bg-color), 0 2px 10px #ef44448c;transform:scale(1)}50%{box-shadow:0 0 0 5px var(--bg-color), 0 0 16px #ef4444d9;transform:scale(1.18)}}@keyframes slideOutRight{0%{opacity:1;max-height:200px;transform:translate(0)}to{opacity:0;max-height:0;margin:0;padding:0;transform:translate(60px)}}@keyframes slideCardIn{0%{opacity:0;transform:translate(38px)}to{opacity:1;transform:translate(0)}}.slide-card-in{contain:layout style;will-change:transform, opacity;animation:.28s cubic-bezier(.16,1,.3,1) forwards slideCardIn}@media (prefers-reduced-motion:reduce){.slide-card-in{opacity:1;will-change:auto;animation:none;transform:none}}@keyframes barPopup{0%{opacity:0;transform:translate(-50%)scale(.7)}to{opacity:1;transform:translate(-50%)scale(1)}}.bar-popup-label{background:var(--accent);color:#fff;white-space:nowrap;pointer-events:none;z-index:2;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:transform, opacity;border-radius:8px;padding:2px 6px;font-size:.65rem;font-weight:700;animation:.2s cubic-bezier(.16,1,.3,1) forwards barPopup;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.bar-popup-label{opacity:1;will-change:auto;animation:none;transform:translate(-50%)}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-bar{--bar-bg:var(--gradient-accent-v);width:100%;height:var(--bar-height,2px);background:var(--bar-bg,#ffffff0d);transform-origin:bottom;animation:barGrow .5s cubic-bezier(.16, 1, .3, 1) var(--bar-delay,0s) forwards;contain:layout style;will-change:transform;border-radius:4px;position:relative;overflow:hidden}@media (prefers-reduced-motion:reduce){.chart-bar{will-change:auto;animation:none}}.chart-bar-col:nth-child(2) .chart-bar{--bar-delay:80ms}.chart-bar-col:nth-child(3) .chart-bar{--bar-delay:.16s}.chart-bar-col:nth-child(4) .chart-bar{--bar-delay:.24s}.chart-bar-col:nth-child(5) .chart-bar{--bar-delay:.32s}.chart-bar-col:nth-child(6) .chart-bar{--bar-delay:.4s}.chart-bar-col:nth-child(7) .chart-bar{--bar-delay:.48s}.chart-bar-col{cursor:default;will-change:transform;contain:layout style;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;transition:transform .1s;display:flex;position:relative}.chart-bar-col[data-clickable]{cursor:pointer}.chart-bar-col[data-clickable]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.chart-bar-col[data-clickable]{touch-action:manipulation;scroll-margin:8px}:root[data-theme=light] .chart-bar-col[data-clickable]:focus-visible{outline-color:#1d4ed8}.chart-bar-col:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.chart-bar-col{will-change:auto;transition:none}.chart-bar-col:active{transform:none}}.chart-bar-col[data-today]:before{content:"";border:1.5px solid var(--accent);opacity:.45;pointer-events:none;border-radius:6px;position:absolute;inset:-4px 0}:root[data-theme=light] .chart-bar-col[data-today]:before{opacity:.7;border-color:#1d4ed8}.chart-bar-label{opacity:0;will-change:opacity;contain:layout style;color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:400;transition:opacity .15s}@media (prefers-reduced-motion:reduce){.chart-bar-label{will-change:auto;transition:none}}.chart-bar-label[data-max]{opacity:1}.chart-bar-label[data-selected]{color:var(--accent);font-weight:700}.chart-bar-crown{filter:drop-shadow(0 0 3px #f59e0b99);color:#f59e0b;opacity:.9;contain:layout style;-webkit-user-select:none;user-select:none;will-change:transform, opacity;flex-shrink:0;animation:.4s both crownPop}:root[data-theme=light] .chart-bar-crown{color:#b45309}@media (prefers-reduced-motion:reduce){.chart-bar-crown{will-change:auto;animation:none}}.chart-bar-today-dot{background:var(--accent);opacity:.85;contain:layout style;will-change:transform, opacity;border-radius:50%;flex-shrink:0;width:4px;height:4px;animation:.2s both scaleIn}@media (prefers-reduced-motion:reduce){.chart-bar-today-dot{will-change:auto;animation:none}}.chart-bar-weekday-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.7rem}.chart-bar-weekday-label[data-selected]{color:var(--accent)}@keyframes crownPop{0%{opacity:0;transform:scale(0)translateY(4px)}70%{opacity:1;transform:scale(1.2)translateY(-1px)}to{opacity:.9;transform:scale(1)translateY(0)}}@media (hover:hover){.chart-bar-col:hover .chart-bar-label{opacity:1}.chart-bar-col[data-tip]:hover:after{content:attr(data-tip);background:var(--bg-panel,#1e293b);border:1px solid var(--accent);white-space:nowrap;color:var(--text-main);z-index:20;pointer-events:none;will-change:opacity;border-radius:6px;padding:3px 8px;font-size:.65rem;animation:.15s tooltipFadeIn;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.chart-bar-col[data-tip]:hover:after{will-change:auto;animation:none}}.record-date-header[data-clickable]{scroll-margin:8px}.record-date-header[data-clickable]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.lobby-create-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}:root[data-theme=light] .lobby-create-toggle:focus-visible{outline-color:#1d4ed8}@media (hover:hover){.lobby-create-toggle:hover{background:#ffffff26}.lobby-create-toggle[data-on]:hover{filter:brightness(1.08)}:root[data-theme=light] .lobby-create-toggle:hover{background:#00000024}}@media (hover:hover) and (prefers-reduced-motion:reduce){.lobby-create-toggle[data-on]:hover{filter:none}}.heatmap-cell{will-change:transform;contain:layout style;transition:transform .15s,z-index;position:relative}@media (hover:hover){.heatmap-cell:hover{z-index:1;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.heatmap-cell{will-change:auto;transition:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.heatmap-cell:hover{z-index:auto;will-change:auto;transform:none}}@media (hover:hover){.heatmap-cell[data-tip]:hover:after{content:attr(data-tip);background:var(--bg-panel,#1e293b);border:1px solid var(--accent);white-space:nowrap;color:var(--text-main);z-index:30;pointer-events:none;will-change:opacity;border-radius:6px;padding:3px 8px;font-size:.65rem;animation:.15s tooltipFadeIn;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.heatmap-cell[data-tip]:hover:after{will-change:auto;animation:none}}.accent-swatch-btn{position:relative}@media (hover:hover){.accent-swatch-btn[data-tip]:hover:after{content:attr(data-tip);background:var(--bg-panel,#1e293b);border:1px solid var(--accent);white-space:nowrap;color:var(--text-main);z-index:30;pointer-events:none;will-change:opacity;border-radius:6px;padding:3px 8px;font-size:.65rem;animation:.15s tooltipFadeIn;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.accent-swatch-btn[data-tip]:hover:after{will-change:auto;animation:none}}.bottom-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--glass-border);padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:100;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-pill{top:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px));pointer-events:none;left:calc(var(--active-index,0) * 100% / var(--item-count,5));width:calc(100% / var(--item-count,5));will-change:left;contain:layout style;padding:0 6px;transition:left .32s cubic-bezier(.16,1,.3,1);position:absolute}@media (prefers-reduced-motion:reduce){.bottom-nav-pill{will-change:auto;transition:none}}.bottom-nav-pill-inner{background:linear-gradient(135deg,#3b82f638,#8b5cf629);border:1px solid #3b82f647;border-radius:14px;width:100%;height:100%;box-shadow:0 2px 10px #3b82f626,inset 0 1px #ffffff14}:root[data-theme=light] .bottom-nav-pill-inner{background:linear-gradient(135deg,#3b82f624,#8b5cf61a);border-color:#3b82f638;box-shadow:0 2px 10px #3b82f61a}.bottom-nav-item{min-width:0;color:var(--text-muted);opacity:.75;z-index:1;-webkit-user-select:none;user-select:none;will-change:transform, opacity;contain:layout style;background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:6px 8px;scroll-margin:8px;font-size:.7rem;transition:color .2s,transform .15s,opacity .2s;display:flex;position:relative}.bottom-nav-item span:last-child{will-change:color, opacity;contain:layout style;text-overflow:ellipsis;white-space:nowrap;max-width:100%;transition:color .2s,opacity .2s;overflow:hidden}.bottom-nav-item:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.bottom-nav-item:active{transform:none}.bottom-nav-item{will-change:auto}.bottom-nav-item span:last-child{will-change:auto;transition:none}}.bottom-nav-item[data-active]{color:var(--accent);opacity:1;font-weight:600}:root[data-theme=light] .bottom-nav-item[data-active]{color:#1d4ed8}:root[data-theme=light] .bottom-nav-item:not([data-active]){color:#475569;opacity:1}.bottom-nav-item[data-active] svg{filter:drop-shadow(0 0 6px #3b82f659);contain:layout style;will-change:transform, filter;animation:.25s cubic-bezier(.4,0,.2,1) forwards tabActivate}:root[data-theme=light] .bottom-nav-item[data-active] svg{filter:drop-shadow(0 0 6px #1d4ed866)}@media (prefers-reduced-motion:reduce){.bottom-nav-item[data-active] svg{will-change:auto;animation:none}}.bottom-nav-item:not([data-active]) svg{contain:layout style;will-change:transform;transition:transform .2s}@media (prefers-reduced-motion:reduce){.bottom-nav-item:not([data-active]) svg{will-change:auto;transition:none}}@keyframes tabActivate{0%{transform:scale(1)}55%{transform:scale(1.18)}to{transform:scale(1.08)}}.bottom-nav-icon-wrap{contain:layout style;justify-content:center;align-items:center;line-height:0;display:inline-flex;position:relative}.bottom-nav-badge{color:#fff;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg-color), 0 2px 10px #ef44448c;pointer-events:none;letter-spacing:0;background:#ef4444;border-radius:9999px;justify-content:center;align-items:center;padding:0 5px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-10px}:root[data-theme=light] .bottom-nav-badge{box-shadow:0 0 0 2px var(--bg-color), 0 2px 8px #ef444466}.bottom-nav-badge[data-pulse]{contain:layout style;will-change:transform, box-shadow;animation:2s ease-in-out infinite badgePulse}@media (prefers-reduced-motion:reduce){.bottom-nav-badge[data-pulse]{will-change:auto;animation:none}}.bottom-nav-tooltip{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-main);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:200;contain:layout style;will-change:transform, opacity;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:600;animation:.15s tooltipFadeIn;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}:root[data-theme=light] .bottom-nav-tooltip{box-shadow:0 2px 8px #00000014,0 1px 3px #0000000d}@media (prefers-reduced-motion:reduce){.bottom-nav-tooltip{will-change:auto;animation:none}}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.bottom-nav-key-badge{color:var(--accent);background:var(--glass-bg);border:1px solid var(--accent);white-space:nowrap;pointer-events:none;opacity:0;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;border-radius:4px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1.4;transition:opacity .15s;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.bottom-nav-key-badge{will-change:auto;transition:none}}.bottom-nav-item:focus-visible .bottom-nav-key-badge{opacity:1}:root[data-theme=light] .bottom-nav-key-badge{color:#1d4ed8;background:#1d4ed814;border-color:#1d4ed859}.bottom-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px;transform:scale(1.04)}@media (prefers-reduced-motion:reduce){.bottom-nav-item:focus-visible{transform:none}}:root[data-theme=light] .bottom-nav-item:focus-visible{outline-color:#1d4ed8}@media (hover:hover) and (pointer:fine){.bottom-nav-item:hover:not([data-active]){color:var(--text-main);opacity:.85;transform:scale(1.06)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){.bottom-nav-item:hover:not([data-active]){transform:none}}.toast-container{z-index:10002;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{-webkit-backdrop-filter:blur(16px);pointer-events:auto;contain:layout style;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastIn;display:flex;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.toast-success{color:var(--success);background:#10b98133;border:1px solid #10b98159}.toast-error{color:var(--danger);background:#ef444433;border:1px solid #ef444459}.toast-info{color:var(--accent);background:#3b82f633;border:1px solid #3b82f659}:root[data-theme=light] .toast-success{color:#047857}:root[data-theme=light] .toast-error{color:#dc2626}:root[data-theme=light] .toast-info{color:#1d4ed8}.toast span{flex:1}.toast-close{opacity:.6;cursor:pointer;will-change:transform, opacity;contain:layout style;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:2px;transition:transform .2s,opacity .2s,background .2s;display:flex}@media (hover:hover){.toast-close:hover{opacity:1;background:#80808026;transform:rotate(90deg)scale(1.15)}:root[data-theme=light] .toast-close:hover{background:#0000001a}}@keyframes toastIn{0%{opacity:0;transform:translateY(-16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastProgress{0%{transform-origin:0;transform:scaleX(1)}to{transform-origin:0;transform:scaleX(0)}}@keyframes toastIconBounce{0%{transform:scale(1)}35%{transform:scale(1.4)rotate(-8deg)}65%{transform:scale(.88)rotate(4deg)}to{transform:scale(1)rotate(0)}}.toast>svg:first-child{contain:layout style;will-change:transform;flex-shrink:0;animation:.4s cubic-bezier(.36,.07,.19,.97) forwards toastIconBounce}@media (prefers-reduced-motion:reduce){.toast{opacity:1;will-change:auto;animation:none;transform:none}.toast>svg:first-child{will-change:auto;animation:none}}@keyframes circleFinishedFlash{0%,to{opacity:1}50%{opacity:.25}}@keyframes ringExpand{0%{opacity:.5;stroke-width:8px;transform:scale(1)}to{opacity:0;stroke-width:2px;transform:scale(1.18)}}.segment-control{border:1px solid var(--border);background:#ffffff0a;border-radius:12px;gap:2px;padding:3px;display:flex;overflow:hidden}:root[data-theme=light] .segment-control{background:#00000008}.segment-control button{color:var(--text-muted);contain:layout style;will-change:transform, background, color, box-shadow;background:0 0;border:none;border-radius:9px;flex:1;min-height:44px;padding:8px 12px;scroll-margin:8px;font-weight:400;transition:background .18s,color .18s,transform .18s,box-shadow .18s}.segment-control button[data-selected=true]{color:var(--accent);box-shadow:0 0 8px #3b82f659, inset 0 -2px 0 var(--accent);background:#3b82f62e;font-weight:600;transform:scale(1.05)}[data-theme=light] .segment-control button[data-selected=true]{color:#1d4ed8;background:#3b82f624;box-shadow:0 0 8px #1d4ed847,inset 0 -2px #1d4ed8}:root[data-theme=light] .segment-control button:not([data-selected=true]){color:#475569}.member-avatar{color:#fff;background:var(--avatar-bg);will-change:transform, box-shadow;cursor:default;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}@media (hover:hover){.member-avatar:hover{transform:scale(1.1);box-shadow:0 0 10px #3b82f680}}@media (hover:hover) and (prefers-reduced-motion:reduce){.member-avatar:hover{box-shadow:none;transform:none}}.member-row{contain:layout style;will-change:transform, opacity;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;scroll-margin:8px;transition:background .2s,transform .15s,opacity .25s;display:flex}.member-row:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.member-row{will-change:auto}.member-row:active{transform:none}}.member-row[data-online=false]{opacity:.45}.member-row[data-ready]{background:#10b98114}.member-row[data-ready] .member-avatar{contain:layout style;will-change:transform;animation:1.5s infinite readyBounce}@keyframes memberRowEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.member-row-stagger{contain:layout style;will-change:transform, opacity;animation:.25s both memberRowEnter}.member-row-stagger[data-row="1"]{animation-delay:40ms}.member-row-stagger[data-row="2"]{animation-delay:80ms}.member-row-stagger[data-row="3"]{animation-delay:.12s}.member-row-stagger[data-row="4"]{animation-delay:.16s}.member-row-stagger[data-row="5"]{animation-delay:.2s}.member-row-stagger[data-row="6"]{animation-delay:.24s}.member-row-stagger[data-row="7"]{animation-delay:.28s}.member-row-stagger[data-row="8"]{animation-delay:.32s}.member-row-stagger[data-row="9"]{animation-delay:.36s}.member-row-stagger[data-row="10"]{animation-delay:.4s}.member-row-stagger[data-row="11"]{animation-delay:.44s}.member-row-stagger[data-row="12"]{animation-delay:.48s}.member-row-stagger[data-row="13"]{animation-delay:.52s}.member-row-stagger[data-row="14"]{animation-delay:.56s}.member-row-stagger[data-row="15"]{animation-delay:.6s}.member-row-stagger[data-row="16"]{animation-delay:.64s}.member-row-stagger[data-row="17"]{animation-delay:.68s}.member-row-stagger[data-row="18"]{animation-delay:.72s}.member-row-stagger[data-row="19"]{animation-delay:.76s}@media (prefers-reduced-motion:reduce){.member-row-stagger{will-change:auto;animation:none}}.member-avatar[data-ring]{contain:layout style}.member-avatar[data-ring=ready]{box-shadow:0 0 0 2.5px var(--success);will-change:box-shadow, opacity;animation:1.8s ease-in-out infinite avatarReadyRing}.member-avatar[data-ring=waiting]{will-change:opacity;animation:2s ease-in-out infinite avatarWaitPulse;box-shadow:0 0 0 2px #9696aa4d}@keyframes avatarWaitPulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.member-avatar[data-ring=ready]{box-shadow:0 0 0 2.5px var(--success);will-change:auto;animation:none}.member-avatar[data-ring=waiting]{will-change:auto;animation:none;box-shadow:0 0 0 2px #9696aa4d}.member-row[data-ready] .member-avatar{will-change:auto;animation:none}}.timer-ring-wrapper{will-change:filter;contain:layout style;justify-content:center;align-items:center;margin:.5rem auto;display:flex;position:relative}.timer-ring-wrapper[data-status=warning]{filter:drop-shadow(0 0 10px #f59e0b59);will-change:filter;transition:filter .6s}.timer-ring-wrapper[data-status=danger]{filter:drop-shadow(0 0 12px #ef444473);will-change:filter;transition:filter .3s}:root[data-theme=light] .timer-ring-wrapper[data-status=warning]{filter:drop-shadow(0 0 10px #b4530973)}:root[data-theme=light] .timer-ring-wrapper[data-status=danger]{filter:drop-shadow(0 0 12px #dc26268c)}@media (prefers-reduced-motion:reduce){.timer-ring-wrapper[data-status=warning],.timer-ring-wrapper[data-status=danger]{will-change:auto;transition:none}}.timer-ring-text{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute}.empty-state{color:var(--text-muted);text-align:center;contain:layout style;flex-direction:column;align-items:center;gap:12px;padding:3rem 1rem;display:flex}.empty-state svg{opacity:.2;pointer-events:none;contain:layout style;will-change:transform;width:48px;height:48px;animation:4s ease-in-out infinite float}@media (prefers-reduced-motion:reduce){.empty-state svg{will-change:auto;animation:none}}:root[data-theme=light] .empty-state svg{opacity:.45}.empty-state h3,.empty-state p:first-of-type:not(.empty-state-subtitle){color:var(--text-main);opacity:.7;text-wrap:balance;margin:0;font-size:.9rem;font-weight:500}:root[data-theme=light] .empty-state h3,:root[data-theme=light] .empty-state p:first-of-type:not(.empty-state-subtitle){color:#475569;opacity:1}.empty-state-action{margin-top:8px}.empty-state-subtitle{opacity:.6;text-wrap:balance;margin:8px 0 0;font-size:.75rem}:root[data-theme=light] .empty-state-subtitle{color:#475569;opacity:1}.password-wrapper{width:100%;position:relative}.password-input-field{width:100%;padding-right:40px;scroll-margin:8px}.password-input-field[data-mismatch]{border-color:var(--danger);contain:layout style;box-shadow:0 0 0 2px #ef444426}:root[data-theme=light] .password-input-field[data-mismatch]{box-shadow:0 0 0 2px #ef44444d}@media (prefers-reduced-motion:no-preference){.password-input-field[data-mismatch]{will-change:transform;animation:.3s shake}}@media (hover:hover){.password-input-field:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .password-input-field:not(:focus):hover{border-color:#1d4ed899}}.password-toggle{color:var(--text-muted);will-change:transform, color;contain:layout style;-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px;transition:color .15s,transform .1s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}:root[data-theme=light] .password-toggle{color:#475569}@media (hover:hover){.password-toggle:hover{color:var(--accent);transform:translateY(-50%)scale(1.08)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.password-toggle:hover{transform:translateY(-50%)}}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .password-toggle:focus-visible{outline-color:#1d4ed8}@media (hover:hover){:root[data-theme=light] .password-toggle:hover{color:#1d4ed8}}.password-toggle:active{transform:translateY(-50%)scale(.88)}@media (prefers-reduced-motion:reduce){.password-toggle:active{transform:translateY(-50%)}}.has-bottom-nav{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;scroll-padding-bottom:72px;overflow-y:auto}.modal-panel{contain:layout style;will-change:transform, opacity;height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));flex-direction:column;max-height:720px;animation:.25s ease-out both modalSlideUp;display:flex;overflow:hidden}@media (width<=480px){.modal-panel{height:calc(100dvh - 1rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.modal-panel{will-change:auto;animation:none}}.sticky-top{z-index:2;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);margin:-4px 0 4px;padding-bottom:8px;position:sticky;top:0}.page-enter{contain:layout style;animation:.25s cubic-bezier(.16,1,.3,1) forwards pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.skeleton{contain:layout style;will-change:background-position;background:linear-gradient(90deg,#ffffff08 0%,#ffffff0f 20%,#ffffff1f 50%,#ffffff0f 80%,#ffffff08 100%) 0 0/300% 100%;border-radius:8px;animation:2s ease-in-out infinite shimmer}:root[data-theme=light] .skeleton{background:linear-gradient(90deg,#0000000a 0%,#00000012 20%,#0000001f 50%,#00000012 80%,#0000000a 100%) 0 0/300% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{will-change:auto;background-position:0 0;animation:none}}.scale-in{contain:layout style;will-change:transform, box-shadow;transition:transform .15s,box-shadow .2s;animation:.2s cubic-bezier(.16,1,.3,1) forwards scaleIn}.scale-in:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.scale-in{will-change:auto}.scale-in:active{will-change:auto;transform:none}}.group-card{--card-border-color:var(--avatar-bg,var(--accent));border-left:3px solid var(--card-border-color,var(--accent));contain:layout style;will-change:transform, box-shadow, background, border-color;background:#ffffff0a;border-radius:12px;flex-direction:column;gap:0;scroll-margin:8px;transition:background .2s,border-color .2s,transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.group-card[data-activity=active]{--card-border-color:var(--success)}.group-card[data-activity=recent]{--card-border-color:var(--warning)}.group-card:before{content:"";pointer-events:none;border-radius:inherit;will-change:background-position;background:linear-gradient(120deg,#0000 30%,#3b82f612 50%,#0000 70%) 200%/250% 100%;transition:background-position .6s;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.group-card:before{will-change:auto}}@media (hover:hover) and (pointer:fine){.group-card:hover:before{background-position:-50%}}:root[data-theme=light] .group-card{background:#00000008;box-shadow:0 2px 8px #00000014}@media (hover:hover) and (pointer:fine){.group-card:hover{border-left-color:var(--accent);background:#ffffff12;transform:perspective(800px)translateY(-2px)rotateX(1deg)rotateY(-1deg);box-shadow:0 6px 20px #3b82f61f}:root[data-theme=light] .group-card:hover{border-left-color:var(--accent);background:#0000000f;box-shadow:0 6px 20px #3b82f614}}@media (prefers-reduced-motion:reduce) and (hover:hover){.group-card:hover{transform:translateY(-2px)!important}}.group-card:active{transform:translateY(0)scale(.99)}@media (prefers-reduced-motion:reduce){.group-card:active{transform:none}}.group-card:focus-within{box-shadow:0 0 0 2px #3b82f633}:root[data-theme=light] .group-card:focus-within{box-shadow:0 0 0 2px #1d4ed826}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes celebrate{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(.95)}75%{transform:scale(1.05)}}.celebrate{contain:layout style;will-change:transform;animation:.5s celebrate}@media (prefers-reduced-motion:reduce){.celebrate{will-change:auto;animation:none}}.ripple{contain:layout style;will-change:opacity;position:relative;overflow:hidden}.ripple:after{content:"";opacity:0;background:#ffffff26;border-radius:50%;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple:active:after{opacity:1;width:200%;padding-top:200%;transition:width .3s,padding-top .3s,opacity}.ripple:not(:active):after{transition:opacity .4s}:root[data-theme=light] .ripple:after{background:#00000014}@media (prefers-reduced-motion:reduce){.ripple{will-change:auto}.ripple:active:after,.ripple:not(:active):after{transition:none}}@keyframes themeFlash{0%{opacity:.22}to{opacity:0}}.theme-flash-overlay{background:var(--accent);pointer-events:none;z-index:9999;contain:layout style;will-change:opacity;animation:.55s ease-out forwards themeFlash;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.theme-flash-overlay{opacity:0;will-change:auto;animation:none}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)translate(0)scale(1)}25%{opacity:1;transform:translateY(25vh)rotate(180deg)translate(20px)scale(.9)}50%{opacity:.8;transform:translateY(50vh)rotate(360deg)translate(-15px)scale(1.1)}75%{opacity:.4;transform:translateY(75vh)rotate(540deg)translate(10px)scale(.8)}to{opacity:0;transform:translateY(100vh)rotate(720deg)translate(-5px)scale(.6)}}@keyframes confetti-fall-alt{0%{opacity:1;transform:translateY(-100vh)rotate(0)translate(0)scale(.8)}30%{opacity:1;transform:translateY(30vh)rotate(-200deg)translate(-25px)scale(1)}60%{opacity:.6;transform:translateY(60vh)rotate(-400deg)translate(20px)scale(.9)}to{opacity:0;transform:translateY(100vh)rotate(-720deg)translate(-10px)scale(.5)}}@keyframes confetti-fall-wide{0%{opacity:1;transform:translateY(-100vh)rotate(0)translate(0)scale(1)}20%{opacity:1;transform:translateY(20vh)rotate(90deg)translate(40px)scale(1.1)}45%{opacity:.9;transform:translateY(45vh)rotate(270deg)translate(-35px)scale(.9)}70%{opacity:.5;transform:translateY(70vh)rotate(450deg)translate(30px)scale(.8)}to{opacity:0;transform:translateY(100vh)rotate(600deg)translate(-20px)scale(.5)}}@keyframes confetti-fall-slow{0%{opacity:1;transform:translateY(-100vh)rotate(0)translate(0)scale(.9)}35%{opacity:1;transform:translateY(35vh)rotate(150deg)translate(-30px)scale(1.1)}65%{opacity:.7;transform:translateY(65vh)rotate(330deg)translate(25px)scale(.95)}to{opacity:0;transform:translateY(100vh)rotate(540deg)translate(-15px)scale(.6)}}.confetti-container{pointer-events:none;z-index:9999;contain:strict;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{will-change:transform, opacity;contain:layout style;border-radius:2px;width:10px;height:10px;animation:3s ease-in forwards confetti-fall;position:absolute;top:-10px}.confetti-piece:nth-child(odd){border-radius:50%;animation-name:confetti-fall-alt}.confetti-piece:nth-child(3n){clip-path:polygon(50% 0%,0% 100%,100% 100%);border-radius:0;animation-name:confetti-fall-wide}.confetti-piece:nth-child(4n){border-radius:2px;width:16px;height:5px;animation-name:confetti-fall-slow}.confetti-piece:first-child{background:#ef4444;animation-duration:2.5s;animation-delay:0s;left:4%}.confetti-piece:nth-child(2){background:#3b82f6;width:8px;height:13px;animation-duration:2.8s;animation-delay:.1s;left:13%}.confetti-piece:nth-child(3){background:#facc15;animation-duration:3s;animation-delay:.2s;left:22%}.confetti-piece:nth-child(4){background:#10b981;animation-duration:2.6s;animation-delay:50ms;left:31%}.confetti-piece:nth-child(5){background:#ec4899;animation-duration:2.9s;animation-delay:.3s;left:40%}.confetti-piece:nth-child(6){background:#f59e0b;width:6px;height:15px;animation-duration:2.7s;animation-delay:.15s;left:49%}.confetti-piece:nth-child(7){background:#8b5cf6;animation-duration:3.1s;animation-delay:.25s;left:58%}.confetti-piece:nth-child(8){background:#06b6d4;animation-duration:2.4s;animation-delay:.1s;left:67%}.confetti-piece:nth-child(9){background:#ef4444;animation-duration:2.8s;animation-delay:.35s;left:76%}.confetti-piece:nth-child(10){background:#3b82f6;width:8px;height:12px;animation-duration:3.2s;animation-delay:.2s;left:85%}.confetti-piece:nth-child(11){background:#facc15;width:8px;height:12px;animation-duration:2.6s;animation-delay:.4s;left:9%}.confetti-piece:nth-child(12){background:#10b981;animation-duration:3s;animation-delay:.15s;left:27%}.confetti-piece:nth-child(13){background:#ec4899;animation-duration:2.5s;animation-delay:.3s;left:46%}.confetti-piece:nth-child(14){background:#8b5cf6;animation-duration:2.9s;animation-delay:50ms;left:63%}.confetti-piece:nth-child(15){background:#f59e0b;animation-duration:3.1s;animation-delay:.45s;left:82%}.confetti-piece:nth-child(16){background:#06b6d4;width:12px;height:7px;animation-duration:2.7s;animation-delay:80ms;left:18%}.confetti-piece:nth-child(17){background:#ef4444;animation-duration:3.3s;animation-delay:.55s;left:37%}.confetti-piece:nth-child(18){background:#facc15;width:7px;height:13px;animation-duration:2.6s;animation-delay:.18s;left:54%}.confetti-piece:nth-child(19){background:#ec4899;animation-duration:2.9s;animation-delay:.38s;left:72%}.confetti-piece:nth-child(20){background:#8b5cf6;animation-duration:3s;animation-delay:.12s;left:91%}@media (prefers-reduced-motion:reduce){.confetti-piece{will-change:auto;contain:normal;display:none;animation:none!important}}html,body{overscroll-behavior:none}.has-bottom-nav{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}body.modal-open{width:100%;height:100%;position:fixed;overflow:hidden}.tap-highlight{-webkit-tap-highlight-color:transparent;will-change:transform;contain:layout style;transition:background .15s,transform .1s}.tap-highlight:active{background:#3b82f60f;transform:scale(.98)}:root[data-theme=light] .tap-highlight:active{background:#3b82f614}@media (prefers-reduced-motion:reduce){.tap-highlight{will-change:auto;transition:none}}@keyframes timerFinishedPop{0%{transform:scale(1)}40%{transform:scale(1.22)}70%{transform:scale(.96)}to{transform:scale(1)}}.timer-finished-pop{contain:layout style;will-change:transform;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards timerFinishedPop}.timer-display-time[data-state=starting]{contain:layout style;will-change:transform, opacity;animation:.2s cubic-bezier(.16,1,.3,1) forwards scaleIn}.timer-display-time[data-pop]{contain:layout style;will-change:transform;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards timerFinishedPop}@media (prefers-reduced-motion:reduce){.timer-display-time[data-state=starting],.timer-display-time[data-pop]{will-change:auto;animation:none}}@keyframes barRipple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(3)}}.bar-ripple{background:rgba(var(--accent-rgb,59 130 246) / .5);pointer-events:none;contain:layout style;will-change:transform;border-radius:50%;animation:.5s ease-out forwards barRipple;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.bar-ripple{opacity:0;will-change:auto;animation:none}}@keyframes spinnerPulse{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes spinnerIconPop{0%{opacity:.6}60%{opacity:.85}80%{opacity:.85;transform:translate(-50%,-50%)scale(1.2)}to{opacity:.6;transform:translate(-50%,-50%)scale(1)}}@keyframes authBtnRipple{0%{opacity:.45;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.auth-btn-ripple{left:var(--ripple-x,50%);top:var(--ripple-y,50%);pointer-events:none;contain:layout style;will-change:transform;background:#ffffff4d;border-radius:50%;width:80px;height:80px;animation:.55s ease-out forwards authBtnRipple;position:absolute;transform:translate(-50%,-50%)scale(0)}:root[data-theme=light] .auth-btn-ripple{background:#0000001a}.accent-swatch-btn{will-change:transform, box-shadow;contain:layout style;min-height:44px;color:var(--text-muted);background:#ffffff0a;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 6px;scroll-margin:8px;font-size:.85rem;font-weight:400;transition:transform .18s,box-shadow .18s;display:flex}:root[data-theme=light] .accent-swatch-btn{color:#475569;background:#00000008}@media (hover:hover){.accent-swatch-btn:hover{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.accent-swatch-btn{will-change:auto;transition:none}}.accent-swatch-btn[data-selected=true]{background:color-mix(in srgb, var(--swatch-color) 13%, transparent);border-color:color-mix(in srgb, var(--swatch-color) 33%, transparent);color:var(--swatch-color);font-weight:600}.accent-swatch-dot{background:var(--swatch-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex;position:relative}.accent-swatch-btn[data-selected=true] .accent-swatch-dot{box-shadow:0 0 0 2px color-mix(in srgb, var(--swatch-color) 27%, transparent)}.swatch-check-icon{color:#fff;contain:layout style;will-change:transform;animation:.18s cubic-bezier(.34,1.56,.64,1) both scaleIn;position:absolute}@media (prefers-reduced-motion:reduce){.swatch-check-icon{will-change:auto;animation:none}}.accent-swatch-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.accent-swatch-scroll::-webkit-scrollbar{display:none}@media (hover:none) and (pointer:coarse){kbd,.desktop-only-kbd{display:none!important}}@media (width<=480px){.glass-panel{border-radius:18px;padding:18px}.timer-ring-wrapper{margin:.25rem auto}.bottom-nav-item{gap:2px;padding:6px 4px;font-size:.7rem}.empty-state{padding:2rem .5rem}.auth-panel{margin-top:6vh!important}.member-row{padding:6px 10px}.stats-grid{gap:8px!important}}@media (width<=380px){#root{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.glass-panel{border-radius:16px;padding:14px}.bottom-nav-item{gap:1px;padding:6px 2px;font-size:.62rem}.bottom-nav-item svg{width:18px;height:18px}.lobby-header{flex-wrap:wrap}.lobby-header-actions{justify-content:flex-end;width:100%;margin-top:4px}.toast-container{max-width:calc(100% - 16px)}.auth-panel{margin-top:4vh!important}}.has-bottom-nav{overscroll-behavior-y:contain}@media (height<=600px){.auth-panel{margin-top:3vh!important}.empty-state{padding:1.5rem .5rem}}@media (width>=768px){#root{max-width:720px;padding:1.5rem}.glass-panel{border-radius:24px;padding:28px}.bottom-nav{border-radius:20px 20px 0 0;max-width:480px;left:50%;transform:translate(-50%);box-shadow:0 -4px 24px #00000026}button{transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),filter .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1)}@media (hover:hover){button:hover{box-shadow:0 2px 12px #00000026}.member-row:hover{background:#3b82f60a}}.toast-container{max-width:420px}}@media (width>=1024px){#root{max-width:860px;padding:2rem}.glass-panel{padding:32px}.bottom-nav{border:1px solid var(--glass-border);max-width:420px;box-shadow:0 8px 32px #0003, 0 0 0 1px var(--glass-border);border-radius:20px;bottom:16px}.bottom-nav-item{border-radius:12px;padding:8px 20px;font-size:.75rem}@media (hover:hover){.bottom-nav-item:hover:not([data-active]){color:var(--text-main);opacity:1}}.has-bottom-nav{padding-bottom:100px}.stats-grid{gap:12px;grid-template-columns:repeat(3,1fr)!important}.groups-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.member-row{padding:10px 16px}.toast-container{max-width:460px}}.settings-section{background:#0003;border-radius:14px;flex-direction:column;gap:10px;padding:14px;transition:background .2s;display:flex}@media (hover:hover) and (pointer:fine){.settings-section:hover{background:#3b82f60f}:root[data-theme=light] .settings-section:hover{background:#3b82f61a}.settings-section--danger:hover{background:#ef44440a}:root[data-theme=light] .settings-section--danger:hover{background:#ef444412}}@media (prefers-reduced-motion:reduce){.settings-section{transition:none}}:root[data-theme=light] .settings-section{background:#0000000a}.settings-section--danger{border:1px solid #ef444426}:root[data-theme=light] .settings-section--danger{border-color:#ef444447}.settings-section-title{color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:0 0 .75rem;font-size:.9rem;display:flex}:root[data-accent=purple]{--accent:#8b5cf6;--accent-hover:#7c3aed;--accent-light:#a78bfa}:root[data-accent=green]{--accent:#10b981;--accent-hover:#059669;--accent-light:#34d399}:root[data-accent=pink]{--accent:#ec4899;--accent-hover:#db2777;--accent-light:#f9a8d4}.modal-close{color:var(--text-muted);cursor:pointer;will-change:transform;contain:layout style;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px;transition:color .15s,background .15s,transform .1s;display:inline-flex}@media (hover:hover){.modal-close:hover{color:var(--text-main);background:#ffffff0f}:root[data-theme=light] .modal-close:hover{background:#0000000f}}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;color:var(--text-main)}:root[data-theme=light] .modal-close{color:#475569}:root[data-theme=light] .modal-close:focus-visible{outline-color:#1d4ed8}.modal-close:active{transform:scale(.9)}@media (prefers-reduced-motion:reduce){.modal-close{will-change:auto;transition:none}.modal-close:active{transform:none}}:root[data-theme=light] .toast{box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f}:root[data-theme=light] .toast-success{color:#047857;background:#10b9812e;border-color:#10b98199}:root[data-theme=light] .toast-error{color:#dc2626;background:#ef444424;border-color:#ef444499}:root[data-theme=light] .toast-info{color:#1d4ed8;background:#3b82f624;border-color:#3b82f699}@media (width>=1280px){#root{max-width:960px}.bottom-nav{max-width:460px}}.ios-install-banner{bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:9000;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(1.5);border:1px solid var(--glass-border);contain:layout style;will-change:opacity;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;animation:.3s both fadeIn;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 4px 24px #00000040}@media (prefers-reduced-motion:reduce){.ios-install-banner{will-change:auto;animation:none}}.ios-install-banner__icon{-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:1.5rem}.ios-install-banner__text{color:var(--text-main);-webkit-user-select:none;user-select:none;text-wrap:balance;flex:1;font-size:.8rem;line-height:1.4}.ios-install-banner__action{background:linear-gradient(135deg, var(--accent), #8b5cf6);color:#fff;cursor:pointer;will-change:transform, box-shadow;border:none;border-radius:999px;flex-shrink:0;min-height:44px;padding:6px 14px;scroll-margin:8px;font-size:.8rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #3b82f659}@media (hover:hover){.ios-install-banner__action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f673}}.ios-install-banner__action:active{transform:translateY(0)}.ios-install-banner__action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .ios-install-banner__action:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.ios-install-banner__action{will-change:auto;transition:none}.ios-install-banner__action:active{transform:none}}.ios-install-banner__close{color:var(--text-muted);cursor:pointer;will-change:transform, color, background;contain:layout style;background:0 0;border:none;border-radius:6px;flex-shrink:0;min-width:44px;min-height:44px;padding:4px;scroll-margin:8px;font-size:1rem;line-height:1;transition:color .15s,background .15s,transform .1s}@media (hover:hover){.ios-install-banner__close:hover{color:var(--text-main);background:#ffffff0f}:root[data-theme=light] .ios-install-banner__close:hover{background:#0000000f}}.ios-install-banner__close:active{transform:scale(.88)}.ios-install-banner__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:#ffffff0f}@media (prefers-reduced-motion:reduce){.ios-install-banner__close{will-change:auto;transition:none}.ios-install-banner__close:active{transform:none}}@media (hover:hover) and (pointer:fine){.scale-in:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001f}.fade-in[style*=background]:hover{filter:brightness(1.05)}.member-row:hover{cursor:default;background:#3b82f60f;transform:translateY(-1px)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){.scale-in:hover{box-shadow:none;transform:none}.fade-in[style*=background]:hover{filter:none}.member-row:hover{transform:none}}.flashcard-face{backface-visibility:hidden;box-sizing:border-box;border:1px solid var(--border);will-change:background, border-color;background:#0003;border-radius:20px;justify-content:center;align-items:center;padding:2rem;transition:background .2s,border-color .25s;display:flex;position:absolute;inset:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.flashcard-face{will-change:auto;transition:none}}.flashcard-face-back{background:#3b82f614;border:1px solid #3b82f633;transform:rotateY(180deg);box-shadow:0 4px 20px #3b82f626}:root[data-theme=light] .flashcard-face-back{background:#3b82f61f;border-color:#3b82f659}.flashcard-inner[data-swipe-state=right] .flashcard-face{background:#10b98126;border-color:#10b9814d}.flashcard-inner[data-swipe-state=left] .flashcard-face{background:#ef444426;border-color:#ef44444d}:root[data-theme=light] .flashcard-inner[data-swipe-state=right] .flashcard-face{background:#10b98138;border-color:#04785773}:root[data-theme=light] .flashcard-inner[data-swipe-state=left] .flashcard-face{background:#ef444438;border-color:#dc262673}.record-action-btns{contain:layout style;will-change:opacity;align-items:center;gap:2px;display:flex}@media (hover:none){.record-action-btns{opacity:.6}}@media (hover:hover) and (pointer:fine){.record-action-btns{opacity:0;transition:opacity .18s}.record-row:hover .record-action-btns{opacity:1}.record-row:hover{transition:box-shadow .2s,background .2s,border-color .2s;box-shadow:0 8px 24px #00000026}.record-delete-btn{transition:background .2s,transform .22s,opacity .18s;transform:translate(6px)}.record-row:hover .record-delete-btn{transform:translate(0)}.record-row:focus-within .record-action-btns{opacity:1}.record-row:focus-within{box-shadow:0 8px 24px #00000026}.record-row:focus-within .record-delete-btn{transform:translate(0)}}@keyframes deleteShine{0%{background-position:-200%}to{background-position:200%}}.record-delete-btn{color:var(--danger);contain:layout style;will-change:transform;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;padding:8px;transition:background .2s,transform .1s;position:relative;overflow:hidden}:root[data-theme=light] .record-delete-btn{color:#dc2626}.record-delete-btn[data-deleting]{background:#ef44441f}.record-delete-btn:focus-visible{outline:2px solid var(--danger);outline-offset:2px}:root[data-theme=light] .record-delete-btn:focus-visible{outline-color:#dc2626}.record-delete-btn:active{transform:scale(.9)}@media (prefers-reduced-motion:reduce){.record-delete-btn:active{transform:none}}@media (hover:hover){.record-delete-btn:hover:after{content:"";border-radius:inherit;pointer-events:none;will-change:background-position;background:linear-gradient(105deg,#0000 40%,#ef44442e 50%,#0000 60%) 0 0/200% 100%;animation:.45s forwards deleteShine;position:absolute;inset:0}}mark.memo-highlight{color:inherit;background:#6366f147;border-radius:2px;padding:0 1px}[data-theme=light] mark.memo-highlight{background:#6366f133}@keyframes searchPulseRing{0%{box-shadow:0 0 0 0 var(--accent);opacity:.7}to{opacity:0;box-shadow:0 0 0 8px #0000}}.records-search-input[data-pulse]{contain:layout style;will-change:box-shadow, opacity;animation:.5s ease-out searchPulseRing}@media (prefers-reduced-motion:reduce){.records-search-input[data-pulse]{will-change:auto;animation:none}}.group-create-btn{will-change:transform;position:relative;overflow:hidden}.group-create-btn:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff1a 50%,#0000 70%);transition:none;position:absolute;inset:0;transform:translate(-100%)}@media (hover:hover){.group-create-btn:hover:after{transition:transform .55s;transform:translate(100%)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.group-create-btn:hover:after{transition:none}}:root[data-theme=light] .group-create-btn:after{background:linear-gradient(110deg,#0000 30%,#0000000a 50%,#0000 70%)}@media (hover:hover){.word-list-row:hover{transform:translate(4px);transition:transform .18s!important}}@media (hover:hover) and (prefers-reduced-motion:reduce){.word-list-row:hover{transform:none}}.record-glass-card[data-deleting]{pointer-events:none;contain:layout style;animation:.38s forwards slideOutRight;overflow:hidden}@media (prefers-reduced-motion:reduce){.record-glass-card[data-deleting]{opacity:0;max-height:0;margin:0;padding:0;animation:none}}@keyframes recordEnter{0%{opacity:.6;transform:translateY(-6px)scale(.97);box-shadow:0 0 0 2px #10b98166}40%{box-shadow:0 0 0 2px #10b98140}to{box-shadow:none;opacity:1;transform:none}}.record-glass-card[data-new]{contain:layout style;will-change:transform, opacity;animation:.5s cubic-bezier(.22,1,.36,1) forwards recordEnter}.week-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);opacity:.75;text-wrap:balance;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:10px 4px 3px;font-size:.7rem;font-weight:700;display:flex}@keyframes wordNew{0%{background:#3b82f614;box-shadow:0 0 0 3px #3b82f68c}60%{background:#3b82f608;box-shadow:0 0 0 3px #3b82f633}to{box-shadow:none;background:0 0}}[data-glow=new]{contain:layout style;will-change:box-shadow, opacity;border-radius:12px;animation:1.5s forwards wordNew}@keyframes validateCheck{0%{transform:scale(1)}40%{transform:scale(1.1)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes wordMastered{0%{box-shadow:0 0 0 3px #10b98180}60%{box-shadow:0 0 0 3px #10b98133}to{box-shadow:none}}[data-glow=mastered]{contain:layout style;will-change:box-shadow;border-radius:12px;animation:.6s forwards wordMastered}@keyframes badgePulseGreen{0%{transform:scale(1);box-shadow:0 0 #10b9818c}40%{transform:scale(1.04);box-shadow:0 0 0 6px #10b98133}to{transform:scale(1);box-shadow:0 0 #10b98100}}[data-pulse].words-stat-card{contain:layout style;will-change:box-shadow, transform;animation:.55s forwards badgePulseGreen}@media (prefers-reduced-motion:reduce){[data-pulse].words-stat-card{will-change:auto;animation:none}}@keyframes allReadyPulse{0%{transform:scale(1);box-shadow:0 0 #10b98180}30%{transform:scale(1.03);box-shadow:0 0 0 10px #10b9812e}60%{transform:scale(1.01);box-shadow:0 0 0 16px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}.timer-ready-btn[data-all-ready-pulse]{contain:layout style;will-change:transform, box-shadow;animation:.7s forwards allReadyPulse}@media (prefers-reduced-motion:reduce){.timer-ready-btn[data-all-ready-pulse]{will-change:auto;animation:none}}@keyframes iconSpinOnce{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.15)}to{transform:rotate(360deg)scale(1)}}[data-spin]{contain:layout style;will-change:transform;animation:.4s cubic-bezier(.36,.07,.19,.97) iconSpinOnce;display:inline-flex}@keyframes navIconBounce{0%{transform:scale(1)}35%{transform:scale(1.25)}65%{transform:scale(.88)}to{transform:scale(1)}}.bottom-nav-icon-wrap[data-bounce]{contain:layout style;will-change:transform;animation:.35s cubic-bezier(.36,.07,.19,.97) navIconBounce,.2s navIconPop}@keyframes navIconPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes errorSettle{0%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.96)}to{transform:scale(1)}}@keyframes iconPulse{0%,to{opacity:.15}50%{opacity:.3}}@media (hover:hover){.scale-in:hover .stat-icon-bg{contain:layout style;animation:1.5s ease-in-out infinite iconPulse}}@media (hover:hover) and (prefers-reduced-motion:reduce){.scale-in:hover .stat-icon-bg{animation:none}}input:invalid{box-shadow:0 0 0 2px #ef444440}input:focus:invalid{border-color:var(--danger);box-shadow:0 0 0 3px #ef44444d}:root[data-theme=light] input:focus:invalid{border-color:#dc2626;box-shadow:0 0 0 3px #dc262666}.details-chevron{will-change:transform;contain:layout style;transition:transform .22s;display:inline-block}details[open] .details-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.details-chevron{will-change:auto;transition:none}}@keyframes arrowUp{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes arrowDown{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}@keyframes activityBadgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.04)}}.group-activity-badge-pulse{background:var(--badge-bg,#f59e0b26);color:var(--badge-color,var(--warning));border:1px solid var(--badge-border,#f59e0b40);contain:layout style;will-change:transform, filter;border-radius:6px;padding:1px 6px;font-size:.6rem;font-weight:600;transition:transform .18s,filter .18s;animation:.2s both scaleIn,2.2s ease-in-out infinite activityBadgePulse}.group-activity-badge-pulse[data-activity=active]{--badge-bg:#10b98126;--badge-color:var(--success);--badge-border:#10b98140}.group-activity-badge-pulse[data-activity=recent]{--badge-bg:#f59e0b26;--badge-color:var(--warning);--badge-border:#f59e0b40}@media (hover:hover){.group-activity-badge-pulse:hover{filter:brightness(1.2);animation-play-state:paused;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.group-activity-badge-pulse{will-change:auto;animation:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.group-activity-badge-pulse:hover{filter:none}}:root[data-theme=light] .group-activity-badge-pulse[data-activity=active]{--badge-bg:#10b98138;--badge-border:#10b98166;--badge-color:#059669}:root[data-theme=light] .group-activity-badge-pulse[data-activity=recent]{--badge-bg:#f59e0b38;--badge-border:#f59e0b66;--badge-color:#b45309}.settings-theme-btn{will-change:transform;contain:layout style;scroll-margin:8px;transition:transform .18s,box-shadow .18s}@media (hover:hover){.settings-theme-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px #3b82f638}:root[data-theme=light] .settings-theme-btn:hover{box-shadow:0 4px 14px #3b82f62e}}@media (prefers-reduced-motion:reduce){.settings-theme-btn{will-change:auto}.settings-theme-btn:hover{transform:none!important}}.theme-preview-row{gap:8px;margin-top:6px;display:flex}.theme-preview-card{cursor:pointer;will-change:transform;contain:layout style;min-height:44px;font:inherit;text-align:left;border-radius:10px;flex-direction:column;flex:1;gap:4px;padding:8px 10px;scroll-margin:8px;transition:transform .18s,box-shadow .18s,outline .2s;display:flex}.theme-preview-card[data-theme-preview=dark]{background:#0f1117;border:1px solid #ffffff14}.theme-preview-card[data-theme-preview=light]{background:#f8fafc;border:1px solid #00000014}.theme-preview-card[data-active=true]{box-shadow:0 0 0 2px var(--accent), 0 0 12px #6366f14d}:root[data-theme=light] .theme-preview-card[data-active=true]{box-shadow:0 0 0 2px #1d4ed8}@media (hover:hover){.theme-preview-card:hover{transform:scale(1.03);box-shadow:0 4px 16px #00000040}}@media (prefers-reduced-motion:reduce){.theme-preview-card:hover{transform:none!important}}.theme-preview-label{letter-spacing:.02em;-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.65rem;font-weight:600}.theme-preview-card[data-theme-preview=dark] .theme-preview-label{color:#e2e8f0}.theme-preview-card[data-theme-preview=light] .theme-preview-label{color:#1e293b}.theme-preview-bar-accent{background:var(--accent);border-radius:3px;width:60%;height:6px}.theme-preview-bar-muted{border-radius:2px;width:80%;height:4px}.theme-preview-card[data-theme-preview=dark] .theme-preview-bar-muted{background:#94a3b899}.theme-preview-card[data-theme-preview=light] .theme-preview-bar-muted{background:#64748b99}@media (hover:hover){.chart-bar-col:hover .chart-bar{filter:brightness(1.35)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.chart-bar-col:hover .chart-bar{filter:none}}.settings-font-btn{contain:layout style;will-change:transform;transition:transform .18s,box-shadow .18s}.settings-font-btn[data-active=false]{box-shadow:inset 0 -2px #0000}.settings-font-btn[data-active=true]{box-shadow:inset 0 -2px 0 var(--accent)}:root[data-theme=light] .settings-font-btn[data-active=true]{box-shadow:inset 0 -2px #1d4ed8}@media (hover:hover){.settings-font-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px #3b82f638}:root[data-theme=light] .settings-font-btn:hover{box-shadow:0 4px 14px #3b82f62e}}@media (prefers-reduced-motion:reduce){.settings-font-btn{will-change:auto;transition:none}.settings-font-btn:hover{transform:none!important}}.settings-font-preview{text-align:center;color:var(--text-muted);letter-spacing:.03em;background:#3b82f60f;border-radius:8px;padding:8px 12px;font-size:1rem;transition:font-size .2s}.settings-font-preview[data-size=small]{font-size:.85rem}.settings-font-preview[data-size=large]{font-size:1.15rem}:root[data-theme=light] .settings-font-preview{color:#475569;background:#3b82f61a;border:1px solid #3b82f62e}.settings-accordion{opacity:0;will-change:max-height, opacity;max-height:0;transition:max-height .35s,opacity .25s;overflow:hidden}.settings-accordion[data-open=true]{opacity:1;max-height:400px}@media (prefers-reduced-motion:reduce){.settings-accordion{will-change:auto;transition:none}}.settings-accordion-form{flex-direction:column;gap:10px;padding-top:2px;display:flex}.group-join-btn:not(:disabled):active{transform:scale(.95);box-shadow:0 1px 4px #00000040}@media (prefers-reduced-motion:reduce){.group-join-btn:not(:disabled):active{transform:none}}@keyframes pauseIconBlink{0%,to{opacity:1}50%{opacity:.6}}.pause-resume-btn[data-paused]{contain:layout style;will-change:opacity;animation:2s ease-in-out infinite pauseIconBlink}@media (prefers-reduced-motion:reduce){.pause-resume-btn[data-paused]{will-change:auto;animation:none}}.page-input{transition:border-color .2s,box-shadow .2s}@media (hover:hover){.page-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .page-input:not(:focus):hover{border-color:#1d4ed899}}.page-input:focus{outline:none;box-shadow:0 0 0 2px #3b82f640;border-color:var(--accent)!important}:root[data-theme=light] .page-input:focus{box-shadow:0 0 0 3px #1d4ed84d;border-color:#1d4ed8!important}.chart-bar{transition:filter .15s,transform .15s,opacity .15s,background .3s,height .3s}@media (hover:hover){.chart-bar-col:hover .chart-bar{transform:translateY(-2px)}}@keyframes sectionUnderlineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.settings-section-title{text-wrap:balance;padding-bottom:4px;position:relative}.settings-section-title:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);transform-origin:0;opacity:.45;contain:layout style;will-change:transform;width:100%;height:1px;animation:.45s forwards sectionUnderlineGrow;position:absolute;bottom:0;left:0;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.settings-section-title:after{will-change:auto;animation:none}}:root[data-theme=light] .settings-section-title{color:#475569}@media (hover:hover){.qr-save-btn:not(:disabled):hover{transform:scale(1.04);box-shadow:0 0 14px #3b82f673}}.qr-save-btn{will-change:transform;transition:transform .18s,box-shadow .18s}.qr-save-btn[data-success]{box-shadow:0 0 0 2px var(--success)}.qr-save-btn:not(:disabled):active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.qr-save-btn:not(:disabled):active{transform:none!important}}@media (hover:hover){.settings-section-title:hover .settings-icon-badge,summary.settings-section-title:hover .settings-icon-badge{transform:rotate(15deg)scale(1.1)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.settings-section-title:hover .settings-icon-badge,summary.settings-section-title:hover .settings-icon-badge{transform:none}}.settings-icon-badge{width:28px;height:28px;color:var(--accent);will-change:transform;background:#3b82f61a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .22s;display:inline-flex}:root[data-theme=light] .settings-icon-badge{color:#1d4ed8;background:#1d4ed814}.lobby-tab-bar{border-bottom:1px solid var(--border-color);gap:0;display:flex}.lobby-tab-btn{color:var(--text-muted);cursor:pointer;contain:layout style;will-change:transform, color, background;background:0 0;border:none;border-radius:0;flex:1;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 12px;scroll-margin:8px;font-size:.85rem;font-weight:500;transition:color .2s,background .15s,transform .1s;display:flex;position:relative}.lobby-tab-btn:after{content:"";background:var(--accent);will-change:width;border-radius:2px 2px 0 0;width:0;height:2px;transition:width .28s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.lobby-tab-btn:after{will-change:auto;transition:none}}.lobby-tab-btn[data-active=true]{color:var(--accent);font-weight:600}:root[data-theme=light] .lobby-tab-btn[data-active=true]{color:#1d4ed8}:root[data-theme=light] .lobby-tab-btn:not([data-active=true]){color:#475569}.lobby-tab-btn[data-active=true]:after{width:80%}.group-card-chevron{contain:layout style;color:var(--text-muted);opacity:.45;will-change:transform, opacity;flex-shrink:0;transition:transform .2s,opacity .2s}.group-card-chevron[data-open]{opacity:.8;transform:rotate(90deg)}@media (hover:hover){.group-card:hover .group-card-chevron{opacity:.7;transform:translate(3px)}.group-card:hover .group-card-chevron[data-open]{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.group-card-chevron{will-change:auto;transition:none}}@keyframes soundFlash{0%{background:#3b82f659}to{background:0 0}}.settings-sound-btn[data-flashing]{contain:layout style;animation:.32s ease-out forwards soundFlash}@media (prefers-reduced-motion:reduce){.settings-sound-btn[data-flashing]{animation:none}}@keyframes startBtnIdlePulse{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 0 7px #3b82f638}}.timer-ready-btn[data-idle-pulse]{contain:layout style;will-change:box-shadow;animation:2s ease-in-out infinite startBtnIdlePulse}.heatmap-day-cell[data-clickable]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@keyframes emptyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.empty-state-bounce-icon{contain:layout style;will-change:transform;animation:2s ease-in-out infinite emptyBounce}@media (prefers-reduced-motion:reduce){.empty-state-bounce-icon{will-change:auto;animation:none}}@keyframes correctPop{0%{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 12px #10b98180}to{transform:scale(1)}}@keyframes incorrectShake{0%{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}@keyframes spinReverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.pause-resume-btn:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.pause-resume-btn{will-change:auto;transition:none}.pause-resume-btn:active{transform:none}}.settings-section-title{will-change:border-left-color;border-left:2px solid #0000;padding-left:6px;transition:border-left-color .2s}@media (hover:hover){.settings-section-title:hover,summary.settings-section-title:hover{border-left-color:var(--accent)}}@media (prefers-reduced-motion:reduce){.settings-section-title{will-change:auto;transition:none}}.segment-control button[data-selected=false]{opacity:.75}@keyframes ownerCrown{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.owner-crown{contain:layout style;-webkit-user-select:none;user-select:none;will-change:transform;font-size:.85em;line-height:1;animation:2s ease-in-out infinite ownerCrown;display:inline-block}@media (prefers-reduced-motion:reduce){.owner-crown{will-change:auto;animation:none}}@keyframes successPulse{0%{background:var(--accent);box-shadow:0 0 #22c55e99}50%{background:#22c55ed9;box-shadow:0 0 0 6px #22c55e00}to{background:var(--accent);box-shadow:0 0 #22c55e00}}.modal-add-submit-btn[data-success]{contain:layout style;will-change:box-shadow, background;animation:.4s forwards successPulse}@media (prefers-reduced-motion:reduce){.modal-add-submit-btn[data-success]{will-change:auto;animation:none}}@keyframes correctFlash{0%{background:#10b98166;border-radius:8px}to{background:0 0}}.quiz-correct-flash{contain:layout style;will-change:background;animation:.5s forwards correctFlash}@media (prefers-reduced-motion:reduce){.quiz-correct-flash{will-change:auto;animation:none}}.quiz-feedback-wrapper{contain:layout style;will-change:opacity;margin-top:12px;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.quiz-feedback-wrapper{will-change:auto;animation:none}}.quiz-feedback-correct{color:var(--success);padding:4px 8px;font-size:1rem;font-weight:600}.quiz-feedback-icon{vertical-align:middle;margin-right:4px}.quiz-feedback-wrong{color:var(--danger);margin-bottom:4px;font-size:1rem;font-weight:600}:root[data-theme=light] .quiz-feedback-correct{color:#047857}:root[data-theme=light] .quiz-feedback-wrong{color:#dc2626}.quiz-feedback-answer{color:var(--text-main);opacity:.9;contain:layout style;will-change:opacity;font-size:.9rem;animation:.12s both fadeIn}.record-date-header{contain:layout style;will-change:filter, transform, opacity;touch-action:manipulation;transition:filter .2s,transform .1s}@media (hover:hover){.record-date-header:hover{filter:brightness(1.25);cursor:pointer}}.record-date-header[data-clickable=true]:active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){.record-date-header{will-change:auto;transition:none}.record-date-header[data-clickable=true]:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.record-date-header:hover{filter:none}}@keyframes goalAchievedPulse{0%,to{filter:brightness(.7)}50%{filter:brightness()}}.goal-achieved-pulse,.stats-goal-progress-track[data-achieved=true] .stats-goal-fill{contain:layout style;will-change:filter;animation:2s ease-in-out infinite goalAchievedPulse}@media (prefers-reduced-motion:reduce){.goal-achieved-pulse,.stats-goal-progress-track[data-achieved=true] .stats-goal-fill{will-change:auto;animation:none}}@keyframes tabEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-enter]{contain:layout style;will-change:transform, opacity;animation:.2s forwards tabEnter}@keyframes emptyFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state-fadein{contain:layout style;will-change:transform, opacity;animation:.5s forwards emptyFadeIn}.flashcard-action-btn:active{transform:scale(.93)}.flashcard-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .flashcard-action-btn:focus-visible{outline-color:#1d4ed8}.flashcard-action-btn{will-change:transform, filter;contain:layout style;-webkit-user-select:none;user-select:none;transition:filter .18s,transform .18s}@media (hover:hover){.flashcard-action-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.flashcard-action-btn{will-change:auto;transition:none}.flashcard-action-btn:hover{filter:none;transform:none}}@keyframes selfRowGlow{0%{box-shadow:0 0 #3b82f600}30%{box-shadow:0 0 0 4px #3b82f659,0 0 12px #3b82f640}to{box-shadow:0 0 #3b82f600}}@keyframes goalInputFocus{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb,59 130 246) / 0);border-color:var(--border)}50%{box-shadow:0 0 0 3px #3b82f64d,0 0 8px #3b82f633}to{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f640}}.goal-input:focus{border-color:var(--accent);outline:none;animation:.25s forwards goalInputFocus;box-shadow:0 0 0 2px #3b82f640,0 0 8px #3b82f626}:root[data-theme=light] .goal-input:focus{border-color:#1d4ed8!important}.record-date-header{font-variant-numeric:tabular-nums}@keyframes sectionSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.settings-section{will-change:transform, opacity;animation:.3s both sectionSlideIn}.settings-section:first-child{animation-delay:0s}.settings-section:nth-child(2){animation-delay:50ms}.settings-section:nth-child(3){animation-delay:.1s}.settings-section:nth-child(4){animation-delay:.15s}.settings-section:nth-child(5){animation-delay:.2s}.settings-section:nth-child(6){animation-delay:.25s}.settings-section:nth-child(7){animation-delay:.3s}.settings-section:nth-child(8){animation-delay:.35s}.settings-section:nth-child(9){animation-delay:.4s}.settings-section:nth-child(10){animation-delay:.45s}@media (prefers-reduced-motion:reduce){.settings-section{will-change:auto;animation:none}}@keyframes rankRowSlide{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.rank-row{contain:layout style;will-change:filter, transform, background;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;transition:background .2s,filter .2s;display:flex}@media (hover:hover){.rank-row:hover{filter:brightness(1.05);background:#3b82f60d;border-radius:8px}:root[data-theme=light] .rank-row:hover{background:#0000000a}}@media (prefers-reduced-motion:reduce){.rank-row{will-change:auto;animation:none!important}}@media (hover:hover) and (prefers-reduced-motion:reduce){.rank-row:hover{filter:none}}.rank-row:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.rank-row:active{transform:none}}.rank-row[data-rank=me]{background:#3b82f61a;border:1px solid #3b82f640;animation:1.5s ease-out forwards selfRowGlow}@media (prefers-reduced-motion:reduce){.rank-row[data-rank=me]{will-change:auto;animation:none}}.rank-row[data-rank=gold]{animation:.2s both rankRowSlide;animation-delay:var(--rank-delay,0s);background:#f59e0b1a;border:1px solid #f59e0b33}.rank-row[data-rank=silver]{animation:.2s both rankRowSlide;animation-delay:var(--rank-delay,0s);background:#c0c0c012;border:1px solid #c0c0c02e}.rank-row[data-rank=bronze]{animation:.2s both rankRowSlide;animation-delay:var(--rank-delay,0s);background:#cd7f3214;border:1px solid #cd7f322e}.rank-row:not([data-rank]){animation:.2s both rankRowSlide;animation-delay:var(--rank-delay,0s);background:#ffffff08;border:1px solid #0000}@media (prefers-reduced-motion:reduce){.rank-row[data-rank=gold],.rank-row[data-rank=silver],.rank-row[data-rank=bronze],.rank-row:not([data-rank]){will-change:auto;animation:none}}:root[data-theme=light] .rank-row:not([data-rank]){background:#00000005}:root[data-theme=light] .rank-row[data-rank=silver]{background:#0000000a}:root[data-theme=light] .rank-row[data-rank=gold]{background:#f59e0b24;border-color:#f59e0b4d}:root[data-theme=light] .rank-row[data-rank=bronze]{background:#cd7f321f;border-color:#cd7f3240}:root[data-theme=light] .rank-row[data-rank=me]{background:#3b82f629;border-color:#3b82f652}.rank-row:first-child{--rank-delay:0s}.rank-row:nth-child(2){--rank-delay:60ms}.rank-row:nth-child(3){--rank-delay:.12s}.rank-row:nth-child(4){--rank-delay:.18s}.rank-row:nth-child(5){--rank-delay:.24s}.rank-row:nth-child(6){--rank-delay:.3s}.rank-row:nth-child(7){--rank-delay:.36s}.rank-row:nth-child(8){--rank-delay:.42s}.rank-row:nth-child(9){--rank-delay:.48s}.rank-row:nth-child(10){--rank-delay:.54s}.rank-row:nth-child(11){--rank-delay:.6s}.rank-row:nth-child(12){--rank-delay:.66s}.rank-row:nth-child(13){--rank-delay:.72s}.rank-row:nth-child(14){--rank-delay:.78s}.rank-row:nth-child(15){--rank-delay:.84s}.rank-row:nth-child(16){--rank-delay:.9s}.rank-row:nth-child(17){--rank-delay:.96s}.rank-row:nth-child(18){--rank-delay:1.02s}.rank-row:nth-child(19){--rank-delay:1.08s}.rank-row:nth-child(20){--rank-delay:1.14s}.rank-name-col{font-weight:500}.rank-name-col[data-me]{font-weight:600}@keyframes createSuccessFlash{0%{border-color:var(--accent);box-shadow:0 0 #10b98180}50%{border-color:var(--success);box-shadow:0 0 0 6px #10b98100}to{box-shadow:none;border-color:#0000}}.group-create-submit-btn[data-success]{will-change:border-color, box-shadow;animation:.5s forwards createSuccessFlash}@media (prefers-reduced-motion:reduce){.group-create-submit-btn[data-success]{will-change:auto;animation:none}}.heatmap-day-cell[role=button]{touch-action:manipulation;will-change:transform, filter;contain:layout style;transition:transform .1s,filter .15s}@media (hover:hover){.heatmap-day-cell[role=button]:hover{filter:brightness(1.3)}}.heatmap-day-cell[role=button]:active{transform:scale(.85)}@media (prefers-reduced-motion:reduce){.heatmap-day-cell[role=button]{will-change:auto;transition:none}.heatmap-day-cell[role=button]:hover,.heatmap-day-cell[role=button]:active{filter:none;transform:none}}.heatmap-day-cell[role=button]{-webkit-user-select:none;user-select:none}.segment-control button:not([data-selected=true]):active{transform:scale(.92)}.segment-control button[data-selected=true]:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.segment-control button{will-change:auto}.segment-control button:active{transform:none!important}}.expand-toggle-btn{contain:layout style;will-change:transform, opacity;transition:transform .2s,opacity .2s,color .2s!important}@media (hover:hover){.expand-toggle-btn:hover{opacity:1!important;transform:scale(1.2)rotate(90deg)!important}}.expand-toggle-btn:active{transform:scale(.88)!important}@media (prefers-reduced-motion:reduce){.expand-toggle-btn:active{transform:none!important}}.settings-font-btn:active{transition:transform .1s!important;transform:scale(.93)!important}@media (prefers-reduced-motion:reduce){.settings-font-btn:active{transform:none!important}}.accent-swatch-btn:active{transition:transform .1s!important;transform:scale(.95)!important}@media (prefers-reduced-motion:reduce){.accent-swatch-btn:active{transform:none!important}}.word-list-row{contain:layout style;will-change:transform, opacity, background, border-left-color;border-left:2px solid #0000;transition:border-left-color .18s,opacity .3s,transform .3s,background .15s}@media (hover:hover){.word-list-row:hover{border-left-color:var(--accent);background:#ffffff0a}:root[data-theme=light] .word-list-row:hover{background:#0000000d;border-left-color:#1d4ed8}}.word-list-row[data-pinned=true]{border-left-color:#f59e0b73}:root[data-theme=light] .word-list-row[data-pinned=true]{border-left-color:#78350f}.word-list-pin-separator{background:linear-gradient(90deg,#f59e0b59,#0000);height:1px;margin:4px 0}:root[data-theme=light] .word-list-pin-separator{background:linear-gradient(90deg,#b453094d,#0000)}.word-list-row:focus-within{background:#3b82f60f}:root[data-theme=light] .word-list-row:focus-within{background:#1d4ed80d}.word-list-row:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.word-list-row{will-change:auto;transition:none}.word-list-row:active{transform:none}}@keyframes themeSelectPop{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}.settings-theme-btn:active{animation:.2s forwards themeSelectPop!important}@media (prefers-reduced-motion:reduce){.settings-theme-btn:active{animation:none!important}}.record-page-range{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:6px;font-weight:500;display:flex}.record-glass-card{will-change:transform, box-shadow;border-left:3px solid var(--accent);-webkit-user-select:none;user-select:none;contain:layout style;background:#ffffff0a;border-radius:12px;flex-direction:column;padding:10px 16px;scroll-margin:8px;transition:transform .18s,box-shadow .18s,border-left-color .2s,background .2s,border-color .2s;display:flex}:root[data-theme=light] .record-glass-card{background:#00000008}.record-glass-card[data-card-type=delete]{background:#ef44440d;border-color:#ef444433}.record-glass-card[data-card-type=memo]{background:#3b82f612;border-left:3px solid #3b82f673;padding-left:13px}@media (hover:hover){.record-glass-card:not([data-deleting]):hover{box-shadow:0 6px 20px #0000002e, 0 0 0 1px rgba(var(--accent-rgb,59 130 246) / .12);border-left-color:color-mix(in srgb, var(--accent) 80%, white 20%);transform:translateY(-2px)}}.record-glass-card:not([data-deleting]):active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.record-glass-card{will-change:auto;transition:none!important;transform:none!important}}@media (hover:hover) and (prefers-reduced-motion:reduce){.record-glass-card:not([data-deleting]):hover{transform:none}}.record-glass-card:focus-within{box-shadow:0 0 0 2px #3b82f640}:root[data-theme=light] .record-glass-card:focus-within{box-shadow:0 0 0 2px #1d4ed833}@keyframes monthStrIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.month-str{color:var(--text-muted);font-variant-numeric:tabular-nums;contain:layout style;will-change:transform, opacity;align-items:center;gap:8px;margin:0;font-size:.9rem;animation:.2s cubic-bezier(.16,1,.3,1) both monthStrIn;display:flex}@media (prefers-reduced-motion:reduce){.month-str{animation:none!important}}:root[data-theme=light] .month-str{color:#475569}@keyframes langSelectPop{0%{transform:scale(.9)}60%{transform:scale(1.05)}to{transform:scale(1)}}.lang-btn:active{animation:.2s forwards langSelectPop!important}@media (prefers-reduced-motion:reduce){.lang-btn:active{animation:none!important}}.lang-btn{will-change:transform, filter, background;min-height:44px;padding:10px 14px;transition:filter .12s,background .12s}@media (prefers-reduced-motion:reduce){.lang-btn{will-change:auto;transition:none}}.segment-control .lang-btn{min-height:44px}@keyframes statValuePulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@media (hover:hover){.stat-value:hover{cursor:default;animation:.2s forwards statValuePulse}}@media (prefers-reduced-motion:reduce){.stat-value:hover{animation:none!important}}.auth-panel{flex-direction:column;gap:1.25rem;width:100%;max-width:400px;margin:10vh auto auto;display:flex}.auth-form{contain:layout style;flex-direction:column;gap:12px;display:flex}.auth-form input{will-change:border-color, box-shadow;transition:border-color .2s,box-shadow .2s}@media (hover:hover){.auth-form input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .auth-form input:not(:focus):hover{border-color:#1d4ed899}}.auth-form input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 2px #ef444438}:root[data-theme=light] .auth-form input[aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 2px #dc262666}.auth-input-pw{padding-right:44px}.auth-welcome-text{color:var(--text-muted);text-align:center;-webkit-user-select:none;user-select:none;text-wrap:balance;margin:0;font-size:.85rem}:root[data-theme=light] .auth-welcome-text{color:#475569}.auth-input-pw[data-strength="1"]{border-color:#ef4444;box-shadow:0 0 0 2px #ef444426}.auth-input-pw[data-strength="2"]{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b26}.auth-input-pw[data-strength="3"]{border-color:#eab308;box-shadow:0 0 0 2px #eab30826}.auth-input-pw[data-strength="4"]{border-color:var(--success);box-shadow:0 0 0 2px #10b98133}:root[data-theme=light] .auth-input-pw[data-strength="1"]{box-shadow:0 0 0 2px #ef444440}:root[data-theme=light] .auth-input-pw[data-strength="2"]{box-shadow:0 0 0 2px #f59e0b40}:root[data-theme=light] .auth-input-pw[data-strength="3"]{box-shadow:0 0 0 2px #eab30840}:root[data-theme=light] .auth-input-pw[data-strength="4"]{box-shadow:0 0 0 2px #10b9814d}:root[data-theme=light] .auth-input-pw[data-strength="1"]{border-color:#dc2626}:root[data-theme=light] .auth-input-pw[data-strength="2"]{border-color:#b45309}:root[data-theme=light] .auth-input-pw[data-strength="3"]{border-color:#a16207}:root[data-theme=light] .auth-input-pw[data-strength="4"]{border-color:#047857}.auth-input-pw[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 2px #ef444438}.auth-input-pw[data-capslock]{border-color:var(--warning);box-shadow:0 0 0 2px #f59e0b2e}:root[data-theme=light] .auth-input-pw[data-capslock]{border-color:#b45309;box-shadow:0 0 0 2px #b453094d}.auth-tab-btn{color:var(--text-muted);background:0 0}.auth-tab-btn[data-active=true]{background:var(--accent);color:#fff;contain:layout style;will-change:transform;animation:.18s both scaleIn}:root[data-theme=light] .auth-tab-btn:not([data-active=true]){color:#475569}.auth-tab-wrapper{background:var(--input-bg);border-radius:12px;gap:4px;padding:4px;display:flex}.auth-tab-btn{cursor:pointer;will-change:transform, color, background;contain:layout style;border:none;border-radius:10px;flex:1;min-height:44px;padding:12px 0;scroll-margin:8px;font-size:.9rem;font-weight:600;transition:background .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1)}@media (hover:hover){.auth-tab-btn:hover{background:#80808014;transform:scale(1.02)}:root[data-theme=light] .auth-tab-btn:not([data-active=true]):hover{background:#00000014}}.auth-tab-btn:active{transform:scale(.93);transition:transform .1s!important}.auth-tab-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .auth-tab-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.auth-tab-btn{will-change:auto}.auth-tab-btn:hover{transform:none}.auth-tab-btn:active{transform:none!important}.auth-tab-btn[data-active=true]{will-change:auto;animation:none}}@media (hover:hover){.mini-bar:hover{filter:brightness(1.5);cursor:default}}@media (prefers-reduced-motion:reduce){.mini-bar{transition:none!important}}@media (hover:hover) and (prefers-reduced-motion:reduce){.mini-bar:hover{filter:none}}@keyframes refreshSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-word-btn:active{animation:.4s forwards refreshSpin!important}.refresh-word-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .refresh-word-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.refresh-word-btn:active{transform:scale(.92);animation:none!important}}@keyframes btnStaggerIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.qr-save-btn{animation:.2s both btnStaggerIn}.qr-skip-btn{animation:.2s 60ms both btnStaggerIn}@media (prefers-reduced-motion:reduce){.qr-save-btn,.qr-skip-btn{will-change:auto;animation:none}}.segment-control button:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}:root[data-theme=light] .segment-control button:focus-visible{outline-color:#1d4ed8}.group-join-btn{will-change:transform, filter;contain:layout style;transition:transform .15s,box-shadow .15s,filter .15s}@media (hover:hover){.group-join-btn:not(:disabled):hover{filter:brightness(1.08);transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.group-join-btn{will-change:auto;transition:none}.group-join-btn:not(:disabled):hover{transform:none!important}}@media (hover:hover) and (prefers-reduced-motion:reduce){.group-join-btn:not(:disabled):hover{filter:none}}@media (hover:hover){.refresh-word-btn:hover{color:var(--accent);opacity:.85}}.start-btn:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.start-btn:active{transform:none!important}}@keyframes dateHeaderFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.record-date-header{animation:.2s both dateHeaderFadeIn}@media (prefers-reduced-motion:reduce){.record-date-header{animation:none}}@keyframes rankHeaderSlide{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.rank-section-header,.stats-section-header{contain:layout style;will-change:transform, opacity;animation:.25s both rankHeaderSlide}.stats-section-header:nth-child(2){animation-delay:60ms}.stats-section-header:nth-child(3){animation-delay:.12s}.stats-section-header:nth-child(4){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.rank-section-header,.stats-section-header{will-change:auto;animation:none!important}}.modal-word-detail-panel,.flashcard-stats-panel{background:#3b82f60f;border:1px solid #3b82f626;border-radius:12px;flex-direction:column;gap:8px;width:100%;padding:12px;display:flex}.flashcard-stats-panel{margin-bottom:.75rem}.auth-form-header-row{justify-content:space-between;align-items:center;display:flex}.stats-section-subhead{color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-bottom:12px;font-size:.9rem;display:flex}.group-create-submit-btn{will-change:transform, filter;transition:transform .15s,filter .15s}@media (hover:hover){.group-create-submit-btn:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.group-create-submit-btn:not(:disabled):hover{filter:none;transform:none!important}}.group-create-submit-btn[data-disabled=true],.group-join-btn[data-disabled=true]{cursor:not-allowed;opacity:.5}.share-btn:active{transform:scale(.88)}@media (prefers-reduced-motion:reduce){.share-btn:active{transform:none!important}}.records-filter-btn,.records-sort-btn{border-color:var(--border);min-width:auto;min-height:44px;color:var(--text-muted);will-change:transform, background, color;background:#ffffff0a;align-items:center;gap:4px;padding:8px 10px;scroll-margin:8px;font-size:.75rem;transition:transform .12s,background .15s,color .15s;display:flex}.records-filter-btn:focus-visible,.records-sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .records-filter-btn:focus-visible,:root[data-theme=light] .records-sort-btn:focus-visible{outline-color:#1d4ed8}.records-filter-btn:active,.records-sort-btn:active{transform:scale(.93)}@media (prefers-reduced-motion:reduce){.records-filter-btn,.records-sort-btn{will-change:auto;transition:none!important}.records-filter-btn:active,.records-sort-btn:active{transform:none!important}}:root[data-theme=light] .records-filter-btn,:root[data-theme=light] .records-sort-btn{color:#475569;background:#00000012}.modal-reset-confirm-btn,.modal-reset-cancel-btn{will-change:transform, filter, opacity;transition:transform .12s,filter .15s,opacity .15s}.modal-reset-confirm-btn:focus-visible,.modal-reset-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .modal-reset-confirm-btn:focus-visible,:root[data-theme=light] .modal-reset-cancel-btn:focus-visible{outline-color:#1d4ed8}.modal-reset-confirm-btn:active{transform:scale(.92)}.modal-reset-cancel-btn:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.modal-reset-confirm-btn:active,.modal-reset-cancel-btn:active{transform:none!important}}@media (hover:hover){.modal-reset-confirm-btn:hover{filter:brightness(1.1)}.modal-reset-cancel-btn:hover{opacity:.8}}@media (hover:hover) and (prefers-reduced-motion:reduce){.modal-reset-confirm-btn:hover{filter:none}}@keyframes goalTextPop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.goal-achieved-text,.stats-goal-current[data-achieved=true]{contain:layout style;will-change:transform;animation:.3s both goalTextPop;display:inline-flex}@media (prefers-reduced-motion:reduce){.goal-achieved-text,.stats-goal-current[data-achieved=true]{animation:none!important}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.logo-float-icon{animation:none!important}}.auth-logo-icon{background-clip:unset;-webkit-background-clip:unset;font:inherit;background:linear-gradient(135deg, var(--accent), #8b5cf6, #ec4899);cursor:pointer;contain:layout style;will-change:transform;border:none;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;padding:0;animation:3s ease-in-out infinite float;display:flex;box-shadow:0 8px 32px #3b82f659}@media (prefers-reduced-motion:reduce){.auth-logo-icon{will-change:auto;animation:none}}.auth-logo-icon[data-celebrating=true]{animation:.5s celebrate}.auth-title{letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent), #8b5cf6);-webkit-text-fill-color:transparent;text-wrap:balance;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.8rem;font-weight:700}:root[data-theme=light] .auth-title{background:linear-gradient(135deg,#1d4ed8,#7c3aed)}.auth-header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}@keyframes msgFadeSlide{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spinnerMsgBreathe{0%,to{opacity:1}50%{opacity:.6}}.spinner-message{color:var(--text-muted);font-size:var(--spinner-font-size,.9rem);letter-spacing:.04em;-webkit-user-select:none;user-select:none;text-wrap:balance;contain:layout style;will-change:transform, opacity;margin:0;animation:.3s both msgFadeSlide,1.5s ease-in-out .2s infinite spinnerMsgBreathe}@media (prefers-reduced-motion:reduce){.spinner-message{animation:none!important}}:root[data-theme=light] .spinner-message{color:#475569}.lobby-tab-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:4px}:root[data-theme=light] .lobby-tab-btn:focus-visible{outline-color:#1d4ed8}.lobby-tab-btn:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.lobby-tab-btn{will-change:auto}.lobby-tab-btn:active{transform:none!important}}@media (hover:hover){.lobby-tab-btn:not([data-active=true]):hover{color:var(--text-main);background:rgba(var(--accent-rgb,59 130 246) / .05)}:root[data-theme=light] .lobby-tab-btn:not([data-active=true]):hover{background:#3b82f617}}.expand-toggle-btn:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px!important;border-radius:4px!important}.settings-theme-btn:focus-visible,.settings-font-btn:focus-visible,.lang-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .settings-theme-btn:focus-visible,:root[data-theme=light] .settings-font-btn:focus-visible,:root[data-theme=light] .lang-btn:focus-visible{outline-color:#1d4ed8}.stat-card{contain:layout style;cursor:default;will-change:transform, box-shadow, border-color;border:1px solid #0000;transition:transform .2s,box-shadow .2s,border-color .2s}@media (hover:hover) and (pointer:fine){.stat-card:hover{border-color:#3b82f62e;transform:translateY(-2px);box-shadow:0 4px 16px #0000002e}:root[data-theme=light] .stat-card:hover{border-color:#3b82f659;box-shadow:0 4px 16px #00000014}}.stat-card:active{transition:transform .1s;transform:scale(.97)}@media (prefers-reduced-motion:reduce){.stat-card{will-change:auto;transition:none}.stat-card:hover,.stat-card:active{transform:none}}@keyframes statCardEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stats-grid .stat-card{contain:layout style;will-change:transform, opacity;animation:.28s cubic-bezier(.16,1,.3,1) both statCardEnter}.stats-grid .stat-card:first-child{animation-delay:0s}.stats-grid .stat-card:nth-child(2){animation-delay:40ms}.stats-grid .stat-card:nth-child(3){animation-delay:80ms}.stats-grid .stat-card:nth-child(4){animation-delay:.12s}.stats-grid .stat-card:nth-child(5){animation-delay:.16s}.stats-grid .stat-card:nth-child(6){animation-delay:.2s}.stats-grid .stat-card:nth-child(7){animation-delay:.24s}.stats-grid .stat-card:nth-child(8){animation-delay:.28s}@media (prefers-reduced-motion:reduce){.stats-grid .stat-card{will-change:auto;animation:none}}@keyframes groupCardEnter{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.scale-in.group-card{animation:.25s cubic-bezier(.16,1,.3,1) both groupCardEnter;animation-delay:var(--card-delay,0s);contain:layout style;will-change:transform, opacity}.scale-in.group-card:nth-child(2){--card-delay:40ms}.scale-in.group-card:nth-child(3){--card-delay:80ms}.scale-in.group-card:nth-child(4){--card-delay:.12s}.scale-in.group-card:nth-child(5){--card-delay:.16s}.scale-in.group-card:nth-child(6){--card-delay:.2s}.scale-in.group-card:nth-child(7){--card-delay:.24s}.scale-in.group-card:nth-child(8){--card-delay:.28s}.scale-in.group-card:nth-child(9){--card-delay:.32s}.scale-in.group-card:nth-child(10){--card-delay:.36s}.scale-in.group-card:nth-child(11){--card-delay:.4s}.scale-in.group-card:nth-child(12){--card-delay:.44s}@media (prefers-reduced-motion:reduce){.scale-in.group-card{will-change:auto;animation:none}}.month-nav-btn{will-change:transform, color, background, opacity;contain:layout style;border-radius:6px;scroll-margin:8px;transition:color .15s,transform .12s,background .15s,opacity .2s}@media (hover:hover){.month-nav-btn:not(:disabled):hover{color:var(--text-main);background:rgba(var(--accent-rgb,59 130 246) / .06)}}.month-nav-btn:not(:disabled):active{transform:scale(.88)}.month-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){.month-nav-btn{will-change:auto;transition:none}.month-nav-btn:not(:disabled):active{transform:none}}.toast-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}.word-filter-segment{border-radius:10px;flex:1;padding:2px}.word-filter-segment .word-filter-btn{min-height:44px;padding:8px 10px;font-size:.7rem}.word-filter-btn,.word-sort-btn{scroll-margin:8px}.word-sort-btn{min-width:44px;min-height:44px;color:var(--text-muted);white-space:nowrap;cursor:pointer;background:#ffffff0a;border:none;border-radius:8px;align-items:center;gap:3px;padding:10px 12px;font-size:.7rem;display:flex}:root[data-theme=light] .word-sort-btn{color:#475569;background:#0000000a}.word-mark-all-area{flex-direction:column;align-self:flex-start;gap:6px;display:flex}.word-mark-all-btn{min-width:44px;min-height:44px;color:var(--success);cursor:pointer;background:#10b9811a;border:1px solid #10b98140;border-radius:8px;align-items:center;gap:5px;padding:10px 12px;font-size:.72rem;display:flex}.word-mark-all-btn[data-open=true]{background:#10b9812e}.word-mark-all-confirm{color:var(--text-muted);background:#10b98112;border:1px solid #10b98133;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;display:flex}:root[data-theme=light] .word-mark-all-confirm{color:#475569;background:#10b9811a;border-color:#10b98159}.word-mark-confirm-btn{background:var(--success);color:#fff;cursor:pointer;will-change:transform, filter;contain:layout style;border:none;border-radius:6px;min-height:44px;padding:3px 10px;font-size:.72rem;font-weight:600;transition:filter .12s,transform .1s}:root[data-theme=light] .word-mark-confirm-btn{background:#047857}.word-mark-cancel-btn{min-height:44px;color:var(--text-muted);cursor:pointer;will-change:transform, opacity;contain:layout style;background:#ffffff14;border:none;border-radius:6px;padding:3px 10px;font-size:.72rem;transition:opacity .12s,transform .1s}:root[data-theme=light] .word-mark-cancel-btn{color:#475569;background:#0000000d}@media (hover:hover){.word-mark-confirm-btn:hover{filter:brightness(1.1)}.word-mark-cancel-btn:hover{opacity:.75}}@media (hover:hover) and (prefers-reduced-motion:reduce){.word-mark-confirm-btn:hover{filter:none}}.word-mark-confirm-btn:active{transform:scale(.93)}.word-mark-cancel-btn:active{transform:scale(.88)}.word-mark-confirm-btn:focus-visible,.word-mark-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){.word-mark-confirm-btn,.word-mark-cancel-btn{transition:none}.word-mark-confirm-btn:active,.word-mark-cancel-btn:active{transform:none}}.word-filter-btn:focus-visible,.word-sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .word-filter-btn:focus-visible,:root[data-theme=light] .word-sort-btn:focus-visible{outline-color:#1d4ed8}.word-filter-btn:active,.word-sort-btn:active{transform:scale(.93)}@media (prefers-reduced-motion:reduce){.word-filter-btn:active,.word-sort-btn:active{transform:none}}.word-filter-btn{will-change:transform;contain:layout style;transition:background .2s,border-color .2s,color .2s,transform .1s}@media (prefers-reduced-motion:reduce){.word-filter-btn{will-change:auto;transition:none}}.word-sort-btn{will-change:transform, filter;contain:layout style;transition:background .15s,color .15s,border-color .15s,transform .1s,filter .15s}@media (hover:hover){.word-sort-btn:hover{filter:brightness(1.12)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.word-sort-btn:hover{filter:none}}@media (prefers-reduced-motion:reduce){.word-sort-btn{will-change:auto;transition:none}}@media (hover:hover){.pause-resume-btn:not(:disabled):hover{filter:brightness(1.1)}}.pause-resume-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}:root[data-theme=light] .pause-resume-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.pause-resume-btn:not(:disabled):hover{filter:none}}.qr-save-btn:focus-visible,.qr-skip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.qr-skip-btn{will-change:transform, filter;transition:filter .15s,transform .12s}@media (hover:hover){.qr-skip-btn:hover{filter:brightness(1.08)}}.qr-skip-btn:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.qr-skip-btn:active{transform:none!important}}@keyframes wordRowEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.word-row-stagger{animation:.2s both wordRowEnter;animation-delay:calc(var(--row-i,0) * 30ms);contain:layout style;will-change:transform, opacity}@media (prefers-reduced-motion:reduce){.word-row-stagger{will-change:auto;animation:none}}.word-row-stagger:first-child{--row-i:0}.word-row-stagger:nth-child(2){--row-i:1}.word-row-stagger:nth-child(3){--row-i:2}.word-row-stagger:nth-child(4){--row-i:3}.word-row-stagger:nth-child(5){--row-i:4}.word-row-stagger:nth-child(6){--row-i:5}.word-row-stagger:nth-child(7){--row-i:6}.word-row-stagger:nth-child(8){--row-i:7}.word-row-stagger:nth-child(9){--row-i:8}.word-row-stagger:nth-child(10){--row-i:9}.word-row-stagger:nth-child(11){--row-i:10}.word-row-stagger:nth-child(12){--row-i:11}.word-row-stagger:nth-child(13){--row-i:12}.word-row-stagger:nth-child(14){--row-i:13}.word-row-stagger:nth-child(15){--row-i:14}.word-row-stagger:nth-child(16){--row-i:15}.word-row-stagger:nth-child(17){--row-i:16}.word-row-stagger:nth-child(18){--row-i:17}.word-row-stagger:nth-child(19){--row-i:18}.word-row-stagger:nth-child(20){--row-i:19}.word-row-stagger:nth-child(21){--row-i:20}.word-row-stagger:nth-child(22){--row-i:21}.word-row-stagger:nth-child(23){--row-i:22}.word-row-stagger:nth-child(24){--row-i:23}.word-row-stagger:nth-child(25){--row-i:24}.word-row-stagger:nth-child(26){--row-i:25}.word-row-stagger:nth-child(27){--row-i:26}.word-row-stagger:nth-child(28){--row-i:27}.word-row-stagger:nth-child(29){--row-i:28}.word-row-stagger:nth-child(30){--row-i:29}.word-row-stagger:nth-child(31){--row-i:30}.word-row-stagger:nth-child(32){--row-i:31}.word-row-stagger:nth-child(33){--row-i:32}.word-row-stagger:nth-child(34){--row-i:33}.word-row-stagger:nth-child(35){--row-i:34}.word-row-stagger:nth-child(36){--row-i:35}.word-row-stagger:nth-child(37){--row-i:36}.word-row-stagger:nth-child(38){--row-i:37}.word-row-stagger:nth-child(39){--row-i:38}.word-row-stagger:nth-child(40){--row-i:39}.word-row-stagger:nth-child(41){--row-i:40}.word-row-stagger:nth-child(42){--row-i:41}.word-row-stagger:nth-child(43){--row-i:42}.word-row-stagger:nth-child(44){--row-i:43}.word-row-stagger:nth-child(45){--row-i:44}.word-row-stagger:nth-child(46){--row-i:45}.word-row-stagger:nth-child(47){--row-i:46}.word-row-stagger:nth-child(48){--row-i:47}.word-row-stagger:nth-child(49){--row-i:48}.word-row-stagger:nth-child(50){--row-i:49}.word-row-stagger:nth-child(51){--row-i:50}.word-row-stagger:nth-child(52){--row-i:51}.word-row-stagger:nth-child(53){--row-i:52}.word-row-stagger:nth-child(54){--row-i:53}.word-row-stagger:nth-child(55){--row-i:54}.word-row-stagger:nth-child(56){--row-i:55}.word-row-stagger:nth-child(57){--row-i:56}.word-row-stagger:nth-child(58){--row-i:57}.word-row-stagger:nth-child(59){--row-i:58}.word-row-stagger:nth-child(60){--row-i:59}.word-row-stagger:nth-child(61){--row-i:60}.word-row-stagger:nth-child(62){--row-i:61}.word-row-stagger:nth-child(63){--row-i:62}.word-row-stagger:nth-child(64){--row-i:63}.word-row-stagger:nth-child(65){--row-i:64}.word-row-stagger:nth-child(66){--row-i:65}.word-row-stagger:nth-child(67){--row-i:66}.word-row-stagger:nth-child(68){--row-i:67}.word-row-stagger:nth-child(69){--row-i:68}.word-row-stagger:nth-child(70){--row-i:69}.word-row-stagger:nth-child(71){--row-i:70}.word-row-stagger:nth-child(72){--row-i:71}.word-row-stagger:nth-child(73){--row-i:72}.word-row-stagger:nth-child(74){--row-i:73}.word-row-stagger:nth-child(75){--row-i:74}.word-row-stagger:nth-child(76){--row-i:75}.word-row-stagger:nth-child(77){--row-i:76}.word-row-stagger:nth-child(78){--row-i:77}.word-row-stagger:nth-child(79){--row-i:78}.word-row-stagger:nth-child(80){--row-i:79}.word-row-stagger:nth-child(81){--row-i:80}.word-row-stagger:nth-child(82){--row-i:81}.word-row-stagger:nth-child(83){--row-i:82}.word-row-stagger:nth-child(84){--row-i:83}.word-row-stagger:nth-child(85){--row-i:84}.word-row-stagger:nth-child(86){--row-i:85}.word-row-stagger:nth-child(87){--row-i:86}.word-row-stagger:nth-child(88){--row-i:87}.word-row-stagger:nth-child(89){--row-i:88}.word-row-stagger:nth-child(90){--row-i:89}.word-row-stagger:nth-child(91){--row-i:90}.word-row-stagger:nth-child(92){--row-i:91}.word-row-stagger:nth-child(93){--row-i:92}.word-row-stagger:nth-child(94){--row-i:93}.word-row-stagger:nth-child(95){--row-i:94}.word-row-stagger:nth-child(96){--row-i:95}.word-row-stagger:nth-child(97){--row-i:96}.word-row-stagger:nth-child(98){--row-i:97}.word-row-stagger:nth-child(99){--row-i:98}.word-row-stagger:nth-child(100){--row-i:99}.qr-range-input:focus{border-color:var(--accent);background:#3b82f60f;outline:none}:root[data-theme=light] .qr-range-input:focus{background:#3b82f60a;box-shadow:0 0 0 3px #3b82f640}@media (hover:hover){.qr-range-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .qr-range-input:not(:focus):hover{border-color:#1d4ed899}}.join-input{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.join-input:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f633}:root[data-theme=light] .join-input:focus-visible{box-shadow:0 0 0 3px #3b82f64d}@media (hover:hover){.join-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .join-input:not(:focus):hover{border-color:#1d4ed899}}.toast-close:active{transform:rotate(90deg)scale(.82)}@media (prefers-reduced-motion:reduce){.toast-close{will-change:auto}.toast-close:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.toast-close:hover{transform:none}}details summary{will-change:background;scroll-margin:8px;transition:background .15s}@media (prefers-reduced-motion:reduce){details summary{will-change:auto;transition:none}}details summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (hover:hover){details summary:hover{background:#8080800f;border-radius:6px}:root[data-theme=light] details summary:hover{background:#00000014}}.records-search-input:focus{border-color:var(--accent);background:#3b82f60a;outline:none;box-shadow:0 0 0 3px #3b82f626}:root[data-theme=light] .records-search-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f64d}.search-clear-btn{will-change:transform;transition:color .15s,transform .12s}@media (hover:hover){.search-clear-btn:hover{color:var(--danger)!important}}.search-clear-btn:active{transform:translateY(-50%)scale(.88)}.search-clear-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}@media (prefers-reduced-motion:reduce){.search-clear-btn{will-change:auto;transition:none}.search-clear-btn:active{transform:translateY(-50%)}}.auth-submit-btn:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.auth-submit-btn:active{transform:none}}.auth-submit-btn{will-change:transform, filter;transition:filter .18s,transform .18s}@media (hover:hover){.auth-submit-btn:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.auth-submit-btn{will-change:auto;transition:none}.auth-submit-btn:not(:disabled):hover{filter:none;transform:none}}.pw-error-text{color:var(--danger);font-size:.85rem}:root[data-theme=light] .pw-error-text{color:#dc2626}.pw-submit-btn{will-change:transform;flex:1}.pw-cancel-btn{will-change:transform, opacity;min-width:auto;padding:0 16px}@media (hover:hover){.pw-cancel-btn:hover:not(:disabled){opacity:.75}}.pw-cancel-btn:active:not(:disabled){transform:scale(.93)}.pw-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}@media (prefers-reduced-motion:reduce){.pw-cancel-btn:active{transform:none!important}}.pw-submit-btn:active{transform:scale(.95);transition:transform .1s!important}.pw-submit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}@media (prefers-reduced-motion:reduce){.pw-submit-btn:active{transform:none!important}}.qr-memo-textarea:focus{border-color:var(--accent);background:#3b82f60a;outline:none;box-shadow:0 0 0 3px #3b82f626}:root[data-theme=light] .qr-memo-textarea:focus{box-shadow:0 0 0 3px #3b82f64d}@media (hover:hover){.qr-memo-textarea:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .qr-memo-textarea:not(:focus):hover{border-color:#1d4ed899}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.stat-card--loading{contain:layout style;border-radius:16px;min-height:80px;padding:14px;position:relative;overflow:hidden;background:#0003!important}.stat-card--loading:after{content:"";will-change:background-position;background:linear-gradient(90deg,#0000 0%,#ffffff0f 50%,#0000 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite skeletonShimmer;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.stat-card--loading:after{animation:none}}:root[data-theme=light] .stat-card--loading{background:#0000000a!important}:root[data-theme=light] .stat-card--loading:after{background:linear-gradient(90deg,#0000 0%,#0000000d 50%,#0000 100%)}@media (hover:hover) and (pointer:fine){.records-filter-btn:hover,.records-sort-btn:hover{color:var(--accent);background:#8080801a}:root[data-theme=light] .records-filter-btn:hover,:root[data-theme=light] .records-sort-btn:hover{color:#1d4ed8;background:#00000014}.segment-control button:not([data-selected=true]):hover{opacity:1;background:#80808014;transform:scale(1.02)}}@media (prefers-reduced-motion:no-preference){.segment-control button:not([data-selected=true]):hover{transition:background .15s,opacity .15s,transform .15s}}@media (prefers-reduced-motion:reduce){.segment-control button:not([data-selected=true]):hover{transform:none!important}}@media (hover:hover) and (pointer:fine){.share-btn:hover{filter:brightness(1.12);background:#3b82f61f}}@media (hover:hover) and (prefers-reduced-motion:reduce){.share-btn:hover{filter:none}}.accent-swatch-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:50%}:root[data-theme=light] .accent-swatch-btn:focus-visible{outline-color:#1d4ed8}.theme-preview-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}:root[data-theme=light] .theme-preview-card:focus-visible{outline-color:#1d4ed8}.theme-preview-card:active{transition:transform .1s!important;transform:scale(.96)!important}@media (prefers-reduced-motion:reduce){.theme-preview-card:active{transform:none!important}}.settings-sound-btn{will-change:transform, filter;transition:filter .15s,transform .12s}@media (hover:hover) and (pointer:fine){.settings-sound-btn:hover{filter:brightness(1.08)}}.settings-sound-btn:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.settings-sound-btn{will-change:auto;transition:none}.settings-sound-btn:active{transform:none!important}}@media (hover:hover) and (prefers-reduced-motion:reduce){.settings-sound-btn:hover{filter:none}}.settings-sound-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.start-btn{transition:transform .15s,filter .15s,box-shadow .15s}@media (hover:hover) and (pointer:fine){.start-btn:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px #3b82f64d}}.start-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:12px}@media (prefers-reduced-motion:reduce){.start-btn:not(:disabled):hover{transform:none!important}}.group-create-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.group-create-btn:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.group-create-btn:active{transform:none!important}}.group-join-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.group-join-btn{scroll-margin:8px}@keyframes iconShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media (hover:hover) and (pointer:fine){.error-icon-fade:hover{animation:.4s iconShake!important}}@media (prefers-reduced-motion:reduce){.error-icon-fade:hover{animation:none!important}}@keyframes circularFadeIn{0%{opacity:0;transform:rotate(-90deg)scale(.92)}to{opacity:1;transform:rotate(-90deg)scale(1)}}.circular-progress-svg{animation:.3s both circularFadeIn}@media (prefers-reduced-motion:reduce){.circular-progress-svg{will-change:auto;animation:none}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.slow-connection-warning{color:var(--text-muted);opacity:.75;contain:layout style;will-change:opacity;text-wrap:balance;margin:0;font-size:.78rem;animation:.3s forwards fadeIn,.3s 4.7s forwards fadeOut}@media (prefers-reduced-motion:reduce){.slow-connection-warning{will-change:auto;animation:none}}:root[data-theme=light] .slow-connection-warning{color:#475569;opacity:1}@media (hover:hover){.error-retry-btn:hover{filter:brightness(1.08)}}.error-retry-btn:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.error-retry-btn:active{transform:none!important}}@media (hover:hover) and (prefers-reduced-motion:reduce){.error-retry-btn:hover{filter:none}}.error-retry-btn:focus-visible{outline:2px solid var(--danger);outline-offset:2px;border-radius:8px}:root[data-theme=light] .error-retry-btn:focus-visible{outline-color:#dc2626}.group-search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3b82f626}:root[data-theme=light] .group-search-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed84d}@media (hover:hover){.lang-btn:not([data-selected=true]):hover{filter:brightness(1.06);background:#80808014}}@keyframes pillExpand{0%{opacity:.7;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}.bottom-nav-pill-inner{will-change:transform, opacity;animation:.28s cubic-bezier(.16,1,.3,1) both pillExpand}@media (prefers-reduced-motion:reduce){.bottom-nav-pill-inner{will-change:auto;animation:none}}@keyframes recordCardEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.record-card-stagger{animation:.22s both recordCardEnter;animation-delay:calc(var(--card-i,0) * 40ms);contain:layout style;will-change:transform, opacity}@media (prefers-reduced-motion:reduce){.record-card-stagger{will-change:auto;animation:none}}.record-card-stagger:first-child{--card-i:0}.record-card-stagger:nth-child(2){--card-i:1}.record-card-stagger:nth-child(3){--card-i:2}.record-card-stagger:nth-child(4){--card-i:3}.record-card-stagger:nth-child(5){--card-i:4}.record-card-stagger:nth-child(6){--card-i:5}.record-card-stagger:nth-child(7){--card-i:6}.record-card-stagger:nth-child(8){--card-i:7}.record-card-stagger:nth-child(9){--card-i:8}.record-card-stagger:nth-child(10){--card-i:9}.record-card-stagger:nth-child(11){--card-i:10}.record-card-stagger:nth-child(12){--card-i:11}.record-card-stagger:nth-child(13){--card-i:12}.record-card-stagger:nth-child(14){--card-i:13}.record-card-stagger:nth-child(15){--card-i:14}.record-card-stagger:nth-child(16){--card-i:15}.record-card-stagger:nth-child(17){--card-i:16}.record-card-stagger:nth-child(18){--card-i:17}.record-card-stagger:nth-child(19){--card-i:18}.record-card-stagger:nth-child(20){--card-i:19}.record-card-stagger:nth-child(21){--card-i:20}.record-card-stagger:nth-child(22){--card-i:21}.record-card-stagger:nth-child(23){--card-i:22}.record-card-stagger:nth-child(24){--card-i:23}.record-card-stagger:nth-child(25){--card-i:24}.record-card-stagger:nth-child(26){--card-i:25}.record-card-stagger:nth-child(27){--card-i:26}.record-card-stagger:nth-child(28){--card-i:27}.record-card-stagger:nth-child(29){--card-i:28}.record-card-stagger:nth-child(30){--card-i:29}@keyframes progressBarGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.progress-bar-fill{transform-origin:0;contain:layout style;animation:.6s cubic-bezier(.25,.46,.45,.94) both progressBarGrow}@media (prefers-reduced-motion:reduce){.progress-bar-fill{animation:none}}@keyframes recordEditEnter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.record-edit-form{contain:layout style;will-change:transform, opacity;flex-direction:column;flex:1;gap:8px;animation:.18s both recordEditEnter;display:flex}@media (prefers-reduced-motion:reduce){.record-edit-form{will-change:auto;animation:none}}@keyframes miniBarGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.mini-bar-stagger{transform-origin:bottom;animation:.35s both miniBarGrow;animation-delay:calc(var(--bar-i,0) * 40ms);contain:layout style;will-change:transform}.mini-chart-bar-col:nth-child(2) .mini-bar-stagger{--bar-i:1}.mini-chart-bar-col:nth-child(3) .mini-bar-stagger{--bar-i:2}.mini-chart-bar-col:nth-child(4) .mini-bar-stagger{--bar-i:3}.mini-chart-bar-col:nth-child(5) .mini-bar-stagger{--bar-i:4}.mini-chart-bar-col:nth-child(6) .mini-bar-stagger{--bar-i:5}.mini-chart-bar-col:nth-child(7) .mini-bar-stagger{--bar-i:6}@media (prefers-reduced-motion:reduce){.mini-bar-stagger{will-change:auto;animation:none}}@keyframes fcDoneEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fc-done-screen,.modal-done-screen{overscroll-behavior:contain;contain:layout style;will-change:transform, opacity;flex-direction:column;flex:1;align-items:center;gap:1.5rem;animation:.4s cubic-bezier(.16,1,.3,1) both fcDoneEnter;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.fc-done-screen,.modal-done-screen{will-change:auto;animation:none}}@keyframes chartBarSelect{0%{transform:scaleY(1)}30%{transform:scaleY(.93)}to{transform:scaleY(1)}}.chart-bar[data-selected]{--bar-bg:var(--gradient-warning-v);transform-origin:bottom;animation:.22s both chartBarSelect}.chart-bar[data-empty]{--bar-bg:#ffffff0d;animation:none}:root[data-theme=light] .chart-bar[data-empty]{--bar-bg:#0000000f}.heatmap-day-cell[data-selected]{transform-origin:50%;animation:.2s both chartBarSelect}@media (prefers-reduced-motion:reduce){.chart-bar[data-selected],.heatmap-day-cell[data-selected]{animation:none}}@keyframes errorStagger{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.error-message-container{background:#ef444414;border:1px solid #ef444426;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.error-icon-box{contain:layout style;background:#ef44441f;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.error-icon-fade{contain:layout style;will-change:opacity;animation:.28s both errorStagger}.error-text-fade{color:var(--danger);text-align:center;text-wrap:balance;contain:layout style;will-change:opacity;margin:0;font-size:.9rem;animation:.28s .1s both errorStagger}:root[data-theme=light] .error-text-fade{color:#dc2626}.error-btn-fade{contain:layout style;will-change:opacity;animation:.28s .2s both errorStagger}@media (prefers-reduced-motion:reduce){.error-icon-fade,.error-text-fade,.error-btn-fade{will-change:auto;animation:none}}.flashcard-face-back[data-revealed]:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,#0000 30%,#fff6 50%,#0000 70%);width:60%;height:100%;animation:.5s .3s both cardFlipShine;position:absolute;top:0;left:-100%}@keyframes cardFlipShine{0%{opacity:0;left:-100%}40%{opacity:.4}to{opacity:0;left:120%}}@media (prefers-reduced-motion:reduce){.flashcard-face-back[data-revealed]:after{display:none}}:root[data-theme=light] .flashcard-face-back[data-revealed]:after{background:linear-gradient(105deg,#0000 30%,#0000000f 50%,#0000 70%)}@keyframes searchHighlightPulse{0%,to{background:#6366f147}50%{background:#6366f185}}@keyframes searchHighlightPulseLight{0%,to{background:#6366f133}50%{background:#6366f166}}mark.memo-highlight{contain:layout style;animation:1.8s ease-in-out infinite searchHighlightPulse}[data-theme=light] mark.memo-highlight{animation:1.8s ease-in-out infinite searchHighlightPulseLight}@media (prefers-reduced-motion:reduce){mark.memo-highlight{animation:none}}.weekly-chart-bars{z-index:1;align-items:flex-end;gap:6px;height:100%;scroll-margin:8px;display:flex;position:relative}.weekly-chart-bars:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}:root[data-theme=light] .weekly-chart-bars:focus-visible{outline-color:#1d4ed8}.timer-display{touch-action:manipulation;scroll-margin:8px}.timer-display:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:8px}:root[data-theme=light] .timer-display:focus-visible{outline-color:#1d4ed8}.fc-progress-dot{top:50%;left:calc(var(--dot-pct,0) * 1% - 4px);background:var(--accent);will-change:left, background;border-radius:50%;width:8px;height:8px;transition:left .3s,background .2s;position:absolute;transform:translateY(-50%)scale(1.2);box-shadow:0 0 5px #3b82f680}@media (prefers-reduced-motion:reduce){.fc-progress-dot{transition:none}}@keyframes quizInputFlash{0%{box-shadow:0 0}40%{box-shadow:0 0 0 4px}to{box-shadow:0 0}}.quiz-input[data-correct=true]{color:var(--success);animation:.5s forwards quizInputFlash;border-color:var(--success)!important}.quiz-input[data-correct=false]{color:var(--danger);animation:.5s forwards quizInputFlash;border-color:var(--danger)!important}@media (prefers-reduced-motion:reduce){.quiz-input[data-correct=true],.quiz-input[data-correct=false]{animation:none}}:root[data-theme=light] .quiz-input[data-correct=true]{background:#10b9811a}:root[data-theme=light] .quiz-input[data-correct=false]{background:#ef44441a}:root[data-theme=light] .quiz-input[data-correct=true]{color:#047857}:root[data-theme=light] .quiz-input[data-correct=false]{color:#dc2626}@media (hover:hover){.quiz-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .quiz-input:not(:focus):hover{border-color:#1d4ed899}}.quiz-input{will-change:border-color, box-shadow, background;touch-action:manipulation;contain:layout style}.record-glass-card[data-deleting]{border-left-color:var(--danger)!important;background:#ef44440f!important}@keyframes lobbyTabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lobby-tab-content{contain:layout style;will-change:transform, opacity;animation:.22s cubic-bezier(.16,1,.3,1) both lobbyTabIn}@media (prefers-reduced-motion:reduce){.lobby-tab-content{will-change:auto;animation:none}}@media (hover:hover){.records-search-input:hover:not(:focus){background:#ffffff09;border-color:#6382f673}:root[data-theme=light] .records-search-input:hover:not(:focus){background:#00000008;border-color:#1d4ed899}}.leave-confirm-btn{background:var(--danger);color:#fff;cursor:pointer;will-change:transform, box-shadow;contain:layout style;border:none;border-radius:6px;min-width:auto;min-height:44px;padding:8px 12px;font-size:.78rem;transition:transform .15s,box-shadow .15s!important}:root[data-theme=light] .leave-confirm-btn{background:#dc2626}@media (hover:hover){.leave-confirm-btn:hover{transform:scale(1.06)!important;box-shadow:0 4px 12px #ef444459!important}}.leave-confirm-btn:active{transform:scale(.94)!important;box-shadow:0 2px 6px #ef444433!important}@media (prefers-reduced-motion:reduce){.leave-confirm-btn{will-change:auto}.leave-confirm-btn:hover,.leave-confirm-btn:active{box-shadow:none!important;transform:none!important}}.word-filter-btn[data-selected=true]{color:var(--accent)!important;background:#3b82f61f!important;border-color:#3b82f659!important}:root[data-theme=light] .word-filter-btn[data-selected=true]{color:#1d4ed8!important;background:#1d4ed81f!important;border-color:#1d4ed873!important}@media (hover:hover){.word-filter-btn[data-selected=false]:hover{background:#ffffff12!important;border-color:#6382c84d!important}:root[data-theme=light] .word-filter-btn[data-selected=false]:hover{background:#0000000a!important;border-color:#0000001a!important}}.lobby-daily-stat{will-change:transform;contain:layout style;border-radius:12px;flex:1;align-items:center;gap:8px;min-width:100px;padding:10px 14px;transition:transform .18s,box-shadow .18s;display:flex}@media (hover:hover){.lobby-daily-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}}.lobby-daily-stat:active{transform:translateY(0)scale(.98)}@media (prefers-reduced-motion:reduce){.lobby-daily-stat{transition:none}.lobby-daily-stat:hover,.lobby-daily-stat:active{box-shadow:none;transform:none}}.lobby-daily-stat-row .lobby-daily-stat{contain:layout style;will-change:opacity;animation:.25s both fadeIn}.lobby-daily-stat-row .lobby-daily-stat:first-child{animation-delay:0s}.lobby-daily-stat-row .lobby-daily-stat:nth-child(2){animation-delay:60ms}.lobby-daily-stat-row .lobby-daily-stat:nth-child(3){animation-delay:.12s}@media (prefers-reduced-motion:reduce){.lobby-daily-stat-row .lobby-daily-stat{will-change:auto;animation:none}}@media (hover:hover){.record-date-header:hover .lucide{color:inherit;transition:opacity .2s;opacity:1!important}}.mini-chart-container{will-change:border-color, box-shadow;background:#00000026;border:1px solid #ffffff0f;border-radius:10px;padding:8px 10px;transition:border-color .2s,box-shadow .2s}:root[data-theme=light] .mini-chart-container{background:#0000000d;border-color:#00000014}@media (hover:hover){.mini-chart-container:hover{box-shadow:0 0 8px #3b82f614;border-color:#6382f633!important}}@media (prefers-reduced-motion:reduce){.mini-chart-container{transition:none}.mini-chart-container:hover{box-shadow:none;border-color:inherit!important}}.qr-section-title{color:var(--accent);text-wrap:balance;font-size:.85rem;font-weight:600}.qr-last-memo{color:var(--text-muted);contain:layout style;will-change:opacity;background:#ffffff0a;border-radius:6px;padding:4px 8px;font-size:.75rem;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.qr-last-memo{will-change:auto;animation:none}}:root[data-theme=light] .qr-last-memo{color:#475569;background:#0000000a}@keyframes quickRecordIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.quick-record-form{contain:layout style;will-change:transform, opacity;animation:.25s cubic-bezier(.22,1,.36,1) both quickRecordIn}@media (prefers-reduced-motion:reduce){.quick-record-form{will-change:auto;animation:none}}.goal-edit-btn{will-change:color, opacity;contain:layout style;border-radius:6px;transition:color .15s,opacity .15s}@media (hover:hover){.goal-edit-btn:hover{opacity:.85;color:color-mix(in srgb, var(--accent) 80%, white 20%)!important}}.goal-edit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.goal-edit-btn{will-change:auto;transition:none}}@media (hover:hover){:root[data-theme=light] .goal-edit-btn:hover{color:#1d4ed8!important}}:root[data-theme=light] .goal-edit-btn:focus-visible{outline-color:#1d4ed8}.recent-memo-btn{min-width:auto;min-height:44px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;will-change:transform, opacity;contain:layout style;background:#ffffff0f;border-color:#ffffff1f;border-radius:9999px;max-width:120px;padding:10px 8px;font-size:.72rem;transition:background .15s,color .15s,transform .12s;overflow:hidden}@media (hover:hover){.recent-memo-btn:hover{transform:scale(1.02);color:var(--text)!important;background:#ffffff1a!important}}.recent-memo-btn:active{transform:scale(.95)!important}.recent-memo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:9999px}:root[data-theme=light] .recent-memo-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.recent-memo-btn{will-change:auto;transition:none}.recent-memo-btn:hover,.recent-memo-btn:active{transform:none!important}}:root[data-theme=light] .recent-memo-btn{color:#475569;background:#0000000d;border-color:#0000001a}@media (hover:hover){:root[data-theme=light] .recent-memo-btn:hover{background:#00000014!important}}.bottom-nav-item[data-active]{transition:box-shadow .2s,color .2s;box-shadow:0 0 0 2px #3b82f633}@media (prefers-reduced-motion:reduce){.bottom-nav-item[data-active]{transition:none}}.copy-group-id-btn{cursor:pointer;color:var(--text-muted);will-change:transform, opacity;contain:layout style;background:#ffffff0a;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;scroll-margin:8px;font-size:.7rem;transition:color .25s,background .25s,opacity .2s,transform .15s;display:inline-flex}.copy-group-id-btn[data-copied]{color:var(--success);contain:layout style;background:#10b9811f;animation:.15s both scaleIn}@media (hover:hover) and (pointer:fine){.copy-group-id-btn:not([data-copied]):hover{opacity:.85;background:#ffffff14}}.copy-group-id-btn:active{transform:scale(.97)}.copy-group-id-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){.copy-group-id-btn{will-change:auto;transition:none}.copy-group-id-btn:active{transform:none}}@media (hover:hover){.group-search-input:hover:not(:focus){background:#ffffff08;border-color:#6382f666}:root[data-theme=light] .group-search-input:hover:not(:focus){background:#00000005;border-color:#1d4ed899}}.words-load-more-btn{will-change:transform, filter;transition:filter .15s,transform .12s}@media (hover:hover){.words-load-more-btn:hover{filter:brightness(1.12)}}.words-load-more-btn:active{transform:scale(.97)}.words-load-more-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .words-load-more-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.words-load-more-btn{will-change:auto;transition:none}.words-load-more-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.words-load-more-btn:hover{filter:none}}.lobby-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:0 12px 10px;display:flex}.lobby-card-actions-wrap{opacity:0;will-change:opacity;grid-template-rows:0fr;transition:grid-template-rows .25s,opacity .2s;display:grid}.lobby-card-actions-wrap[data-open]{opacity:1;grid-template-rows:1fr}.lobby-card-actions-wrap>.lobby-card-actions{overflow:hidden}@media (prefers-reduced-motion:reduce){.lobby-card-actions-wrap{will-change:auto;transition:none}}.lobby-card-action-btn{border-color:var(--border);min-width:44px;min-height:44px;color:var(--text-muted);will-change:transform, filter;contain:layout style;background:#ffffff0a;align-items:center;gap:4px;padding:10px 12px;font-size:.75rem;transition:filter .15s,transform .1s;display:flex}@media (hover:hover){.lobby-card-action-btn:hover{filter:brightness(1.08)}}.lobby-card-action-btn:active{transform:scale(.95)}.lobby-card-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .lobby-card-action-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.lobby-card-action-btn{transition:none}.lobby-card-action-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.lobby-card-action-btn:hover{filter:none}}.lobby-show-more-btn{color:var(--success);cursor:pointer;contain:layout style;background:#10b9810f;border:1px dashed #10b98140;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;font-weight:500;transition:background .15s,transform .1s,box-shadow .15s;display:flex}@media (hover:hover){.lobby-show-more-btn:hover{box-shadow:0 2px 8px #10b9811f;background:#10b9811f!important}}.lobby-show-more-btn:active{transform:scale(.97)}.lobby-show-more-btn:focus-visible{outline:2px solid var(--success);outline-offset:2px}:root[data-theme=light] .lobby-show-more-btn:focus-visible{outline-color:#047857}@media (prefers-reduced-motion:reduce){.lobby-show-more-btn{will-change:auto;transition:none}.lobby-show-more-btn:active{transform:none}}.lobby-daily-stat-row{contain:layout style;flex-wrap:wrap;gap:10px;display:flex}.lobby-header-actions{align-items:center;gap:6px;display:flex}.group-card-row{align-items:center;gap:10px;padding:12px;display:flex}.lobby-create-preset-row{flex-wrap:wrap;gap:6px;display:flex}.public-group-info{flex-direction:column;flex:1;gap:1px;display:flex}.timer-settings-panel{contain:layout style;will-change:opacity;background:#3b82f60f;border:1px solid #3b82f626;border-radius:12px;flex-direction:column;gap:8px;padding:12px;animation:.2s both fadeIn;display:flex}:root[data-theme=light] .timer-settings-panel{background:#1d4ed80d;border-color:#1d4ed838}@media (prefers-reduced-motion:reduce){.timer-settings-panel{animation:none}}.timer-settings-header{color:var(--accent);justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}:root[data-theme=light] .timer-settings-header{color:#1d4ed8}.timer-settings-title{align-items:center;gap:6px;display:flex}.timer-settings-close-btn{contain:layout style;color:var(--text-muted);opacity:.5;will-change:transform, opacity;background:0 0;border:none;min-width:44px;min-height:44px;padding:10px;transition:opacity .15s,color .15s,transform .1s}@media (hover:hover){.timer-settings-close-btn:hover{opacity:1;color:var(--text)}}.timer-settings-close-btn:active{opacity:.7;transform:scale(.9)}.timer-settings-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){.timer-settings-close-btn{transition:none}.timer-settings-close-btn:active{transform:none}}.timer-settings-input{text-align:center;font-variant-numeric:tabular-nums;will-change:transform, border-color;width:50px;min-height:44px}@media (hover:hover){.timer-settings-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .timer-settings-input:not(:focus):hover{border-color:#1d4ed899}}.timer-settings-input:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.timer-settings-input:active{transform:none}}:root[data-theme=light] .timer-settings-input:focus{box-shadow:0 0 0 3px #3b82f64d}.timer-settings-unit-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.85rem}:root[data-theme=light] .timer-settings-unit-label{color:#475569}.timer-preset-btn{border-color:var(--border);min-width:44px;min-height:44px;color:var(--text-muted);will-change:transform, filter;background:#ffffff0a;border-radius:8px;padding:10px 14px;scroll-margin:8px;font-size:.8rem;font-weight:400;transition:filter .15s,transform .1s}@media (hover:hover){.timer-preset-btn:hover{filter:brightness(1.06)}}.timer-preset-btn:active{transform:scale(.95)}.timer-preset-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .timer-preset-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.timer-preset-btn{transition:none}.timer-preset-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.timer-preset-btn:hover{filter:none}}.public-group-card{contain:layout style;background:#10b9810a;border:1px solid #10b9811a;border-radius:12px;align-items:center;gap:10px;padding:12px;scroll-margin:8px;transition:background .2s,transform .18s,box-shadow .18s,border-color .18s;display:flex}:root[data-theme=light] .public-group-card{background:#10b98112;border-color:#10b98126}@media (hover:hover){.public-group-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9811f;background:#10b98114!important}}.public-group-card:active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){.public-group-card{transition:none!important}.public-group-card:hover,.public-group-card:active{transform:none}}.public-group-card:focus-within{box-shadow:0 0 0 2px #3b82f633}:root[data-theme=light] .public-group-card:focus-within{box-shadow:0 0 0 2px #1d4ed826}.public-group-card[data-joined]{background:#3b82f60d;border-color:#3b82f62e}@media (hover:hover){.public-group-card[data-joined]:hover{box-shadow:0 4px 12px #3b82f61a;background:#3b82f61a!important}}.timer-confirm-leave-actions{contain:layout style;will-change:opacity;align-items:center;gap:6px;animation:.18s 50ms both fadeIn;display:flex}.leave-cancel-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:10px;transition:opacity .15s,transform .1s}@media (hover:hover){.leave-cancel-btn:hover{opacity:.75}}.leave-cancel-btn:active{transform:scale(.97)}.leave-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .leave-cancel-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.leave-cancel-btn{will-change:auto;transition:none}.leave-cancel-btn:active{transform:none}}.records-export-btn{min-width:44px;min-height:44px;padding:10px 12px;scroll-margin:8px;font-size:.7rem;transition:filter .15s,transform .1s}@media (hover:hover){.records-export-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}}.records-export-btn:active{transform:scale(.95)}.records-export-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .records-export-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.records-export-btn{will-change:auto;transition:none}.records-export-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.records-export-btn:hover{filter:none;transform:none}}.record-card-main-row{justify-content:space-between;align-items:center;display:flex}.record-edit-btn{color:var(--text-muted);will-change:transform;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;padding:8px;transition:color .15s,transform .1s}@media (hover:hover){.record-edit-btn:hover{transform:scale(1.1);color:var(--accent)!important}:root[data-theme=light] .record-edit-btn:hover{color:#1d4ed8!important}}.record-edit-btn:active{transform:scale(.95)}.record-edit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .record-edit-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.record-edit-btn{transition:none}.record-edit-btn:active{transform:none}}@media (hover:hover){.record-delete-btn:hover{background:#ef44441a!important}}.calendar-nav-bar{contain:layout style;will-change:opacity;justify-content:space-between;align-items:center;margin-bottom:10px;animation:.25s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.calendar-nav-bar{will-change:auto;animation:none}}.calendar-nav-side{align-items:center;gap:2px;display:flex}.month-total-badge{color:var(--accent);font-variant-numeric:tabular-nums;background:#3b82f626;border:1px solid #3b82f640;border-radius:9px;padding:1px 7px;font-size:.6rem;font-weight:600}:root[data-theme=light] .month-total-badge{color:#1d4ed8;border-color:#1d4ed866}.calendar-grid{text-align:center;contain:layout style;will-change:opacity;grid-template-columns:repeat(7,1fr) auto;gap:4px;animation:.35s both fadeIn;display:grid}@media (prefers-reduced-motion:reduce){.calendar-grid{will-change:auto;animation:none}}.heatmap-week-row,.calendar-grid-row{display:contents}.calendar-weekday-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:2px 0;font-size:.65rem}.calendar-today-dot{background:var(--accent);contain:layout style;will-change:transform;border-radius:50%;flex-shrink:0;width:4px;height:4px;animation:.2s both scaleIn}.calendar-nav-btn{color:var(--text-muted);will-change:transform, filter;contain:layout style;background:0 0;border:none;min-width:44px;min-height:44px;padding:10px;transition:color .15s,transform .12s,filter .15s}.calendar-nav-btn[data-year]{opacity:.6}.calendar-nav-btn:disabled{color:var(--text-muted);opacity:.15;pointer-events:none}:root[data-theme=light] .calendar-nav-btn:disabled:not([data-year]){opacity:.4}.calendar-nav-btn[data-year]:disabled{opacity:0}@media (hover:hover){.calendar-nav-btn:not(:disabled):hover{filter:brightness(1.1)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.calendar-nav-btn:not(:disabled):hover{filter:none}}.calendar-nav-btn:not(:disabled):active{transform:scale(.92)}.calendar-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .calendar-nav-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.calendar-nav-btn{will-change:auto;transition:none}.calendar-nav-btn:not(:disabled):active{transform:none}}.record-memo-toggle-btn{border-color:var(--border);min-width:44px;min-height:44px;color:var(--text-muted);will-change:transform, background;contain:layout style;background:#ffffff0a;align-self:flex-start;padding:10px 12px;scroll-margin:8px;font-size:.75rem;transition:background .15s,transform .12s}.record-memo-toggle-btn[data-active]{color:var(--accent);background:#3b82f61a;border-color:#3b82f640}@media (hover:hover){.record-memo-toggle-btn:hover{background:#ffffff14!important}}.record-memo-toggle-btn:active{transform:scale(.97)}.record-memo-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .record-memo-toggle-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.record-memo-toggle-btn{will-change:auto;transition:none}.record-memo-toggle-btn:active{transform:none}}.toast-progress{opacity:.3;height:3px;animation:toastProgress var(--toast-duration,3s) linear forwards;contain:layout style;will-change:transform;background:currentColor;position:absolute;bottom:0;left:0;right:0}:root[data-theme=light] .toast-progress{opacity:.6}.auth-error-msg{color:var(--danger);text-align:center;contain:layout style;will-change:opacity, transform;background:#ef44441a;border-radius:10px;padding:12px;font-size:.9rem;animation:.18s ease-out forwards authErrSlide}:root[data-theme=light] .auth-error-msg{color:#dc2626}@keyframes authErrSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-error-msg{will-change:auto;animation:none}}.auth-caps-warning{color:var(--warning);align-items:center;gap:4px;font-size:.75rem;display:flex}@keyframes capsWarnSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.auth-caps-warning{animation:.22s cubic-bezier(.16,1,.3,1) forwards capsWarnSlide}.word-owner-text{text-overflow:ellipsis;white-space:nowrap;max-width:10em;color:var(--text-muted);font-size:.7rem;overflow:hidden}:root[data-theme=light] .word-owner-text{color:#475569}.auth-strength-container[data-strength="1"]{--strength-color:#ef4444}.auth-strength-container[data-strength="2"]{--strength-color:#f59e0b}.auth-strength-container[data-strength="3"]{--strength-color:#eab308}.auth-strength-container[data-strength="4"]{--strength-color:#10b981}.pw-strength-section[data-strength="1"]{--strength-color:#ef4444}.pw-strength-section[data-strength="2"]{--strength-color:#f59e0b}.pw-strength-section[data-strength="3"]{--strength-color:#eab308}.pw-strength-section[data-strength="4"]{--strength-color:#10b981}:root[data-theme=light] .auth-strength-container[data-strength="2"]{--strength-color:#b45309}:root[data-theme=light] .auth-strength-container[data-strength="3"]{--strength-color:#a16207}:root[data-theme=light] .pw-strength-section[data-strength="2"]{--strength-color:#b45309}:root[data-theme=light] .pw-strength-section[data-strength="3"]{--strength-color:#a16207}:root[data-theme=light] .auth-strength-container[data-strength="1"],:root[data-theme=light] .pw-strength-section[data-strength="1"]{--strength-color:#dc2626}:root[data-theme=light] .auth-strength-container[data-strength="4"],:root[data-theme=light] .pw-strength-section[data-strength="4"]{--strength-color:#047857}.password-strength-bar{height:5px;box-shadow:none;background:#ffffff14;border-radius:3px;flex:1;transition:background .3s,transform .2s,box-shadow .3s;transform:scaleY(.7)}.password-strength-bar[data-active=true]{background:var(--strength-color);box-shadow:0 0 8px var(--strength-color);transform:scaleY(1)}@media (prefers-reduced-motion:reduce){.password-strength-bar,.password-strength-bar[data-active=true]{transition:none}}.password-strength-label{color:var(--strength-color);-webkit-user-select:none;user-select:none;font-size:.75rem;font-weight:600;transition:color .3s;display:inline-block}.pw-strength-bar{background:var(--border);border-radius:2px;flex:1;height:3px;transition:background-color .5s,box-shadow .5s}.pw-strength-bar[data-active=true]{background:var(--strength-color);contain:layout style;will-change:transform;animation:.2s both scaleIn}.pw-strength-label{color:var(--strength-color);font-size:.72rem;font-weight:600;transition:color .3s;display:inline-block}.auth-strength-container{flex-direction:column;gap:6px;display:flex}.pw-req-item{color:var(--text-muted);align-items:center;gap:4px;font-size:.68rem;transition:color .2s;display:flex}.pw-req-item[data-met=true]{color:var(--success)}:root[data-theme=light] .pw-req-item[data-met=true]{color:#047857}:root[data-theme=light] .pw-req-item:not([data-met=true]){color:#475569}.pw-req-icon{font-size:.75rem;font-weight:700;line-height:1;display:inline-block}.pw-req-item[data-met=true] .pw-req-icon{animation:.35s validateCheck}.records-mini-stat{contain:layout style;will-change:transform, box-shadow;border-radius:10px;flex:1;align-items:center;gap:6px;padding:8px 10px;transition:transform .18s,box-shadow .18s;display:flex}@media (hover:hover) and (pointer:fine){.records-mini-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}}@media (prefers-reduced-motion:reduce){.records-mini-stat{will-change:auto;transition:none}.records-mini-stat:hover{box-shadow:none;transform:none}}@keyframes miniStatSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.records-mini-stat:first-child{animation:.2s both miniStatSlideIn}.records-mini-stat:nth-child(2){animation:.2s 60ms both miniStatSlideIn}.records-mini-stat:nth-child(3){animation:.2s .12s both miniStatSlideIn}@media (prefers-reduced-motion:reduce){.records-mini-stat:first-child,.records-mini-stat:nth-child(2),.records-mini-stat:nth-child(3){animation:none}}.records-mini-stat-icon{flex-shrink:0}.records-mini-stat-value{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:1rem;font-weight:700}.records-mini-stat-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.6rem}:root[data-theme=light] .records-mini-stat-label{color:#475569}.records-period-badge{color:var(--accent);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;background:#3b82f626;border:1px solid #3b82f633;border-radius:8px;padding:2px 7px;font-size:.65rem;font-weight:600}.records-today-stats{contain:layout style;flex-wrap:wrap;gap:8px;margin-bottom:.5rem;display:flex}.records-mini-stat[data-variant=accent]{background:#3b82f614;border:1px solid #3b82f626}.records-mini-stat[data-variant=success]{background:#10b98114;border:1px solid #10b98126}.records-mini-stat[data-variant=warning]{background:#f59e0b14;border:1px solid #f59e0b26;min-width:70px}.records-mini-stat[data-variant=accent] .records-mini-stat-icon,.records-mini-stat[data-variant=accent] .records-mini-stat-value{color:var(--accent)}.records-mini-stat[data-variant=success] .records-mini-stat-icon,.records-mini-stat[data-variant=success] .records-mini-stat-value{color:var(--success)}.records-mini-stat[data-variant=warning] .records-mini-stat-icon,.records-mini-stat[data-variant=warning] .records-mini-stat-value{color:#f59e0b}.stats-main-panel{flex-direction:column;gap:1rem;display:flex}.settings-info-list{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}:root[data-theme=light] .settings-info-list{color:#475569}.settings-info-row{border-radius:4px;justify-content:space-between;transition:background .15s;display:flex}@media (hover:hover){.settings-info-row:hover{background:#ffffff08}:root[data-theme=light] .settings-info-row:hover{background:#00000012}}.settings-info-value{color:var(--text-main);font-variant-numeric:tabular-nums}.member-avatar-grid{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.timer-group-id-row{contain:layout style;will-change:opacity;justify-content:flex-start;align-items:center;gap:8px;animation:.2s both fadeIn;display:flex}.stats-comparison-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.records-scroll-area{overscroll-behavior:contain;scroll-behavior:smooth;flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.pw-req-grid{grid-template-columns:1fr 1fr;gap:3px 12px;display:grid}.timer-header{contain:layout style;will-change:opacity;flex-direction:column;gap:6px;animation:.2s both fadeIn;display:flex}.timer-header-top{justify-content:space-between;align-items:center;display:flex}.timer-score-row{justify-content:center;align-items:flex-start;gap:20px;display:flex}.timer-score-col{contain:layout style;flex-direction:column;align-items:center;gap:1px;display:flex}.member-list-body{contain:layout style;flex-direction:column;gap:3px;display:flex}.timer-qr-range-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.milestone-emoji{contain:layout style;will-change:transform;font-size:2rem;animation:3s ease-in-out infinite float}@media (prefers-reduced-motion:reduce){.milestone-emoji{will-change:auto;animation:none}}.heatmap-legend{color:var(--text-muted);contain:layout style;will-change:opacity;justify-content:flex-end;align-items:center;gap:3px;margin-top:8px;font-size:.6rem;animation:.25s both fadeIn;display:flex}.heatmap-legend-cell{background:rgba(59, 130, 246, var(--legend-opacity,.1));contain:layout style;will-change:opacity;border:1px solid #3b82f633;border-radius:3px;flex-shrink:0;width:12px;height:12px;animation:.2s both fadeIn}:root[data-theme=light] .heatmap-legend-cell{border-color:#1d4ed859}.heatmap-legend-cell:first-of-type{--legend-opacity:.1;animation-delay:0s}.heatmap-legend-cell:nth-of-type(2){--legend-opacity:.25;animation-delay:40ms}.heatmap-legend-cell:nth-of-type(3){--legend-opacity:.45;animation-delay:80ms}.heatmap-legend-cell:nth-of-type(4){--legend-opacity:.65;animation-delay:.12s}.heatmap-legend-cell:nth-of-type(5){--legend-opacity:.9;animation-delay:.16s}.heatmap-legend-label{-webkit-user-select:none;user-select:none}.heatmap-legend-label:first-of-type{margin-right:2px}.heatmap-legend-label:last-of-type{margin-left:2px}.lobby-skeleton-row{contain:layout style;will-change:opacity;background:#ffffff0a;border-radius:12px;align-items:center;gap:10px;padding:12px;animation:.25s both fadeIn;display:flex}.lobby-skeleton-row:first-child{animation-delay:0s}.lobby-skeleton-row:nth-child(2){animation-delay:20ms}.lobby-skeleton-row:nth-child(3){animation-delay:40ms}.lobby-skeleton-row:nth-child(4){animation-delay:60ms}.lobby-skeleton-row:nth-child(5){animation-delay:80ms}@media (prefers-reduced-motion:reduce){.lobby-skeleton-row{animation:none!important}}@keyframes highlightPulse{0%{background:#f59e0b99}to{background:#f59e0b4d}}.word-highlight{color:inherit;contain:layout style;will-change:background;background:#f59e0b4d;border-radius:2px;padding:0 1px;animation:.35s ease-out both highlightPulse}:root[data-theme=light] .word-highlight{background:#b4530959}@media (prefers-reduced-motion:reduce){.word-highlight{will-change:auto;animation:none}}.records-week-header{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #ffffff0d;align-items:center;gap:6px;margin-bottom:4px;font-size:.68rem;font-weight:700;animation:.25s both rankHeaderSlide;display:flex}@media (prefers-reduced-motion:reduce){.records-week-header{animation:none!important}}.stats-chart-block{contain:layout style;will-change:transform, box-shadow;background:#0003;border:1px solid #0000;border-radius:16px;padding:16px;transition:box-shadow .2s,transform .2s,border-color .2s;animation:.25s both fadeIn}@media (hover:hover){.stats-chart-block:hover{border-color:#3b82f626;transform:translateY(-1px);box-shadow:0 4px 16px #0003}}@media (prefers-reduced-motion:reduce){.stats-chart-block{will-change:auto;transition:none;animation:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.stats-chart-block:hover{transform:none}}.stats-chart-block:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.stats-chart-block:active{transform:none}}:root[data-theme=light] .stats-chart-block{background:#00000008}@media (hover:hover){:root[data-theme=light] .stats-chart-block:hover{border-color:#3b82f640;box-shadow:0 4px 16px #00000014}}.stats-chart-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.stats-chart-title{color:var(--text-muted);-webkit-user-select:none;user-select:none;margin:0;font-size:.9rem}:root[data-theme=light] .stats-chart-title{color:#475569}.stats-chart-subtitle{color:var(--text-muted);opacity:.6;-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.7rem}:root[data-theme=light] .stats-chart-subtitle{color:#475569;opacity:1}.stats-chart-canvas{height:120px;position:relative}.stats-chart-gridline{bottom:var(--gridline-bottom);pointer-events:none;z-index:0;border-top:1px dashed #ffffff12;position:absolute;left:0;right:0}.stats-chart-gridline:first-of-type{--gridline-bottom:39px}.stats-chart-gridline:nth-of-type(2){--gridline-bottom:59px}.stats-chart-gridline:nth-of-type(3){--gridline-bottom:79px}.stats-compare-block{contain:layout style;will-change:transform, box-shadow, opacity;background:#0003;border:1px solid #0000;border-radius:16px;padding:16px;transition:box-shadow .2s,transform .2s,border-color .2s;animation:.25s both fadeIn}.stats-compare-block+.stats-compare-block{animation-delay:60ms}@media (hover:hover){.stats-compare-block:hover{border-color:#3b82f626;transform:translateY(-1px);box-shadow:0 4px 16px #0003}:root[data-theme=light] .stats-compare-block:hover{border-color:#3b82f640;box-shadow:0 4px 16px #00000014}}@media (prefers-reduced-motion:reduce){.stats-compare-block{transition:none;animation:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.stats-compare-block:hover{transform:none}}.stats-compare-block:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.stats-compare-block:active{transform:none}}.public-empty-state{color:var(--text-muted);text-align:center;contain:layout style;will-change:transform, opacity;background:#10b98108;border:1px dashed #10b98126;border-radius:12px;padding:16px;font-size:.85rem;animation:.4s forwards emptyFadeIn}@media (prefers-reduced-motion:reduce){.public-empty-state{will-change:auto;animation:none}}.lobby-public-empty-icon{opacity:.3;margin-bottom:6px}.lobby-public-empty-text{-webkit-user-select:none;user-select:none;margin:0;font-size:.85rem}:root[data-theme=light] .lobby-public-empty-icon{opacity:.45}.lobby-icon-btn{color:var(--text-muted);cursor:pointer;will-change:transform;contain:layout style;background:0 0;border:none;border-radius:8px;min-width:44px;min-height:44px;padding:6px;scroll-margin:8px;transition:background .15s,color .15s,transform .15s}:root[data-theme=light] .lobby-icon-btn{color:#475569}@media (hover:hover){.lobby-icon-btn:hover{color:var(--text-primary);background:#ffffff14;transform:scale(1.06)}}.lobby-icon-btn:active{transform:scale(.9)}.lobby-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .lobby-icon-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.lobby-icon-btn{will-change:auto;transition:none}.lobby-icon-btn:hover,.lobby-icon-btn:active{transform:none}}@media (hover:hover){:root[data-theme=light] .lobby-icon-btn:hover{background:#0000000f}}.lobby-tab-content{flex-direction:column;gap:8px;display:flex}.lobby-section-heading{color:var(--text-muted);contain:layout style;will-change:opacity;align-items:center;gap:6px;margin:0;font-size:.9rem;animation:.25s both fadeIn;display:flex}:root[data-theme=light] .lobby-section-heading{color:#475569}@media (prefers-reduced-motion:reduce){.lobby-section-heading{will-change:auto;animation:none}}.lobby-refresh-btn{color:var(--text-muted);opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;min-width:44px;min-height:44px;padding:6px;transition:opacity .15s,background .15s,transform .15s;display:inline-flex}:root[data-theme=light] .lobby-refresh-btn{color:#475569;opacity:.85}@media (hover:hover){.lobby-refresh-btn:hover{opacity:1;background:#ffffff14}:root[data-theme=light] .lobby-refresh-btn:hover{background:#0000000f}}.lobby-refresh-btn:active{transform:scale(.88)}.lobby-refresh-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .lobby-refresh-btn:focus-visible{outline-color:#1d4ed8}.lobby-refresh-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}:root[data-theme=light] .lobby-refresh-btn:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.lobby-refresh-btn{will-change:auto;transition:none}.lobby-refresh-btn:active{transform:none}}.filter-clear-btn{color:var(--text-muted);opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}@media (hover:hover){.filter-clear-btn:hover{opacity:1}}.filter-clear-btn:active{transform:translateY(-50%)scale(.85)}@media (prefers-reduced-motion:reduce){.filter-clear-btn{will-change:auto;transition:none}.filter-clear-btn:active{transform:translateY(-50%)}}.filter-clear-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .filter-clear-btn:focus-visible{outline-color:#1d4ed8}.confirm-cancel-btn{will-change:transform, background;min-width:auto;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:10px 12px;font-size:.75rem;transition:background .15s,color .15s,transform .15s;display:inline-flex}@media (hover:hover){.confirm-cancel-btn:hover{color:var(--text-primary);background:#ffffff0f}}.confirm-cancel-btn:active{transform:scale(.92)}.confirm-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .confirm-cancel-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.confirm-cancel-btn{transition:none}.confirm-cancel-btn:active{transform:none}}@media (hover:hover){:root[data-theme=light] .confirm-cancel-btn:hover{background:#0000000f}}.search-icon-overlay{color:var(--text-muted);pointer-events:none;align-items:center;display:inline-flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}:root[data-theme=light] .search-icon-overlay{color:#475569}@media (hover:hover){.weekly-chart-bars:hover .chart-bar{opacity:.5}.weekly-chart-bars:hover .chart-bar-col:hover .chart-bar{opacity:1}}.chart-bar-col:active .chart-bar{transform:scale(.95)translateY(0)}@media (prefers-reduced-motion:reduce){.chart-bar{transition:none}.weekly-chart-bars:hover .chart-bar,.weekly-chart-bars:hover .chart-bar-col:hover .chart-bar{opacity:1}.chart-bar-col:active .chart-bar{transform:none}}.timer-leave-trigger-btn{color:var(--text-muted);cursor:pointer;will-change:opacity, transform;contain:layout style;background:0 0;border:none;flex-shrink:0;min-width:44px;min-height:44px;padding:6px;scroll-margin:8px;transition:opacity .15s,transform .1s}@media (hover:hover){.timer-leave-trigger-btn:hover{opacity:.75}}.timer-leave-trigger-btn:active{transform:scale(.92)}.timer-leave-trigger-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .timer-leave-trigger-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.timer-leave-trigger-btn{transition:none}.timer-leave-trigger-btn:active{transform:none}}.timer-main-container{text-align:center;flex-direction:column;gap:.75rem;display:flex}.timer-group-title{text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;flex:1;align-items:center;gap:6px;min-width:0;margin:0;font-size:1.05rem;font-weight:600;animation:.2s both fadeIn;display:flex;overflow:hidden}.timer-settings-icon-btn{color:var(--text-muted);-webkit-user-select:none;user-select:none;opacity:.7;will-change:opacity, transform;background:0 0;border:none;flex-shrink:0;min-width:44px;min-height:44px;padding:10px;transition:opacity .15s,transform .1s}@media (hover:hover){.timer-settings-icon-btn:hover{opacity:1;transform:scale(1.06)}}.timer-settings-icon-btn:active{transform:scale(.9)}.timer-settings-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .timer-settings-icon-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.timer-settings-icon-btn{transition:none}.timer-settings-icon-btn:hover,.timer-settings-icon-btn:active{transform:none}}.timer-conn-online,.timer-conn-offline{contain:layout style;align-items:center;gap:3px;font-size:.65rem;display:inline-flex}.timer-conn-online{color:var(--success);animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.timer-conn-online{will-change:auto;animation:none}}.timer-conn-offline{color:var(--danger);animation:.15s both fadeIn,1.5s .15s infinite pulse}@media (prefers-reduced-motion:reduce){.timer-conn-offline{will-change:auto;animation:none}}:root[data-theme=light] .timer-conn-online{color:#047857}:root[data-theme=light] .timer-conn-offline{color:#dc2626}@keyframes connDotPulse{0%,to{box-shadow:0 0 #10b98180}50%{box-shadow:0 0 0 4px #10b98100}}.timer-conn-dot{background:var(--success);contain:layout style;border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite connDotPulse;display:inline-block}@media (prefers-reduced-motion:reduce){.timer-conn-dot{animation:none}}.new-word-notification{background:#3b82f614;border:1px solid #3b82f626;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:.8rem;display:none}.new-word-notification[data-visible]{contain:layout style;will-change:transform, opacity;animation:.2s cubic-bezier(.16,1,.3,1) forwards scaleIn;display:flex}@media (prefers-reduced-motion:reduce){.new-word-notification[data-visible]{will-change:auto;animation:none}}.new-word-notification[data-visible] .new-word-notification-icon{contain:layout style;will-change:opacity;animation:1.5s ease-in-out .2s infinite pulse}@media (prefers-reduced-motion:reduce){.new-word-notification[data-visible] .new-word-notification-icon{will-change:auto;animation:none}}.new-word-notification-icon{width:28px;height:28px;color:var(--accent);background:#3b82f626;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}:root[data-theme=light] .new-word-notification{background:#3b82f60f;border-color:#3b82f633}:root[data-theme=light] .new-word-notification-icon{color:#1d4ed8;background:#3b82f61a}.timer-summary-box{contain:layout style;will-change:opacity;background:#3b82f612;border:1px solid #3b82f62e;border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-width:200px;margin-top:10px;padding:10px 16px;animation:.25s both fadeIn;display:flex}:root[data-theme=light] .timer-summary-box{background:#3b82f614;border-color:#3b82f64d}.timer-streak-badge{color:var(--warning);font-variant-numeric:tabular-nums;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:999px;align-items:center;gap:3px;margin-top:4px;padding:2px 10px;font-size:.72rem;font-weight:700;animation:.2s both scaleIn;display:inline-flex}:root[data-theme=light] .timer-streak-badge{background:#f59e0b1a;border-color:#f59e0b66}.timer-score-value-time,.timer-score-value-pages,.timer-score-value-total{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:1rem;font-weight:700;animation:.25s cubic-bezier(.34,1.56,.64,1) both scaleIn}.timer-score-value-time{color:var(--success);animation-delay:0s}.timer-score-value-pages{color:var(--accent);animation-delay:60ms}.timer-score-value-total{color:var(--warning);animation-delay:.12s}.timer-score-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.6rem}.timer-display-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-main);opacity:1;will-change:color, opacity;font-size:clamp(2.5rem,10vw,3.5rem);font-weight:700;transition:color .4s,opacity .3s}.timer-display-time[data-state=starting]{color:var(--warning)}.timer-display-time[data-state=finished]{color:var(--danger)}.timer-display-time[data-state=paused]{color:var(--text-muted);opacity:.5}.timer-display-time[data-state=critical]{color:var(--danger)}.timer-display-time[data-state=caution]{color:var(--warning)}.timer-display-time[data-timer-anim]{contain:layout style;will-change:transform}.timer-display-time[data-timer-anim=shake]{animation:.4s shake}.timer-display-time[data-timer-anim=pulse]{animation:.8s infinite pulse}@media (prefers-reduced-motion:reduce){.timer-display-time[data-timer-anim]{will-change:auto;animation:none}}.notif-owner{color:var(--accent);-webkit-user-select:none;user-select:none;font-weight:600}.notif-verb{color:var(--text-muted);-webkit-user-select:none;user-select:none}.notif-word{color:var(--text-main);-webkit-user-select:none;user-select:none;font-weight:500}.timer-remaining-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.75rem}:root[data-theme=light] .timer-remaining-label{color:#475569}.timer-celebrate-label{color:var(--success);-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;font-size:.85rem;font-weight:600;animation:.2s .1s both fadeIn}@media (prefers-reduced-motion:reduce){.timer-celebrate-label{will-change:auto;animation:none}}.timer-motivation-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;margin-top:2px;font-size:.7rem;animation:.3s .35s both fadeIn}@media (prefers-reduced-motion:reduce){.timer-motivation-label{will-change:auto;animation:none}}:root[data-theme=light] .timer-motivation-label{color:#475569}.timer-summary-label{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:.58rem;font-weight:600}:root[data-theme=light] .timer-summary-label{color:#475569}.member-list-header{color:var(--text-muted);text-align:left;-webkit-user-select:none;user-select:none;text-wrap:balance;justify-content:space-between;margin-bottom:2px;font-size:.75rem;display:flex}.member-list-header[data-lobby=true]{margin-bottom:8px}.member-list-header span:last-child{font-variant-numeric:tabular-nums}:root[data-theme=light] .member-list-header{color:#475569}.member-grid-item{flex-direction:column;align-items:center;gap:4px;width:52px;animation:.2s both scaleIn;display:flex}.member-grid-item:first-child{animation-delay:0s}.member-grid-item:nth-child(2){animation-delay:20ms}.member-grid-item:nth-child(3){animation-delay:40ms}.member-grid-item:nth-child(4){animation-delay:60ms}.member-grid-item:nth-child(5){animation-delay:80ms}.member-grid-item:nth-child(6){animation-delay:.1s}.member-grid-item:nth-child(7){animation-delay:.12s}.member-grid-item:nth-child(8){animation-delay:.14s}@media (prefers-reduced-motion:reduce){.member-grid-item{animation:none}}.member-avatar-ready-badge{background:var(--success);border:2px solid var(--surface);contain:layout style;will-change:transform;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;animation:.2s cubic-bezier(.34,1.56,.64,1) both scaleIn;display:flex;position:absolute;bottom:-2px;right:-2px}@media (prefers-reduced-motion:reduce){.member-avatar-ready-badge{will-change:auto;animation:none}}:root[data-theme=light] .member-avatar-ready-badge{background:#047857;border-color:#ffffffe6}.member-avatar-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:52px;font-size:.6rem;overflow:hidden}.quick-record-form{text-align:left;background:#3b82f60f;border:1px solid #3b82f626;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}:root[data-theme=light] .quick-record-form{background:#3b82f61a;border-color:#3b82f640}.timer-today-summary{background:#3b82f60d;border:1px solid #3b82f61a;border-radius:10px;flex-direction:column;gap:6px;padding:8px 12px;animation:.2s both fadeIn;display:flex}.timer-today-summary[data-achieved=true]{background:#10b98114;border-color:#10b98126}:root[data-theme=light] .timer-today-summary{background:#3b82f614;border-color:#3b82f638}:root[data-theme=light] .timer-today-summary[data-achieved=true]{background:#10b9811f;border-color:#10b9814d}.member-row-name{text-align:left;-webkit-user-select:none;user-select:none;text-wrap:balance;flex:1;font-size:.9rem;font-weight:500}.member-row-you-badge{color:var(--accent);-webkit-user-select:none;user-select:none;contain:layout style;will-change:transform;margin-left:4px;font-size:.6rem;font-weight:400;animation:.2s both scaleIn}.member-row-lastseen{color:var(--text-muted);-webkit-user-select:none;user-select:none;margin-left:4px;font-size:.55rem}.member-row-pages{color:var(--success);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;margin-right:2px;font-size:.65rem;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.member-row-pages{will-change:auto;animation:none}}.timer-member-status-icon{color:var(--text-muted);opacity:.2}.timer-member-status-icon[data-online]{opacity:.4}.qr-memo-toggle-btn{color:var(--text-muted);cursor:pointer;will-change:transform, opacity;contain:layout style;background:0 0;border:none;align-self:center;align-items:center;gap:2px;min-width:auto;min-height:44px;padding:10px 0;font-size:.8rem;text-decoration:underline;transition:color .15s,opacity .15s,transform .1s;display:inline-flex}@media (hover:hover){.qr-memo-toggle-btn:hover{color:var(--text)}}.qr-memo-toggle-btn:active{opacity:.7;transform:scale(.95)}.qr-memo-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.qr-memo-toggle-btn{will-change:auto;transition:none}.qr-memo-toggle-btn:active{transform:none}}.qr-page-preview{white-space:nowrap;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;animation:.15s both fadeIn;display:inline-flex}.mini-chart-title{color:var(--text-muted);opacity:.6;letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin-bottom:5px;font-size:.58rem}:root[data-theme=light] .mini-chart-title{color:#475569;opacity:1}.mini-chart-bar-container{align-items:flex-end;gap:4px;height:48px;display:flex}.timer-member-ready-icon{color:var(--success)}.timer-member-ready-icon[data-running]{will-change:opacity;animation:1.6s infinite pulse}@media (prefers-reduced-motion:reduce){.timer-member-ready-icon[data-running]{animation:none}}.mini-chart-bar-col{contain:layout style;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:3px;height:100%;display:flex;position:relative}@media (hover:hover){.mini-chart-bar-col[data-tip]:hover:after{content:attr(data-tip);background:var(--bg-panel,#1e293b);border:1px solid var(--accent);white-space:nowrap;color:var(--text-main);z-index:20;pointer-events:none;will-change:opacity;border-radius:6px;padding:3px 8px;font-size:.65rem;animation:.15s tooltipFadeIn;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.mini-chart-bar-col[data-tip]:hover .mini-chart-bar{filter:brightness(1.25)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.mini-chart-bar-col[data-tip]:hover .mini-chart-bar{filter:none}.mini-chart-bar-col[data-tip]:hover:after{will-change:auto;animation:none}}.mini-chart-bar{width:100%;height:var(--bar-h,2px);background:var(--bar-bg,#ffffff0f);border-radius:3px 3px 2px 2px;transition:height .4s,filter .15s}.mini-chart-bar[data-active]{--bar-bg:linear-gradient(to top, var(--accent), #3b82f659)}.mini-chart-bar[data-today]{--bar-bg:linear-gradient(to top, var(--success), #10b98173)}:root[data-theme=light] .mini-chart-bar:not([data-active]):not([data-today]){background:#00000014}@media (prefers-reduced-motion:reduce){.mini-chart-bar{will-change:auto;transition:none}}.mini-chart-label{color:var(--text-muted);opacity:.65;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:.52rem;font-weight:400}.mini-chart-label[data-today]{color:var(--success);opacity:1;font-weight:700}.timer-goal-bar-track{background:#ffffff14;border-radius:2px;flex:1;height:3px;overflow:hidden}:root[data-theme=light] .timer-goal-bar-track{background:#00000014}.timer-goal-bar-fill{height:100%;width:var(--goal-pct,0%);background:linear-gradient(90deg, var(--accent), #60a5fa);contain:layout style;will-change:width, background;border-radius:2px;transition:width .5s,background .5s}@media (prefers-reduced-motion:reduce){.timer-goal-bar-fill{transition:none}}.timer-goal-bar-fill[data-achieved=true]{background:var(--success)}.spinner-ring-track{border:2px solid #3b82f626;border-radius:50%;position:absolute;inset:0}.spinner-ring-spin{border:2px solid #0000;border-top-color:var(--accent);will-change:transform;contain:layout style;border-radius:50%;animation:.8s linear infinite spin;position:absolute;inset:0}.spinner-ring-reverse{will-change:transform;contain:layout style;border:2px solid #0000;border-bottom-color:#3b82f673;border-radius:50%;animation:1.3s linear infinite spinReverse;position:absolute;inset:4px}.spinner-icon{color:var(--accent);contain:layout style;will-change:transform, opacity;animation:1.2s linear infinite spin,1.5s ease-in-out infinite spinnerIconPop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.spinner-ring-spin,.spinner-ring-reverse,.spinner-icon{will-change:auto;animation:none}}.error-boundary-container{text-align:center;contain:layout style;will-change:opacity;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:60vh;padding:2rem;animation:.3s both fadeIn;display:flex}.error-boundary-icon-box{contain:layout style;will-change:transform;background:#ef44441a;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;animation:.5s shake;display:flex}@media (prefers-reduced-motion:reduce){.error-boundary-icon-box{animation:none}.error-boundary-container{will-change:auto;animation:none}}:root[data-theme=light] .error-boundary-icon-box{background:#ef444426}.error-boundary-title{text-wrap:balance;margin:0;font-size:1.2rem}.error-boundary-message{color:var(--text-muted);text-wrap:balance;max-width:300px;margin:0;font-size:.85rem;line-height:1.6}:root[data-theme=light] .error-boundary-message{color:#475569}.error-boundary-actions{gap:8px;display:flex}.error-boundary-btn{will-change:transform, filter;contain:layout style;align-items:center;gap:6px;padding:12px 24px;scroll-margin:8px;transition:filter .15s,transform .15s;display:flex}@media (hover:hover){.error-boundary-btn:hover{filter:brightness(1.08)}}.error-boundary-btn:active{transform:scale(.95)}.error-boundary-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}:root[data-theme=light] .error-boundary-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.error-boundary-btn{transition:none}.error-boundary-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.error-boundary-btn:hover{filter:none}}.error-boundary-details{text-align:left;width:100%;max-width:480px}.error-boundary-summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:4px 0;scroll-margin:8px;font-size:.75rem;transition:color .15s}:root[data-theme=light] .error-boundary-summary{color:#475569}@media (hover:hover){.error-boundary-summary:hover{color:var(--text-main)}}.error-boundary-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.error-boundary-summary{transition:none}}.error-boundary-pre{color:var(--text-muted);white-space:pre-wrap;word-break:break-all;background:#ef44440f;border:1px solid #ef444433;border-radius:8px;margin-top:8px;padding:12px;font-size:.7rem;line-height:1.5;overflow-x:auto}details[open] .error-boundary-pre{contain:layout style;will-change:opacity;animation:.2s both fadeIn}@media (prefers-reduced-motion:reduce){details[open] .error-boundary-pre{will-change:auto;animation:none}}:root[data-theme=light] .error-boundary-pre{color:#475569;background:#ef44441a;border-color:#ef444440}.spinner-wrapper{justify-content:center;align-items:center;gap:var(--spinner-gap,1rem);padding:var(--spinner-padding,3rem);contain:layout style;will-change:opacity;flex-direction:column;animation:.15s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.spinner-wrapper{animation:none}}.spinner-wrapper[data-size=sm]{--spinner-gap:.5rem;--spinner-padding:.5rem;--spinner-size:20px;--spinner-font-size:.8rem;--spinner-inset:4px}.spinner-wrapper[data-size=md]{--spinner-gap:1rem;--spinner-padding:3rem;--spinner-size:48px;--spinner-font-size:.9rem;--spinner-inset:10px}.spinner-wrapper[data-size=lg]{--spinner-gap:1.25rem;--spinner-padding:4rem;--spinner-size:72px;--spinner-font-size:1rem;--spinner-inset:14px}.spinner-wrapper[data-inline=true]{flex-direction:row;gap:.5rem;padding:.25rem .5rem}.spinner-ring-container{width:var(--spinner-size);height:var(--spinner-size);contain:layout style;flex-shrink:0;position:relative}.spinner-pulse-glow{inset:calc(-1 * var(--spinner-inset));pointer-events:none;contain:layout style;will-change:transform, opacity;background:radial-gradient(circle,#3b82f62e 0%,#0000 70%);border-radius:50%;animation:1.5s ease-out infinite spinnerPulse;position:absolute}@media (prefers-reduced-motion:reduce){.spinner-pulse-glow{will-change:auto;animation:none}}:root[data-theme=light] .spinner-pulse-glow{background:radial-gradient(circle,#3b82f64d 0%,#0000 70%)}.settings-panel{flex-direction:column;gap:1rem;display:flex}.settings-heading{align-items:center;gap:6px;margin:0;font-size:1rem;display:flex}.settings-row{gap:8px;display:flex}.records-filter-row{align-items:center;gap:6px;display:flex}.records-search-row{align-items:center;gap:6px;margin-top:6px;display:flex;position:relative}.stats-rank-list{contain:layout style;will-change:opacity;flex-direction:column;gap:8px;animation:.3s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.stats-rank-list{will-change:auto;animation:none}}.rank-medal-col{text-align:center;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;width:24px;font-size:1.1rem}.rank-name-col{-webkit-user-select:none;user-select:none;flex:1;font-size:.9rem}.rank-you-badge{color:var(--accent);contain:layout style;will-change:transform;margin-left:4px;font-size:.6rem;animation:.2s both scaleIn}@media (prefers-reduced-motion:reduce){.rank-you-badge{will-change:auto;animation:none}}:root[data-theme=light] .rank-you-badge{color:#1d4ed8}.rank-score-col{text-align:right}.rank-score-pages{color:var(--accent);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:.9rem;font-weight:600}.rank-score-week{color:var(--success);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:.65rem}.stats-compare-col{text-align:center}.stats-compare-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-wrap:balance;margin-bottom:4px;font-size:.7rem}.stats-compare-label--accent{color:var(--accent)}.stats-compare-label--success{color:var(--success)}.stats-compare-value{color:var(--text-muted);font-variant-numeric:tabular-nums;contain:layout style;-webkit-user-select:none;user-select:none;font-size:1.3rem;font-weight:700;animation:.2s both fadeIn}.stats-compare-value--accent{color:var(--accent);contain:layout style;animation:.25s cubic-bezier(.16,1,.3,1) both scaleIn}.stats-compare-value--success{color:var(--success);contain:layout style;animation:.25s cubic-bezier(.16,1,.3,1) both scaleIn}@media (prefers-reduced-motion:reduce){.stats-compare-value--accent,.stats-compare-value--success{will-change:auto;animation:none}}:root[data-theme=light] .stats-compare-label--success,:root[data-theme=light] .stats-compare-value--success{color:#047857}:root[data-theme=light] .stats-compare-label--accent,:root[data-theme=light] .stats-compare-value--accent{color:#1d4ed8}:root[data-theme=light] .stats-compare-label:not(.stats-compare-label--success):not(.stats-compare-label--accent),:root[data-theme=light] .stats-compare-value:not(.stats-compare-value--success):not(.stats-compare-value--accent){color:#475569}.stats-compare-sub{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;text-wrap:balance;font-size:.7rem;animation:.2s 60ms both fadeIn}@media (prefers-reduced-motion:reduce){.stats-compare-sub{will-change:auto;animation:none}}:root[data-theme=light] .stats-compare-sub{color:#475569}.modal-header{contain:layout style;will-change:opacity;flex-direction:column;gap:6px;margin-bottom:.75rem;animation:.2s 80ms both fadeIn;display:flex}.modal-header-row{justify-content:space-between;align-items:center;display:flex}.modal-header-title{-webkit-user-select:none;user-select:none;text-wrap:balance;align-items:center;gap:6px;margin:0;font-size:1rem;display:flex}.modal-header-count{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.7rem;font-weight:400}:root[data-theme=light] .modal-header-count{color:#475569}.modal-toolbar{align-items:center;gap:2px;display:flex}.words-header-icon{color:var(--accent);vertical-align:middle}.modal-toolbar-btn{cursor:pointer;min-width:44px;min-height:44px;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:6px}.modal-toolbar-btn[data-active=true]{color:var(--warning);background:#f59e0b26;border-radius:6px}.modal-toolbar-btn[data-accent=true]{color:var(--accent)}.modal-toolbar-btn{transition:background .15s,color .15s,transform .1s,filter .15s}@media (hover:hover){.modal-toolbar-btn:not([data-active=true]):hover{color:var(--text-main);background:#ffffff14;box-shadow:0 2px 10px #3b82f633}:root[data-theme=light] .modal-toolbar-btn:not([data-active=true]):hover{background:#0000000d}.modal-toolbar-btn[data-accent=true]:hover{filter:brightness(1.15)}}.modal-toolbar-btn:active{transform:scale(.88)}.modal-toolbar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .modal-toolbar-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.modal-toolbar-btn{transition:none}.modal-toolbar-btn:active{transform:none}}.words-stats-wrapper{flex-direction:column;gap:6px;padding:8px 0;display:flex}.words-stats-row{gap:8px;display:flex}.words-stats-row .words-stat-card{contain:layout style;animation:.2s both fadeIn}.words-stats-row .words-stat-card:nth-child(2){animation-delay:60ms}.words-stats-row .words-stat-card:nth-child(3){animation-delay:.12s}@media (prefers-reduced-motion:reduce){.words-stats-row .words-stat-card{will-change:auto;animation:none}}.words-stat-card{text-align:center;contain:layout style;border-radius:10px;flex:1;padding:8px 6px}.words-stat-card[data-variant=total]{background:#3b82f614;border:1px solid #3b82f61f}.words-stat-card[data-variant=unmastered]{background:#ef444414;border:1px solid #ef44441f}.words-stat-card[data-variant=mastered]{background:#10b98114;border:1px solid #10b9811f}.words-stat-value{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:1.2rem;font-weight:700}.words-stat-card[data-variant=total] .words-stat-value{color:var(--accent)}.words-stat-card[data-variant=unmastered] .words-stat-value{color:var(--danger)}.words-stat-card[data-variant=mastered] .words-stat-value{color:var(--success)}:root[data-theme=light] .words-stat-card[data-variant=mastered] .words-stat-value{color:#047857}:root[data-theme=light] .words-stat-card[data-variant=total] .words-stat-value{color:#1d4ed8}:root[data-theme=light] .words-stat-card[data-variant=unmastered] .words-stat-value{color:#dc2626}.words-stat-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.65rem}:root[data-theme=light] .words-stat-label{color:#475569}.words-stat-card{transition:transform .18s,box-shadow .18s}@media (hover:hover){.words-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}}.words-stat-card:active{transform:translateY(0)scale(.98)}@media (prefers-reduced-motion:reduce){.words-stat-card{transition:none}.words-stat-card:hover,.words-stat-card:active{box-shadow:none;transform:none}}.lobby-daily-stat[data-color=accent]{background:#3b82f60f;border:1px solid #3b82f61f}.lobby-daily-stat[data-color=success]{background:#10b9810f;border:1px solid #10b9811f}.lobby-daily-stat[data-color=warning]{background:#f59e0b0f;border:1px solid #f59e0b1f}:root[data-theme=light] .lobby-daily-stat[data-color=accent]{background:#3b82f61a;border-color:#3b82f633}:root[data-theme=light] .lobby-daily-stat[data-color=success]{background:#10b9811a;border-color:#10b98133}:root[data-theme=light] .lobby-daily-stat[data-color=warning]{background:#f59e0b1a;border-color:#f59e0b33}.lobby-stat-value{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:1.1rem;font-weight:700}.lobby-daily-stat[data-color=accent] .lobby-stat-value{color:var(--accent)}.lobby-daily-stat[data-color=success] .lobby-stat-value{color:var(--success)}.lobby-daily-stat[data-color=warning] .lobby-stat-value{color:#f59e0b}.lobby-stat-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.6rem}.lobby-stat-icon{-webkit-user-select:none;user-select:none;flex-shrink:0}.lobby-daily-stat[data-color=accent] .lobby-stat-icon{color:var(--accent)}.lobby-daily-stat[data-color=success] .lobby-stat-icon{color:var(--success)}.lobby-daily-stat[data-color=warning] .lobby-stat-icon{color:#f59e0b}.group-card-name{-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:4px;font-size:.95rem;font-weight:500;transition:color .15s;display:flex}.group-card-name-text{-webkit-line-clamp:2;-webkit-user-select:none;user-select:none;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.group-card-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:.75rem;display:flex}:root[data-theme=light] .group-card-meta{color:#475569}.heatmap-day-cell{aspect-ratio:1;background:var(--cell-bg,transparent);width:100%;color:var(--cell-color,var(--text-muted));border:var(--cell-border,1px solid transparent);cursor:default;font-variant-numeric:tabular-nums;contain:layout style;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.7rem;font-weight:400;transition:border .2s,filter .18s,transform .18s;display:flex}.heatmap-day-cell[data-today]{--cell-color:var(--text-main);--cell-border:1px solid var(--accent);font-weight:700}:root[data-theme=light] .heatmap-day-cell[data-today]{--cell-border:2px solid #1d4ed8;--cell-bg:#1d4ed814}.heatmap-day-cell[data-has-record]{--cell-color:#fff}:root[data-theme=light] .heatmap-day-cell[data-has-record]{--cell-color:var(--text-main)}:root[data-theme=light] .heatmap-day-cell:not([data-has-record]){--cell-bg:#0000000a}:root[data-theme=light] .heatmap-day-cell:not([data-has-record]):not([data-today]):not([data-selected]){--cell-border:1px solid #00000014}.heatmap-day-cell[data-clickable]{cursor:pointer;scroll-margin:8px}.heatmap-day-cell[data-selected]{--cell-border:2px solid var(--accent)}:root[data-theme=light] .heatmap-day-cell[data-selected]{--cell-border:2px solid #1d4ed8}@media (prefers-reduced-motion:reduce){.heatmap-day-cell{transition:none}}.stats-avg-line{bottom:var(--avg-bottom,0px);pointer-events:none;contain:layout style;will-change:opacity;align-items:center;gap:4px;animation:.2s both fadeIn;display:flex;position:absolute;left:0;right:0}@media (prefers-reduced-motion:reduce){.stats-avg-line{animation:none}}.stats-avg-line-dash{border-top:1.5px dashed #f59e0b73;flex:1}.stats-avg-label{color:#f59e0b;opacity:.75;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.58rem}:root[data-theme=light] .stats-avg-label{color:#b45309;opacity:1}.group-card-daily-badge{font-variant-numeric:tabular-nums;color:var(--accent);contain:layout style;will-change:transform;-webkit-user-select:none;user-select:none;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;flex-shrink:0;align-items:center;gap:3px;padding:2px 7px;font-size:.62rem;font-weight:700;animation:.15s both scaleIn;display:inline-flex}@media (prefers-reduced-motion:reduce){.group-card-daily-badge{will-change:auto;animation:none}}.heatmap-week-total{font-variant-numeric:tabular-nums;white-space:nowrap;color:#0000;contain:layout style;will-change:opacity;border-left:1px solid #0000;justify-content:center;align-items:center;padding-left:5px;font-size:.55rem;font-weight:600;line-height:1.2;transition:color .2s,border-color .2s;animation:.2s both fadeIn;display:flex;position:relative}.heatmap-week-total[data-visible]{color:var(--accent);border-left-color:#3b82f633}:root[data-theme=light] .heatmap-week-total[data-visible]{color:#1d4ed8}@media (hover:hover){.heatmap-week-total[data-tip]:hover:after{content:attr(data-tip);background:var(--bg-panel,#1e293b);border:1px solid var(--accent);white-space:nowrap;color:var(--text-main);z-index:30;pointer-events:none;will-change:opacity;border-radius:6px;padding:3px 8px;font-size:.65rem;animation:.15s tooltipFadeIn;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.heatmap-week-total{will-change:auto;transition:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.heatmap-week-total[data-tip]:hover:after{will-change:auto;animation:none}}.heatmap-tooltip{background:var(--bg-panel,#1e293b);border:1px solid var(--accent);z-index:10;contain:layout style;will-change:opacity;min-width:110px;color:var(--text-main);border-radius:8px;padding:6px 10px;font-size:.7rem;animation:.15s both fadeIn;position:absolute;bottom:110%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}@media (prefers-reduced-motion:reduce){.heatmap-tooltip{animation:none}}.heatmap-tooltip-date{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;margin-bottom:4px;font-weight:600}:root[data-theme=light] .heatmap-tooltip-date{color:#1d4ed8}.heatmap-tooltip-record{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.6}:root[data-theme=light] .heatmap-tooltip-record{color:#475569}.stats-section-card{contain:layout style;contain:layout style;background:#0003;border-radius:16px;padding:16px;animation:.25s both fadeIn}.stats-section-card:first-child{animation-delay:0s}.stats-section-card:nth-child(2){animation-delay:20ms}.stats-section-card:nth-child(3){animation-delay:40ms}.stats-section-card:nth-child(4){animation-delay:60ms}.stats-section-card:nth-child(5){animation-delay:80ms}.stats-section-card:nth-child(6){animation-delay:.1s}.stats-section-card:nth-child(7){animation-delay:.12s}@media (prefers-reduced-motion:reduce){.stats-section-card{will-change:auto;transition:none;animation:none}}:root[data-theme=light] .stats-section-card{background:#ffffffd9;border-color:#00000014;box-shadow:0 1px 4px #00000014}.stats-section-card{will-change:transform, box-shadow;border:1px solid #0000;transition:transform .2s,box-shadow .2s,border-color .2s}@media (hover:hover){.stats-section-card:hover{border-color:#3b82f626;transform:translateY(-1px);box-shadow:0 4px 16px #0000002e}:root[data-theme=light] .stats-section-card:hover{border-color:#3b82f640;box-shadow:0 4px 16px #00000014}}@media (hover:hover) and (prefers-reduced-motion:reduce){.stats-section-card:hover{transform:none}}.stats-section-card:active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){.stats-section-card:active{transform:none}}.stats-section-card:focus-within{box-shadow:0 0 0 2px #3b82f633}:root[data-theme=light] .stats-section-card:focus-within{box-shadow:0 0 0 2px #1d4ed826}.stats-section-card--col{flex-direction:column;gap:10px;display:flex}.stats-goal-header{justify-content:space-between;align-items:center;display:flex}.stats-section-h3{color:var(--text-muted);letter-spacing:.03em;-webkit-user-select:none;user-select:none;text-wrap:balance;align-items:center;gap:6px;margin:0;font-size:.9rem;font-weight:600;display:flex}.records-form-card{contain:layout style;will-change:opacity;background:#0003;border-radius:14px;flex-direction:column;gap:10px;margin-bottom:.75rem;padding:12px;display:flex}:root[data-theme=light] .records-form-card{background:#00000008}.settings-section-icon{color:var(--accent)}:root[data-theme=light] .settings-section-icon{color:#1d4ed8}.records-header-row{contain:layout style;will-change:opacity;justify-content:space-between;align-items:center;margin-bottom:.75rem;animation:.2s both fadeIn;display:flex}.records-header-title{-webkit-user-select:none;user-select:none;text-wrap:balance;align-items:center;gap:6px;margin:0;font-size:1rem;display:flex}.records-header-actions{align-items:center;gap:4px;display:flex}.lobby-modal-overlay{z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:16px;animation:.15s both fadeIn;display:flex;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.lobby-modal-overlay{will-change:auto;animation:none}}.member-avatar-wrapper{position:relative}.member-avatar-lg{width:44px;height:44px;font-size:1.1rem}.member-avatar-sm{width:28px;height:28px;font-size:.75rem}.member-avatar[data-me]{outline:2px solid var(--accent);outline-offset:2px}.member-avatar-sm[data-me]{outline-offset:1px}:root[data-theme=light] .member-avatar[data-me]{outline-color:#1d4ed8}.member-avatar[data-offline]{filter:grayscale(.6);opacity:.45}.member-avatar-sm[data-offline]{opacity:1}.member-avatar-lg[data-ready]{transform:scale(1.08);box-shadow:0 4px 14px #10b98140}.member-avatar-name[data-me]{color:var(--accent);font-weight:600}:root[data-theme=light] .member-avatar-name[data-me]{color:#1d4ed8}.member-avatar-name[data-offline]{opacity:.5}:root[data-theme=light] .member-avatar-name:not([data-me]):not([data-offline]){color:#475569}@media (prefers-reduced-motion:reduce){.member-avatar-lg[data-ready]{transform:none}}.stats-header-row{contain:layout style;justify-content:space-between;align-items:center;animation:.2s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.stats-header-row{will-change:auto;animation:none}}.stats-header-title{-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin:0;font-size:1rem;display:flex}.stats-header-actions{align-items:center;gap:4px;display:flex}.share-btn{color:var(--text-muted);will-change:transform, filter, color, background;background:0 0;border:none;min-width:44px;min-height:44px;padding:8px;transition:color .25s,filter .15s,background .15s,transform .1s}.share-btn[data-shared]{color:var(--success)}:root[data-theme=light] .share-btn[data-shared]{color:#047857}.share-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){.share-btn{transition:none}}.stats-close-btn{min-width:44px;min-height:44px;padding:10px}.stats-grid{contain:layout style;grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stats-empty-msg{text-align:center;color:var(--text-muted);contain:layout style;text-wrap:balance;padding:2rem 0;animation:.3s both fadeIn}@media (prefers-reduced-motion:reduce){.stats-empty-msg{will-change:auto;animation:none}}:root[data-theme=light] .stats-empty-msg{color:#475569}.lobby-root-panel{flex-direction:column;gap:1rem;width:100%;max-width:680px;margin:4vh auto 0;display:flex}.lobby-header{contain:layout style;will-change:opacity;justify-content:space-between;align-items:center;animation:.2s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.lobby-header{will-change:auto;animation:none}}.lobby-header-user{align-items:center;gap:10px;display:flex}.lobby-user-avatar-ring{background:linear-gradient(135deg, var(--accent), #8b5cf6, #ec4899);contain:layout style;border-radius:50%;flex-shrink:0;width:42px;height:42px;padding:2px}.lobby-user-avatar{border:2px solid var(--bg-color);width:100%;height:100%;font-size:.9rem}.lobby-user-name{font-size:1rem;font-weight:600}.lobby-user-sub{color:var(--text-muted);align-items:center;gap:6px;font-size:.75rem;display:flex}:root[data-theme=light] .lobby-user-sub{color:#475569}.lobby-logout-btn{min-height:44px;padding:10px 14px;font-size:.85rem}.lobby-error-msg{color:var(--danger);text-align:center;background:#ef44441a;border-radius:10px;padding:10px;font-size:.9rem}:root[data-theme=light] .lobby-error-msg{color:#dc2626;background:#ef444414}.member-row-unmastered{color:var(--warning);contain:layout style;will-change:transform;background:#f59e0b1a;border-radius:6px;margin-right:2px;padding:1px 4px;font-size:.55rem;animation:.15s both scaleIn}@media (prefers-reduced-motion:reduce){.member-row-unmastered{will-change:auto;animation:none}}:root[data-theme=light] .member-row-unmastered{color:#b45309;background:#f59e0b1f}.timer-milestone-card{text-align:center;color:#f59e0b;background:linear-gradient(135deg,#f59e0b1f,#ec489914);border:1px solid #f59e0b33;border-radius:14px;padding:12px 16px;font-size:.85rem;font-weight:600}:root[data-theme=light] .timer-milestone-card{color:#b45309;background:linear-gradient(135deg,#f59e0b33,#ec48991f);border-color:#f59e0b59}.spin{contain:layout style;will-change:transform;animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{will-change:auto;animation:none}}[data-spinning]{contain:layout style;will-change:transform;animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){[data-spinning]{will-change:auto;animation:none}}.error-icon-box svg{color:var(--danger)}:root[data-theme=light] .error-icon-box svg{color:#dc2626}.error-retry-btn{will-change:transform, filter;min-width:44px;min-height:44px;padding:12px 20px;scroll-margin:8px;font-size:.85rem}.records-validation-error{color:var(--danger);text-wrap:balance;contain:layout style;will-change:opacity;font-size:.85rem;animation:.15s both fadeIn}.settings-success-msg{color:var(--success);text-wrap:balance;align-items:center;gap:4px;font-size:.85rem;display:flex}.settings-danger-msg{color:var(--danger);text-wrap:balance;contain:layout style;will-change:opacity;font-size:.8rem;animation:.15s both fadeIn}:root[data-theme=light] .settings-danger-msg{color:#dc2626}:root[data-theme=light] .settings-success-msg{color:#047857}@media (prefers-reduced-motion:reduce){.records-validation-error,.settings-danger-msg{will-change:auto;animation:none}}:root[data-theme=light] .records-validation-error{color:#dc2626}.btn-join-sm{min-height:44px;padding:10px 14px;font-size:.8rem}.btn-join-sm:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.lobby-tab-header{justify-content:space-between;align-items:center;display:flex}.segment-control--sm button{align-items:center;gap:3px;min-height:44px;padding:10px 8px;font-size:.72rem;transition:background .18s,color .18s,transform .18s,opacity .18s;display:flex}@media (hover:hover){.segment-control--sm button:not([data-selected=true]):hover{opacity:.75}}.segment-control--sm button:not([data-selected=true]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .segment-control--sm button:not([data-selected=true]):focus-visible{outline-color:#1d4ed8}.group-search-input{width:100%;min-height:44px;padding:10px 12px;scroll-margin:8px;font-size:.85rem}.group-search-input[data-has-value]{padding-right:32px}.public-group-globe{color:var(--success);flex-shrink:0}.btn-open-sm{min-height:44px;color:var(--accent);will-change:transform, filter;contain:layout style;background:#3b82f61a;border-color:#3b82f64d;padding:10px 12px;font-size:.8rem;transition:filter .12s,transform .1s}@media (hover:hover){.btn-open-sm:hover{filter:brightness(1.08)}}.btn-open-sm:active{transform:scale(.95)}.btn-open-sm:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}:root[data-theme=light] .btn-open-sm:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.btn-open-sm{transition:none}.btn-open-sm:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.btn-open-sm:hover{filter:none}}.error-icon-box{contain:layout style;will-change:transform;animation:.5s shake,.4s .5s errorSettle,.3s both errorStagger}@media (prefers-reduced-motion:reduce){.error-icon-box{will-change:auto;animation:none}}.timer-preset-row{flex-wrap:wrap;gap:4px;display:flex}.timer-settings-input-row{align-items:center;gap:8px;display:flex}.qr-memo-section{flex-direction:column;gap:6px;display:flex}.qr-memo-counter{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;margin-top:-4px;font-size:.7rem;animation:.15s both fadeIn}.qr-memo-counter[data-over-limit]{color:var(--danger)}.qr-tag-row{flex-wrap:wrap;gap:4px;display:flex}.qr-tag-row .recent-memo-btn{contain:layout style;will-change:opacity;animation:.2s both fadeIn}.qr-tag-row .recent-memo-btn:first-child{animation-delay:0s}.qr-tag-row .recent-memo-btn:nth-child(2){animation-delay:8ms}.qr-tag-row .recent-memo-btn:nth-child(3){animation-delay:16ms}.qr-tag-row .recent-memo-btn:nth-child(4){animation-delay:24ms}.qr-tag-row .recent-memo-btn:nth-child(5){animation-delay:32ms}.qr-tag-row .recent-memo-btn:nth-child(n+6){animation-delay:40ms}@media (prefers-reduced-motion:reduce){.qr-memo-counter,.qr-tag-row .recent-memo-btn{will-change:auto;animation:none}}.qr-memo-expandable{opacity:0;contain:layout style;grid-template-rows:0fr;transition:grid-template-rows .25s,opacity .2s;display:grid}.qr-memo-expandable[data-open]{opacity:1;grid-template-rows:1fr}.qr-memo-expandable-inner{overflow:hidden}@media (prefers-reduced-motion:reduce){.qr-memo-expandable{transition:none}}.qr-btn-row{gap:8px;display:flex}.nav-kbd-badge{opacity:.65;-webkit-user-select:none;user-select:none;text-wrap:balance;margin-left:6px;font-size:.7rem;font-weight:600}:root[data-theme=light] .nav-kbd-badge{color:#475569;opacity:1}.lobby-accordion{background:#ffffff0a;border-radius:14px;overflow:hidden}:root[data-theme=light] .lobby-accordion{background:#00000008}.lobby-accordion-toggle{will-change:transform, background;contain:layout style;background:0 0;border:none;border-radius:14px;justify-content:space-between;align-items:center;width:100%;min-height:auto;padding:14px 16px;transition:background .15s,transform .1s;display:flex}.lobby-accordion-toggle[data-open]{border-radius:14px 14px 0 0}@media (hover:hover){.lobby-accordion-toggle:hover{background:#ffffff0f}:root[data-theme=light] .lobby-accordion-toggle:hover{background:#0000000f}}.lobby-accordion-toggle:active{transform:scale(.98)}.lobby-accordion-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:14px}@media (prefers-reduced-motion:reduce){.lobby-accordion-toggle:active{transform:none}}.lobby-accordion-label{-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:1rem;font-weight:600;display:flex}.lobby-accordion-chevron{color:var(--text-muted);contain:layout style;will-change:transform;font-size:.8rem;transition:transform .25s}.lobby-accordion-chevron[data-open]{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.lobby-accordion-chevron{will-change:auto;transition:none}}.lobby-accordion-form{contain:layout style;will-change:opacity;flex-direction:column;gap:10px;padding:0 16px 16px;animation:.15s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.lobby-accordion-form{will-change:auto;animation:none}}summary.settings-details-summary{cursor:pointer;-webkit-user-select:none;user-select:none;gap:6px;list-style:none}summary.settings-details-summary::-webkit-details-marker{display:none}.settings-details-summary--accent{color:var(--accent)}:root[data-theme=light] .settings-details-summary--accent{color:#1d4ed8}.settings-details-chevron{color:var(--text-muted);-webkit-user-select:none;user-select:none;margin-left:auto;font-size:.7rem}:root[data-theme=light] .settings-details-chevron{color:#475569}.settings-version-badge{color:var(--accent);font-variant-numeric:tabular-nums;background:#3b82f626;border-radius:6px;padding:2px 8px;font-size:.6rem;font-weight:600}:root[data-theme=light] .settings-version-badge{color:#1d4ed8}.settings-shortcuts-list{color:var(--text-muted);flex-direction:column;gap:6px;margin-top:10px;font-size:.8rem;display:flex}.settings-shortcut-row{contain:layout style;will-change:opacity;justify-content:space-between;align-items:center;animation:.15s both fadeIn;display:flex}.settings-shortcuts-list .settings-shortcut-row:first-child{animation-delay:0s}.settings-shortcuts-list .settings-shortcut-row:nth-child(2){animation-delay:20ms}.settings-shortcuts-list .settings-shortcut-row:nth-child(3){animation-delay:40ms}.settings-shortcuts-list .settings-shortcut-row:nth-child(4){animation-delay:60ms}.settings-shortcuts-list .settings-shortcut-row:nth-child(5){animation-delay:80ms}.settings-shortcuts-list .settings-shortcut-row:nth-child(6){animation-delay:.1s}.settings-shortcuts-list .settings-shortcut-row:nth-child(7){animation-delay:.12s}.settings-shortcuts-list .settings-shortcut-row:nth-child(8){animation-delay:.14s}@media (prefers-reduced-motion:reduce){.settings-shortcut-row{animation:none}}.settings-whatsnew-list{color:var(--text-muted);flex-direction:column;gap:4px;margin:10px 0 0;padding-left:20px;font-size:.8rem;display:flex}.settings-whatsnew-list li{contain:layout style;animation:.2s both fadeIn}.settings-whatsnew-list li:first-child{animation-delay:0s}.settings-whatsnew-list li:nth-child(2){animation-delay:20ms}.settings-whatsnew-list li:nth-child(3){animation-delay:40ms}.settings-whatsnew-list li:nth-child(4){animation-delay:60ms}.settings-whatsnew-list li:nth-child(5){animation-delay:80ms}@media (prefers-reduced-motion:reduce){.settings-whatsnew-list li{animation:none}}.stats-goal-progress-track{will-change:box-shadow;background:#ffffff14;border-radius:4px;height:8px;transition:box-shadow .5s;position:relative;overflow:hidden}.stats-goal-progress-track[data-achieved=true]{box-shadow:0 0 0 2px #10b98140,0 0 12px #10b98159}:root[data-theme=light] .stats-goal-progress-track[data-achieved=true]{box-shadow:0 0 0 2px #10b98173,0 0 10px #10b98133}.stats-goal-fill{width:var(--mastery-width,0%);background:var(--gradient-accent-h);will-change:width, background;border-radius:4px;transition:width .3s,background .3s;position:absolute;top:0;bottom:0;left:0}.stats-goal-progress-track[data-achieved=true] .stats-goal-fill{background:var(--gradient-success-h)}.stats-goal-footer{contain:layout style;will-change:opacity;justify-content:space-between;font-size:.8rem;animation:.2s both fadeIn;display:flex}.stats-goal-current{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.stats-goal-current[data-achieved=true]{color:var(--success)}.stats-goal-trophy{color:var(--warning);contain:layout style;will-change:transform, opacity;animation:.25s cubic-bezier(.34,1.56,.64,1) both scaleIn}:root[data-theme=light] .stats-goal-trophy{color:#b45309}:root[data-theme=light] .stats-goal-current[data-achieved=true]{color:#047857}.stats-goal-pct{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;text-wrap:balance}:root[data-theme=light] .stats-goal-pct,:root[data-theme=light] .stats-goal-current:not([data-achieved=true]){color:#475569}.auth-strength-bars{gap:4px;display:flex}.auth-strength-check{color:#10b981;contain:layout style;will-change:transform, opacity;font-size:.65rem;animation:.18s cubic-bezier(.34,1.56,.64,1) both scaleIn}:root[data-theme=light] .auth-strength-check{color:#047857}.auth-strength-reqs{grid-template-columns:1fr 1fr;gap:3px 12px;margin-top:2px;display:grid}.stats-milestone-card{background:var(--milestone-bg,#ffffff0a);border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}@media (hover:hover){.stats-milestone-card:hover{border-color:#3b82f633;transform:translateY(-2px);box-shadow:0 4px 14px #0000002e}:root[data-theme=light] .stats-milestone-card:hover{border-color:#3b82f64d}}.stats-milestone-card:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.stats-milestone-card{transition:none}.stats-milestone-card:hover,.stats-milestone-card:active{box-shadow:none;transform:none}}.stats-milestone-card[data-color=gold]{--milestone-bg:#ffd70014}.stats-milestone-card[data-color=blue]{--milestone-bg:#60a5fa14}.stats-milestone-card[data-color=amber]{--milestone-bg:#f59e0b14}.stats-milestone-card{animation:.3s both fadeIn}@media (prefers-reduced-motion:reduce){.stats-milestone-card{will-change:auto;animation:none}}:root[data-theme=light] .stats-milestone-card{background:#00000008;border-color:#00000014}:root[data-theme=light] .stats-milestone-card[data-color=gold]{background:#f59e0b12}:root[data-theme=light] .stats-milestone-card[data-color=blue]{background:#3b82f612}:root[data-theme=light] .stats-milestone-card[data-color=amber]{background:#f59e0b12}.stats-milestone-info{flex:1}.stats-milestone-title{color:var(--text-main);-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:600}.stats-mini-bars-section{contain:layout style;will-change:opacity;margin-top:4px;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.stats-mini-bars-section{will-change:auto;animation:none}}.stats-milestone-next-label{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;text-wrap:balance;margin-bottom:3px;font-size:.7rem}:root[data-theme=light] .stats-milestone-next-label{color:#475569}.stats-milestone-mini-track{background:#ffffff14;border-radius:2px;height:3px;overflow:hidden}@keyframes milestoneBarFill{0%{width:0%}to{width:var(--mini-fill-width,0%)}}.stats-milestone-mini-fill{height:100%;width:var(--mini-fill-width,0%);background:linear-gradient(90deg, var(--accent), #60a5fa);contain:layout style;will-change:width;border-radius:2px;animation:.6s .4s both milestoneBarFill}@media (prefers-reduced-motion:reduce){.stats-milestone-mini-fill{will-change:auto;animation:none}}:root[data-theme=light] .stats-milestone-mini-track{background:#00000014}.toast{z-index:1;margin-bottom:var(--toast-mb,0px);transition:transform .3s,opacity .3s;position:relative;overflow:hidden}.toast[data-depth=stacked]{z-index:calc(max(0, 9 - var(--toast-depth-idx,1)));pointer-events:none;transform:scale(var(--toast-scale,1));opacity:var(--toast-opacity,1);--toast-mb:-8px}.toast[data-exiting=true]{opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-12px)scale(.95)}.toast[data-swiping=true]{transform:translateX(var(--toast-translateX,0px));opacity:var(--toast-opacity,1);will-change:transform;transition:none}.circular-progress-wrapper{width:var(--cp-size);height:var(--cp-size);display:inline-block;position:relative}.circular-progress-wrapper[data-glow-state=primary]{--cp-glow-color:#3b82f6;--glow-filter:drop-shadow(0 0 6px #3b82f64f)}.circular-progress-wrapper[data-glow-state=warning]{--cp-glow-color:#f59e0b;--glow-filter:drop-shadow(0 0 6px #f59e0b4f)}.circular-progress-wrapper[data-glow-state=danger]{--cp-glow-color:#ef4444;--glow-filter:drop-shadow(0 0 6px #ef44444f)}.circular-progress-wrapper[data-glow-state=starting]{--cp-glow-color:#facc15;--glow-filter:drop-shadow(0 0 6px #facc154f)}:root[data-theme=light] .circular-progress-wrapper[data-glow-state=primary]{--cp-glow-color:#1d4ed8;--glow-filter:drop-shadow(0 0 6px #1d4ed866)}:root[data-theme=light] .circular-progress-wrapper[data-glow-state=warning]{--cp-glow-color:#b45309;--glow-filter:drop-shadow(0 0 6px #b4530966)}:root[data-theme=light] .circular-progress-wrapper[data-glow-state=danger]{--cp-glow-color:#dc2626;--glow-filter:drop-shadow(0 0 6px #dc262666)}:root[data-theme=light] .circular-progress-wrapper[data-glow-state=starting]{--cp-glow-color:#a16207;--glow-filter:drop-shadow(0 0 6px #a1620766)}.circular-progress-wrapper[data-timer-state=running]{--ring-dashoffset-dur:.95s;--ring-dashoffset-ease:linear}.circular-progress-svg{will-change:transform;transform:rotate(-90deg)}:root[data-theme=light] .progress-ring-bg{opacity:.8}.progress-ring-pulse-svg{pointer-events:none;position:absolute;top:0;left:0}.progress-ring-pulse-circle{stroke:var(--cp-glow-color);transform-origin:var(--ring-origin);will-change:transform, opacity;animation:1.2s ease-out forwards ringExpand}@media (prefers-reduced-motion:reduce){.progress-ring-pulse-circle{will-change:auto;animation:none}}.progress-ring-inner-glow{fill:var(--cp-glow-color);will-change:fill, opacity;transition:fill .5s,opacity .5s}.progress-ring-glow{stroke:var(--cp-glow-color);transition:stroke-dashoffset var(--ring-dashoffset-dur,.4s) var(--ring-dashoffset-ease,ease), opacity .5s ease;will-change:stroke-dashoffset}.progress-ring-main{filter:var(--glow-filter);transition:stroke-dashoffset var(--ring-dashoffset-dur,.4s) var(--ring-dashoffset-ease,ease), stroke .5s ease;will-change:stroke-dashoffset}.settings-option-btn{border-color:var(--border);min-height:44px;color:var(--text-muted);will-change:transform;contain:layout style;background:#ffffff0a;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;scroll-margin:8px;font-size:.95rem;font-weight:400;transition:background .2s,border-color .2s,color .2s,transform .15s;display:flex}:root[data-theme=light] .settings-option-btn{background:#00000008}.settings-option-btn[data-active=true]{color:var(--accent);background:#3b82f626;border-color:#3b82f64d;font-weight:600}:root[data-theme=light] .settings-option-btn[data-active=true]{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f680}@media (hover:hover){.settings-option-btn:hover:not([data-active=true]){color:var(--text-main);background:#ffffff14;border-color:#ffffff26}:root[data-theme=light] .settings-option-btn:hover:not([data-active=true]){background:#0000000d;border-color:#0000001f}}.settings-option-btn:active{transform:scale(.96)}.settings-option-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .settings-option-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.settings-option-btn{transition:none}.settings-option-btn:active{transform:none}}@keyframes dayDetailIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.stats-day-detail{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:10px;margin-top:8px;animation:.2s ease-out forwards dayDetailIn;overflow:hidden}@media (prefers-reduced-motion:reduce){.stats-day-detail{will-change:auto;animation:none}}:root[data-theme=light] .stats-day-detail{background:#f59e0b1f;border-color:#f59e0b59}.stats-day-detail-header{justify-content:space-between;align-items:center;padding:7px 12px;display:flex}.stats-day-detail-header[data-has-records=true]{border-bottom:1px solid #f59e0b1f}:root[data-theme=light] .stats-day-detail-header[data-has-records=true]{border-bottom-color:#f59e0b4d}.stats-day-detail-title{color:#f59e0b;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600}:root[data-theme=light] .stats-day-detail-title{color:#b45309}.stats-day-detail-close{color:var(--text-muted);cursor:pointer;will-change:transform, color;contain:layout style;background:0 0;border:none;min-width:auto;min-height:44px;padding:2px 6px;font-size:.8rem;line-height:1;transition:color .15s,transform .1s}:root[data-theme=light] .stats-day-detail-close{color:#475569}@media (hover:hover){.stats-day-detail-close:hover{color:var(--text-main)}}.stats-day-detail-close:active{transform:scale(.9)}@media (prefers-reduced-motion:reduce){.stats-day-detail-close{transition:none}.stats-day-detail-close:active{transform:none!important}}.stats-day-detail-body{flex-direction:column;gap:5px;padding:6px 12px 8px;display:flex}.stats-day-detail-record{contain:layout style;will-change:opacity;align-items:baseline;gap:8px;font-size:.78rem;animation:.18s both fadeIn;display:flex}.stats-day-detail-record:first-child{animation-delay:0s}.stats-day-detail-record:nth-child(2){animation-delay:10ms}.stats-day-detail-record:nth-child(3){animation-delay:20ms}.stats-day-detail-record:nth-child(4){animation-delay:30ms}.stats-day-detail-record:nth-child(5){animation-delay:40ms}@media (prefers-reduced-motion:reduce){.stats-day-detail-record{animation:none}}.stats-day-detail-page{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:500}.stats-day-detail-count{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.7rem}.stats-day-detail-memo{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;contain:layout style;will-change:opacity;-webkit-user-select:none;user-select:none;flex:1;font-size:.72rem;animation:.12s both fadeIn;overflow:hidden}:root[data-theme=light] .stats-day-detail-memo{color:#475569}.stats-section-header{color:var(--text-muted);letter-spacing:.03em;contain:layout style;-webkit-user-select:none;user-select:none;margin-bottom:12px;font-size:.9rem}:root[data-theme=light] .stats-section-header{color:#475569}.stats-compare-arrow{text-align:center;contain:layout style;will-change:transform, opacity;justify-content:center;align-items:center;min-height:48px;font-size:1.3rem;display:flex}.stats-compare-arrow[data-diff=positive]{color:var(--success);animation:1.2s ease-in-out infinite arrowUp}.stats-compare-arrow[data-diff=negative]{color:var(--danger);animation:1.2s ease-in-out infinite arrowDown}.stats-compare-arrow[data-diff=neutral]{color:var(--text-muted);animation:2s infinite pulse}@media (prefers-reduced-motion:reduce){.stats-compare-arrow{will-change:auto;animation:none!important}}:root[data-theme=light] .stats-compare-arrow[data-diff=positive]{color:#047857}:root[data-theme=light] .stats-compare-arrow[data-diff=negative]{color:#dc2626}:root[data-theme=light] .stats-compare-arrow[data-diff=neutral]{color:#475569}.stats-compare-indicator{text-align:center;font-variant-numeric:tabular-nums;contain:layout style;border-radius:8px;margin-top:10px;padding:6px 12px;font-size:.8rem;font-weight:600;animation:.2s both fadeIn}.stats-compare-indicator[data-diff=positive]{color:var(--success);background:#10b98114}.stats-compare-indicator[data-diff=negative]{color:var(--danger);background:#ef444414}.stats-compare-indicator[data-diff=neutral]{color:var(--text-muted);background:#ffffff0a}:root[data-theme=light] .stats-compare-indicator[data-diff=neutral]{color:#475569;background:#00000014}:root[data-theme=light] .stats-compare-indicator[data-diff=positive]{color:#047857;background:#10b9812e}:root[data-theme=light] .stats-compare-indicator[data-diff=negative]{color:#dc2626;background:#ef44442e}@media (prefers-reduced-motion:reduce){.stats-compare-indicator{animation:none!important}}.stat-card[data-color=warning]{--stat-color:var(--warning)}.stat-card[data-color=danger]{--stat-color:var(--danger)}.stat-card[data-color=success]{--stat-color:var(--success)}.stat-card{color:var(--stat-color,var(--text-main));contain:layout style;background:#0003;border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}:root[data-theme=light] .stat-card{background:#00000008}.stat-card-header{color:var(--text-muted);align-items:center;gap:8px;font-size:.75rem;display:flex}:root[data-theme=light] .stat-card-header{color:#475569}.stat-icon-bg{background:color-mix(in srgb, var(--stat-color,var(--accent)) 8%, transparent);contain:layout style;will-change:transform;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.stat-icon-color{color:var(--stat-color,var(--accent));-webkit-user-select:none;user-select:none;display:flex}.stat-value{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;align-items:baseline;gap:6px;font-size:1.5rem;font-weight:700;display:flex}.stat-card-header{-webkit-user-select:none;user-select:none}.stat-card-detail{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;margin-top:-4px;font-size:.65rem;line-height:1.5}.stats-streak-badge{color:var(--danger);font-variant-numeric:tabular-nums;contain:layout style;will-change:transform, opacity;-webkit-user-select:none;user-select:none;background:#ef444426;border:1px solid #ef444440;border-radius:6px;padding:2px 5px;font-size:.65rem;font-weight:600;animation:.2s both scaleIn}@media (prefers-reduced-motion:reduce){.stats-streak-badge{will-change:auto;animation:none}}.stats-streak-badge[data-positive=true]{color:var(--success);background:#22c55e26;border-color:#22c55e40}:root[data-theme=light] .stats-streak-badge:not([data-positive=true]){background:#ef444433;border-color:#dc262666}:root[data-theme=light] .stats-streak-badge[data-positive=true]{background:#22c55e33;border-color:#04785766}.timer-ready-container{width:100%;position:relative}.timer-ready-progress{height:100%;width:calc(var(--ready-pct,0) * 1%);pointer-events:none;will-change:width;background:#3b82f614;border-radius:12px;transition:width .4s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.timer-ready-progress[data-ready]{background:#10b98114}:root[data-theme=light] .timer-ready-progress[data-ready]{background:#10b98138}.timer-ready-btn{will-change:transform, background-color, box-shadow;width:100%;scroll-margin:8px;font-size:1.05rem;transition:background-color .25s,transform .15s,box-shadow .25s;position:relative}.timer-ready-btn[data-sending]{opacity:.7;cursor:not-allowed;will-change:opacity}.timer-ready-btn:not([data-ready]){background-color:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=light] .timer-ready-btn:not([data-ready]){background-color:#1d4ed8;border-color:#1d4ed8}@media (hover:hover) and (pointer:fine){.timer-ready-btn:not([data-ready]):not([data-sending]):hover{background-color:var(--accent-hover);box-shadow:0 4px 16px #3b82f659}}.timer-ready-btn:not([data-ready]):not([data-sending]):active{background-color:#1d4ed8;box-shadow:0 2px 8px #3b82f633}@media (prefers-reduced-motion:reduce){.timer-ready-btn[data-idle-pulse]{box-shadow:none;will-change:auto;animation:none}}.timer-ready-btn[data-ready]{color:inherit;background:#10b9811a;border-color:#10b9814d}.timer-kbd{color:#ffffff80;background:#ffffff1a;border-radius:4px;margin-left:4px;padding:2px 6px;font-family:monospace;font-size:.6rem;font-weight:400}:root[data-theme=light] .timer-kbd{color:#0006;background:#0000000f}.records-page-badge{font-variant-numeric:tabular-nums;color:var(--accent);-webkit-user-select:none;user-select:none;background:#3b82f61f;border:1px solid #3b82f640;border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:.72rem;font-weight:600}:root[data-theme=light] .records-page-badge{color:#1d4ed8;background:#1d4ed81a;border-color:#1d4ed840}.records-overlap-warning{color:var(--danger);-webkit-user-select:none;user-select:none;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;align-self:flex-start;align-items:center;gap:6px;margin-top:-4px;padding:6px 12px;font-size:.8rem;display:inline-flex}:root[data-theme=light] .records-overlap-warning{color:#dc2626;background:#ef444424;border-color:#ef444459}.group-name-btn{text-align:left;cursor:pointer;will-change:transform;background:0 0;border:none;flex-direction:column;flex:1;gap:1px;min-height:auto;padding:0;scroll-margin:8px;display:flex}@media (hover:hover){.group-name-btn:hover .group-card-name{color:var(--accent);will-change:color;transition:color .15s}:root[data-theme=light] .group-name-btn:hover{background:#00000008;border-radius:6px}:root[data-theme=light] .group-name-btn:hover .group-card-name{color:#1d4ed8}}.group-name-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.group-name-btn:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.group-name-btn:active{transform:none}}.group-memo-form{contain:layout style;will-change:opacity;flex:0 0 100%;order:-1;gap:4px;margin-bottom:4px;animation:.15s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.group-memo-form{animation:none}}.group-status-icon{flex-shrink:0}.group-status-icon--pin{color:#f59e0b}.group-status-icon--globe{color:var(--success)}.group-status-icon--lock{color:var(--text-muted)}:root[data-theme=light] .group-status-icon--pin{color:#b45309}:root[data-theme=light] .group-status-icon--globe{color:#059669}:root[data-theme=light] .group-status-icon--lock{color:#475569}.settings-delete-form{flex-direction:column;gap:8px;display:flex}.settings-danger-title{color:var(--danger)}:root[data-theme=light] .settings-danger-title{color:#dc2626}.settings-danger-desc{color:var(--text-muted);margin:0;font-size:.8rem}:root[data-theme=light] .settings-danger-desc{color:#475569}.timer-today-stats-row{justify-content:center;gap:16px;font-size:.8rem;display:flex}.timer-stat-success{color:var(--success);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;font-weight:600;animation:.15s .2s both fadeIn}.timer-stat-accent{color:var(--accent);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;animation:.15s .24s both fadeIn}.timer-stat-muted{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;font-size:.75rem;animation:.15s .28s both fadeIn}@media (prefers-reduced-motion:reduce){.timer-stat-success,.timer-stat-accent,.timer-stat-muted{will-change:auto;animation:none}}.timer-goal-row{contain:layout style;will-change:opacity;align-items:center;gap:8px;animation:.18s .25s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.timer-goal-row{will-change:auto;animation:none}}.timer-goal-icon{color:var(--text-muted);flex-shrink:0}.timer-today-summary[data-achieved=true] .timer-goal-icon{color:var(--success)}.timer-goal-label{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:.65rem}.timer-today-summary[data-achieved=true] .timer-goal-label{color:var(--success)}.timer-running-btn{width:100%;font-size:1.15rem}.qr-preview-book{color:var(--accent);flex-shrink:0}.qr-preview-count{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.85rem;font-weight:600}.qr-preview-label{color:var(--text-muted);text-wrap:balance;font-size:.7rem}.lobby-card-action-btn[data-variant=memo][data-active]{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b33}.lobby-card-action-btn[data-variant=pin][data-active]{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b40}.lobby-card-action-btn[data-variant=share]{color:var(--accent);background:#3b82f614;border-color:#3b82f633}.lobby-card-action-btn[data-variant=share][data-active]{color:var(--success)}:root[data-theme=light] .lobby-card-action-btn[data-variant=share]:not([data-active]){color:#1d4ed8}:root[data-theme=light] .lobby-card-action-btn[data-variant=share][data-active]{color:#047857}.lobby-card-action-btn[data-variant=danger]{color:var(--danger);background:#ef444414;border-color:#ef444433}.group-delete-confirm-row{align-items:center;gap:4px;display:flex}.group-action-btn--delete-confirm{background:var(--danger);color:#fff;cursor:pointer;contain:layout style;border:none;border-radius:8px;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:10px 14px;font-size:.75rem;font-weight:600;transition:filter .15s,transform .12s;display:flex}@media (hover:hover){.group-action-btn--delete-confirm:hover:not(:disabled){filter:brightness(1.1)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.group-action-btn--delete-confirm:hover:not(:disabled){filter:none}}.group-action-btn--delete-confirm:active:not(:disabled){transform:scale(.93)}.group-action-btn--delete-confirm:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.group-action-btn--delete-confirm{will-change:auto;transition:none}.group-action-btn--delete-confirm:active{transform:none}}.records-filter-btn[data-active]{color:var(--accent);background:#3b82f61a;border-color:#3b82f640}:root[data-theme=light] .records-filter-btn[data-active]{color:#1d4ed8;border-color:#1d4ed866}.records-filter-count{font-variant-numeric:tabular-nums;background:#3b82f633;border-radius:8px;margin-left:2px;padding:1px 5px;font-size:.65rem}:root[data-theme=light] .records-filter-count{color:#1d4ed8;background:#1d4ed82e}.records-filter-arrow{font-size:.7rem;transition:transform .2s}.records-filter-arrow[data-open]{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.records-filter-arrow{transition:none}}.segment-control.records-period-control{margin-bottom:8px}.segment-control.records-period-control button{min-height:44px;padding:4px 8px;font-size:.72rem}.lobby-share-overlay{z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);contain:layout style;will-change:opacity;background:#0009;justify-content:center;align-items:center;padding:16px;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.lobby-share-overlay{will-change:auto;animation:none}}.lobby-share-panel{overscroll-behavior:contain;text-align:center;contain:layout style;will-change:opacity;width:100%;max-width:360px;max-height:90vh;animation:.2s both fadeIn;overflow-y:auto}@media (prefers-reduced-motion:reduce){.lobby-share-panel,.lobby-share-title,.lobby-share-group-name,.lobby-share-url-box,.lobby-share-id-section{will-change:auto;animation:none}}.lobby-share-title{contain:layout style;will-change:opacity;margin:0;font-size:1rem;animation:.18s both fadeIn}.lobby-share-group-name{color:var(--text-muted);contain:layout style;will-change:opacity;margin:0;font-size:.85rem;animation:.18s 50ms both fadeIn}.lobby-share-url-box{border:1px solid var(--border);word-break:break-all;color:var(--accent);-webkit-user-select:all;user-select:all;cursor:text;contain:layout style;will-change:opacity;background:#ffffff0a;border-radius:12px;padding:12px;font-size:.8rem;animation:.2s 80ms both fadeIn}.lobby-share-id-section{contain:layout style;will-change:opacity;background:#ffffff0a;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:16px;animation:.2s .12s both fadeIn;display:flex}:root[data-theme=light] .lobby-share-url-box,:root[data-theme=light] .lobby-share-id-section{background:#00000008}:root[data-theme=light] .lobby-share-url-box{color:#1d4ed8;border-color:#00000073}.lobby-share-id-label{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-wrap:balance;font-size:.75rem}.lobby-share-id-chunks{font-variant-numeric:tabular-nums;letter-spacing:.05em;flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.lobby-share-id-chunk{color:var(--accent);letter-spacing:.08em;text-align:center;-webkit-user-select:all;user-select:all;contain:layout style;will-change:transform, opacity;background:#3b82f61a;border:1px solid #3b82f633;border-radius:10px;min-width:2.4ch;padding:6px 10px;font-family:monospace;font-size:1.6rem;font-weight:700;animation:.15s both scaleIn}:root[data-theme=light] .lobby-share-id-chunk{color:#1d4ed8;background:#1d4ed814;border-color:#1d4ed833}.lobby-share-id-chunk:first-child{animation-delay:0s}.lobby-share-id-chunk:nth-child(2){animation-delay:15ms}.lobby-share-id-chunk:nth-child(3){animation-delay:30ms}.lobby-share-id-chunk:nth-child(4){animation-delay:45ms}.lobby-share-btns{gap:8px;display:flex}.lobby-share-copy-btn{will-change:transform, filter;contain:layout style;flex:1;scroll-margin:8px;transition:filter .15s,transform .1s}.lobby-share-copy-btn:active{transform:scale(.95)}.lobby-share-copy-btn:focus-visible,.lobby-share-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){.lobby-share-copy-btn{transition:none}.lobby-share-copy-btn:active{transform:none}}.lobby-share-close-btn{will-change:transform, filter;contain:layout style;min-width:auto;padding:0 16px;scroll-margin:8px;transition:background .15s,transform .1s}@media (prefers-reduced-motion:reduce){.lobby-share-close-btn{will-change:auto;transition:none}}.lobby-show-less-btn{color:var(--text-muted);cursor:pointer;contain:layout style;will-change:transform, color, opacity;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;transition:color .15s,transform .12s;animation:.12s both fadeIn;display:flex}@media (hover:hover){.lobby-show-less-btn:hover{color:var(--text)}}.lobby-show-less-btn:active{transform:scale(.95)}.lobby-show-less-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.lobby-show-less-btn{transition:none}.lobby-show-less-btn:active{transform:none}}.record-date-badge{contain:layout style;-webkit-user-select:none;user-select:none;border-radius:6px;padding:1px 6px;font-size:.6rem;animation:.15s both fadeIn}.record-date-badge[data-age=today]{color:var(--success);background:#10b98126}.record-date-badge[data-age=yesterday]{color:var(--text-muted);background:#ffffff0f}.record-date-badge[data-age=week]{color:var(--success);background:#10b9811f}.record-date-badge[data-age=month]{color:var(--warning);background:#f59e0b1f}.record-date-badge[data-age=old]{color:var(--text-muted);background:#ffffff0d}:root[data-theme=light] .record-date-badge[data-age=yesterday],:root[data-theme=light] .record-date-badge[data-age=old]{background:#0000000f}.record-date-sessions-badge{font-variant-numeric:tabular-nums;color:var(--accent);-webkit-user-select:none;user-select:none;background:#6366f11f;border:1px solid #6366f133;border-radius:8px;padding:1px 7px;font-size:.6rem;animation:.15s both scaleIn}.record-delete-confirm{border-top:1px solid #ef444433;justify-content:flex-end;align-items:center;gap:6px;margin-top:6px;padding-top:8px;animation:.15s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.record-delete-confirm{animation:none}}.record-delete-confirm--hard{background:#ef44440a;border-top-color:#ef44444d;border-radius:0 0 8px 8px;padding:8px 12px}:root[data-theme=light] .record-delete-confirm--hard{background:#dc26260f;border-top-color:#dc262659}.record-delete-confirm-msg{color:var(--danger);flex:1;font-size:.72rem}:root[data-theme=light] .record-delete-confirm-msg{color:#dc2626}.record-delete-confirm-btn{min-width:44px;min-height:44px;color:var(--danger);background:#ef444426;border-color:#ef44444d;align-items:center;gap:4px;padding:8px 12px;font-size:.72rem;transition:filter .15s,transform .1s;display:flex}:root[data-theme=light] .record-delete-confirm-btn{color:#dc2626}.record-delete-cancel-btn{min-width:44px;min-height:44px;padding:8px 12px;font-size:.72rem;transition:filter .15s,transform .1s}@media (hover:hover){.record-delete-confirm-btn:hover,.record-delete-cancel-btn:hover{filter:brightness(1.1)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.record-delete-confirm-btn:hover,.record-delete-cancel-btn:hover{filter:none}}.record-delete-confirm-btn:active{transform:scale(.94)}.record-delete-confirm-btn:focus-visible,.record-delete-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .record-delete-confirm-btn:focus-visible,:root[data-theme=light] .record-delete-cancel-btn:focus-visible{outline-color:#1d4ed8}.record-delete-cancel-btn:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.record-delete-confirm-btn,.record-delete-cancel-btn{will-change:auto;transition:none}.record-delete-confirm-btn:active,.record-delete-cancel-btn:active{transform:none}}.lobby-preset-btn{color:var(--accent);cursor:pointer;will-change:background, transform;contain:layout style;background:#3b82f614;border:1px solid #3b82f626;border-radius:8px;align-items:center;gap:4px;min-width:auto;min-height:44px;padding:10px;font-size:.7rem;transition:background .12s,transform .1s;display:flex}@media (hover:hover){.lobby-preset-btn:hover{background:#3b82f624}}.lobby-preset-btn:active{transform:scale(.93)}.lobby-preset-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.lobby-preset-btn:active{transform:none}}.lobby-search-result-count{color:var(--text-muted);font-variant-numeric:tabular-nums;contain:layout style;padding:4px 2px 2px;font-size:.75rem;animation:.15s both fadeIn;display:block}:root[data-theme=light] .lobby-search-result-count{color:#475569}.lobby-char-counter{color:var(--text-muted);pointer-events:none;opacity:0;font-variant-numeric:tabular-nums;will-change:opacity;font-size:.65rem;transition:opacity .2s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.lobby-char-counter[data-visible]{opacity:.7}.lobby-char-counter[data-near]{color:var(--warning)}:root[data-theme=light] .lobby-char-counter[data-near]{color:#b45309}:root[data-theme=light] .lobby-char-counter[data-visible]:not([data-near]){color:#475569;opacity:1}.lobby-create-toggle-label{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:.9rem;display:flex}.lobby-create-toggle{will-change:background, filter, transform;cursor:pointer;background:#ffffff1a;border-radius:12px;flex-shrink:0;width:44px;height:24px;scroll-margin:8px;transition:background .2s,filter .15s,transform .1s;position:relative}:root[data-theme=light] .lobby-create-toggle:not([data-on]){background:#0000001a}.lobby-create-toggle[data-on]{background:var(--success)}.lobby-create-toggle:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.lobby-create-toggle{will-change:auto;transition:none;transform:none}.lobby-create-toggle-thumb{will-change:auto;transition:none}}.lobby-create-toggle-thumb{will-change:left;background:#fff;border-radius:50%;width:20px;height:20px;transition:left .2s;position:absolute;top:2px;left:2px}.lobby-create-toggle-thumb[data-on]{left:22px}.lobby-create-toggle-text{color:var(--text-muted);align-items:center;gap:4px;display:flex}.lobby-create-toggle-text[data-public]{color:var(--success)}:root[data-theme=light] .lobby-create-toggle-text[data-public]{color:#047857}:root[data-theme=light] .lobby-create-toggle-text:not([data-public]){color:#475569}.lobby-confirm-panel{overscroll-behavior:contain;contain:layout style;flex-direction:column;gap:14px;width:100%;max-width:320px;max-height:90vh;animation:.2s both fadeIn;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.lobby-confirm-panel{will-change:auto;animation:none}}.lobby-confirm-group-info{align-items:center;gap:10px;display:flex}.lobby-confirm-name{font-size:1rem;font-weight:600}.lobby-confirm-member-count{color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:.75rem;display:flex}:root[data-theme=light] .lobby-confirm-member-count{color:#475569}.lobby-confirm-message{color:var(--text-muted);text-align:center;font-size:.9rem}:root[data-theme=light] .lobby-confirm-message{color:#475569}.lobby-confirm-buttons{contain:layout style;gap:8px;animation:.18s 80ms both fadeIn;display:flex}.lobby-confirm-cancel-btn,.lobby-confirm-join-btn{will-change:transform, filter;flex:1;scroll-margin:8px;font-size:.9rem;transition:filter .12s,transform .1s}@media (hover:hover){.lobby-confirm-cancel-btn:hover,.lobby-confirm-join-btn:hover{filter:brightness(1.08)}}.lobby-confirm-cancel-btn:active,.lobby-confirm-join-btn:active{transform:scale(.95)}.lobby-confirm-cancel-btn:focus-visible,.lobby-confirm-join-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.lobby-confirm-cancel-btn,.lobby-confirm-join-btn{transition:none}.lobby-confirm-cancel-btn:active,.lobby-confirm-join-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.lobby-confirm-cancel-btn:hover,.lobby-confirm-join-btn:hover{filter:none}}.lobby-timer-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.lobby-timer-label,.lobby-timer-unit{color:var(--text-muted);white-space:nowrap}:root[data-theme=light] .lobby-timer-label,:root[data-theme=light] .lobby-timer-unit{color:#475569}.lobby-timer-input{text-align:center;font-variant-numeric:tabular-nums;width:50px;min-height:44px}@media (hover:hover){.lobby-timer-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .lobby-timer-input:not(:focus):hover{border-color:#1d4ed899}}.lobby-timer-error{color:var(--danger);contain:layout style;font-size:.7rem;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.lobby-timer-error{animation:none}}:root[data-theme=light] .lobby-timer-error{color:#dc2626}.expand-toggle-btn{opacity:.4;min-width:44px;min-height:44px;color:var(--text-muted);background:0 0;border:none;padding:6px}.expand-toggle-btn[data-expanded]{opacity:1;color:var(--accent)}.expand-toggle-dots{-webkit-user-select:none;user-select:none;font-size:1rem}.group-memo-input{flex:1;min-height:44px;padding:4px 8px;font-size:.8rem}@media (hover:hover){.group-memo-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .group-memo-input:not(:focus):hover{background:#00000006;border-color:#1d4ed899}}.group-memo-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .group-memo-input:focus-visible{outline-color:#1d4ed8}.group-memo-save-btn{min-width:44px;min-height:44px;color:var(--accent);contain:layout style;background:#3b82f61a;border-color:#3b82f633;padding:10px 14px;font-size:.75rem}.group-memo-cancel-btn{opacity:.5;contain:layout style;min-width:44px;min-height:44px;padding:10px 12px;font-size:.75rem}.group-memo-save-btn,.group-memo-cancel-btn{will-change:transform, filter;transition:filter .12s,opacity .12s,transform .1s}@media (hover:hover){.group-memo-save-btn:hover{filter:brightness(1.08)}.group-memo-cancel-btn:hover{opacity:.75}}@media (hover:hover) and (prefers-reduced-motion:reduce){.group-memo-save-btn:hover{filter:none}}.group-memo-save-btn:active{transform:scale(.92)}.group-memo-cancel-btn:active{transform:scale(.88)}@media (prefers-reduced-motion:reduce){.group-memo-save-btn,.group-memo-cancel-btn{transition:none}.group-memo-save-btn:active,.group-memo-cancel-btn:active{transform:none}}.group-memo-save-btn:focus-visible,.group-memo-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .group-memo-save-btn{color:#1d4ed8;background:#3b82f624;border-color:#3b82f659}.records-search-row .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}:root[data-theme=light] .records-search-row .search-icon{color:#475569}.records-search-input{flex:1;min-height:44px;padding-left:30px;padding-right:10px;font-size:.85rem}.records-search-input[data-has-query]{padding-right:30px}.search-clear-btn{min-width:44px;min-height:44px;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.timer-random-word-badge{font-variant-numeric:tabular-nums;color:var(--danger);background:#ef444426;border-radius:9999px;margin-left:4px;padding:2px 8px;font-size:.7rem;font-weight:600}:root[data-theme=light] .timer-random-word-badge{background:#ef444442;border:1px solid #ef44444d}.timer-random-word-card{font:inherit;color:inherit;text-align:left;appearance:none;cursor:pointer;box-shadow:none;contain:layout style;will-change:transform, background, border-color, box-shadow;background:#f59e0b0f;border:1px solid #f59e0b26;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;scroll-margin:8px;transition:background .25s,border-color .25s,box-shadow .25s;animation:.2s both fadeIn;display:flex}.timer-random-word-card[data-revealed=true]{background:#f59e0b1a;box-shadow:0 2px 12px #f59e0b1a}.timer-random-word-icon{color:#f59e0b;flex-shrink:0}.timer-random-word-content{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.timer-random-word-text{text-shadow:0 0 10px #f59e0b4d;font-size:.9rem;font-weight:600;line-height:1.4}.timer-random-word-reading{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;contain:layout style;will-change:opacity;font-size:.8rem;animation:.15s both fadeIn;overflow:hidden}.timer-random-word-hint{color:var(--text-muted);opacity:.5;contain:layout style;will-change:opacity;font-size:.7rem;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.timer-random-word-reading,.timer-random-word-hint{will-change:auto;animation:none}}:root[data-theme=light] .timer-random-word-reading{color:#475569}:root[data-theme=light] .timer-random-word-hint{color:#475569;opacity:1}.refresh-word-btn{color:var(--text-muted);cursor:pointer;contain:layout style;will-change:transform, color, opacity;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:2px;display:flex}.record-edit-row{align-items:center;gap:8px;display:flex}.record-edit-input{will-change:transform;background:#3b82f60a;width:70px;min-height:44px;scroll-margin:8px;font-size:.85rem;transition:transform .15s,background .2s,border-color .2s;box-shadow:0 0 0 2px #3b82f640}:root[data-theme=light] .record-edit-input{box-shadow:0 0 0 2px #1d4ed859}.record-edit-input:focus{background:#3b82f614;transform:scale(1.02)}@media (prefers-reduced-motion:reduce){.record-edit-input{transition:none}.record-edit-input:focus{transform:none}}.record-edit-input[data-invalid]{border-color:var(--danger)}.record-edit-input[data-shaking]{contain:layout style;will-change:transform;animation:.4s shake}@media (prefers-reduced-motion:reduce){.record-edit-input[data-shaking]{animation:none}}.record-edit-sep{color:var(--text-muted)}:root[data-theme=light] .record-edit-sep{color:#475569}.record-edit-calc{color:var(--accent);font-variant-numeric:tabular-nums;contain:layout style;margin-top:-4px;font-size:.75rem;animation:.15s both fadeIn}:root[data-theme=light] .record-edit-calc{color:#1d4ed8}@media (prefers-reduced-motion:reduce){.record-edit-calc{animation:none}}.record-edit-memo{background:#3b82f614;min-height:44px;font-size:.85rem;box-shadow:0 0 0 2px #3b82f640}.record-edit-memo-counter{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;contain:layout style;margin-top:-4px;font-size:.7rem;animation:.15s both fadeIn}.record-edit-memo-counter[data-over-limit]{color:var(--danger)}.record-edit-error{color:var(--danger);contain:layout style;font-size:.8rem;animation:.15s both fadeIn}.record-edit-btns{gap:8px;display:flex}.record-edit-save-btn{flex:1;min-height:44px;padding:10px;font-size:.8rem;transition:filter .12s,transform .12s}.record-edit-cancel-btn{min-width:44px;min-height:44px;padding:10px 14px;font-size:.8rem;transition:filter .12s,transform .12s}@media (hover:hover){.record-edit-save-btn:hover,.record-edit-cancel-btn:hover{filter:brightness(1.08)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.record-edit-save-btn:hover,.record-edit-cancel-btn:hover{filter:none}}.record-edit-save-btn:active,.record-edit-cancel-btn:active{transform:scale(.93)}.record-edit-save-btn:focus-visible,.record-edit-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .record-edit-save-btn:focus-visible,:root[data-theme=light] .record-edit-cancel-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.record-edit-save-btn,.record-edit-cancel-btn{will-change:auto;transition:none}.record-edit-save-btn:active,.record-edit-cancel-btn:active{transform:none}}.qr-range-input{font-variant-numeric:tabular-nums;will-change:box-shadow;contain:layout style;flex:1;min-height:44px;transition:box-shadow .3s,border-color .3s}.qr-range-input[data-invalid=true]{border-color:var(--danger)}:root[data-theme=light] .qr-range-input[data-invalid=true]{background:#ef44440f;box-shadow:0 0 0 2px #ef444440}.qr-range-input[data-valid=true]{border-color:var(--success);box-shadow:0 0 0 2px #22c55e26}:root[data-theme=light] .qr-range-input[data-valid=true]{box-shadow:0 0 0 2px #22c55e4d}.qr-range-input[data-success=true]{box-shadow:0 0 0 2px var(--success)}:root[data-theme=light] .qr-range-input[data-success=true]{box-shadow:0 0 0 2px #22c55e73}.qr-range-input[data-shaking=true]{contain:layout style;animation:.4s shake}@media (prefers-reduced-motion:reduce){.qr-range-input[data-shaking=true]{will-change:auto;animation:none}}.qr-range-arrow{color:var(--text-muted)}.pause-resume-btn{border-color:var(--border);width:100%;color:var(--text-muted);contain:layout style;background:#ffffff0a;justify-content:center;align-items:center;gap:8px;scroll-margin:8px;font-size:1rem;transition:background .2s,border-color .2s,color .2s,filter .15s,transform .1s;display:flex}.pause-resume-btn[data-paused]{color:var(--success);background:#10b9811a;border-color:#10b9814d}:root[data-theme=light] .pause-resume-btn:not([data-paused]){color:#475569;background:#0000000a}.record-pages-badge{font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:#3b82f621;border-radius:6px;padding:1px 6px;font-size:.72rem;font-weight:700}:root[data-theme=light] .record-pages-badge{color:#1d4ed8}.record-memo-text{color:var(--text-muted);cursor:default;word-break:break-word;margin-top:2px;font-size:.8rem}:root[data-theme=light] .record-memo-text{color:#475569}.record-memo-text[data-long=true]{cursor:pointer;will-change:transform;scroll-margin:8px}.record-memo-text[data-long=true]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .record-memo-text[data-long=true]:focus-visible{outline-color:#1d4ed8}.record-memo-toggle{color:var(--accent);margin-left:4px;font-size:.65rem}.group-activity-badge{color:var(--text-muted);contain:layout style;will-change:transform;background:#64748b1f;border:1px solid #64748b33;border-radius:6px;flex-shrink:0;align-items:center;padding:1px 5px;font-size:.6rem;font-weight:600;animation:.15s 50ms both scaleIn;display:inline-flex}.group-activity-badge[data-stale=true]{color:var(--danger);background:#ef44441a;border-color:#ef444440}.group-activity-time[data-activity=active]{color:var(--success)}.group-activity-time[data-activity=recent]{color:var(--warning)}.records-back-btn{min-width:44px;min-height:44px;padding:10px;scroll-margin:8px}.group-my-sort-btn{min-width:44px;min-height:44px;color:var(--text-muted);white-space:nowrap;cursor:pointer;background:#ffffff0a;border:none;border-radius:8px;align-items:center;gap:4px;padding:10px 14px;font-size:.7rem;transition:background .15s,color .15s,transform .12s;display:flex}@media (hover:hover){.group-my-sort-btn:hover{color:var(--text-main);background:#ffffff14}}.group-my-sort-btn:active{transform:scale(.96)}.lobby-skeleton-avatar{will-change:opacity;border-radius:12px;flex-shrink:0;width:40px;height:40px}.lobby-skeleton-body{flex-direction:column;flex:1;gap:6px;display:flex}.lobby-skeleton-title{width:120px;height:14px}.lobby-skeleton-sub{width:80px;height:10px}.words-reset-confirm-panel{color:var(--text-muted);background:#f59e0b14;border:1px solid #f59e0b40;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;display:flex}:root[data-theme=light] .words-reset-confirm-panel{background:#f59e0b24;border-color:#f59e0b66}.words-reset-confirm-msg{flex:1}.modal-reset-confirm-btn{background:var(--warning);color:#fff;cursor:pointer;border:none;border-radius:6px;min-height:44px;padding:8px 12px;font-size:.75rem;font-weight:600}:root[data-theme=light] .modal-reset-confirm-btn{background:#b45309}.modal-reset-cancel-btn{color:var(--text-muted);cursor:pointer;background:#ffffff14;border:none;border-radius:6px;min-height:44px;padding:8px 12px;font-size:.75rem}:root[data-theme=light] .modal-reset-cancel-btn{background:#0000000d}.words-mastery-bar-row{align-items:center;gap:8px;display:flex}.words-mastery-bar{background:#ffffff14;border-radius:2px;flex:1;height:4px;overflow:hidden}.words-mastery-bar-fill{background:linear-gradient(90deg, var(--accent), #60a5fa);height:100%;width:calc(var(--mastery-pct,0) * 1%);will-change:width;border-radius:2px;transition:width .5s}.words-mastery-bar-fill[data-mastered=true]{background:linear-gradient(90deg, var(--success), #34d399)}.words-mastery-count{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;font-size:.7rem}.words-mastery-count[data-mastered=true]{color:var(--success)}:root[data-theme=light] .words-mastery-count:not([data-mastered=true]){color:#475569}:root[data-theme=light] .words-mastery-count[data-mastered=true]{color:#047857}@media (prefers-reduced-motion:reduce){.words-mastery-bar-fill{transition:none}.group-my-sort-btn{will-change:auto;transition:none}.group-my-sort-btn:active{transform:none}}:root[data-theme=light] .words-mastery-bar{background:#00000014}.mastery-progress-wrapper{align-items:center;gap:8px;display:flex}.mastery-progress-track{contain:layout style;background:#ef444426;border-radius:3px;flex:1;height:6px;overflow:hidden}:root[data-theme=light] .mastery-progress-track{background:#dc26262e}.mastery-progress-fill{background:linear-gradient(90deg, var(--success), #34d399);height:100%;width:calc(var(--progress-pct,0) * 1%);will-change:width;border-radius:3px;transition:width .5s}.mastery-progress-pct{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:600}.mastery-progress-pct[data-mastered=true]{color:var(--success)}:root[data-theme=light] .mastery-progress-pct:not([data-mastered=true]){color:#475569}:root[data-theme=light] .mastery-progress-pct[data-mastered=true]{color:#047857}@media (prefers-reduced-motion:reduce){.mastery-progress-fill{transition:none}}.records-skeleton-card{contain:layout style;will-change:opacity;background:#ffffff0a;border-radius:12px;flex-direction:column;gap:7px;padding:12px 16px;display:flex}.records-skeleton-row{justify-content:space-between;display:flex}.records-skeleton-line{height:11px}.records-skeleton-line--xs{width:45px}.records-skeleton-line--title{height:15px}.records-skeleton-line--muted{opacity:.7;width:80px}.records-skeleton-card:first-child .records-skeleton-line:first-child{width:60px}.records-skeleton-card:nth-child(2) .records-skeleton-line:first-child{width:80px}.records-skeleton-card:nth-child(3) .records-skeleton-line:first-child{width:100px}.records-skeleton-card:nth-child(4) .records-skeleton-line:first-child{width:60px}.records-skeleton-card:nth-child(5) .records-skeleton-line:first-child{width:80px}.records-skeleton-card:first-child .records-skeleton-line--title{width:100px}.records-skeleton-card:nth-child(2) .records-skeleton-line--title{width:130px}.records-skeleton-card:nth-child(3) .records-skeleton-line--title{width:160px}.records-skeleton-card:nth-child(4) .records-skeleton-line--title{width:190px}.records-skeleton-card:nth-child(5) .records-skeleton-line--title{width:100px}:root[data-theme=light] .records-skeleton-card{background:#0000000a}.timer-missed-words-btn{background:#3b82f614;border-color:#3b82f633;width:100%;font-size:.95rem;position:relative}:root[data-theme=light] .timer-missed-words-btn{background:#3b82f624;border-color:#3b82f64d}.timer-preset-btn[data-selected=true]{color:var(--accent);background:#3b82f633;border-color:#3b82f666;font-weight:600}.record-date-header{color:var(--accent);cursor:default;-webkit-user-select:none;user-select:none;border-bottom:1px solid #3b82f61a;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 4px 4px;font-size:.8rem;font-weight:600;display:flex}:root[data-theme=light] .record-date-header:not([data-today=true]){color:#1d4ed8;border-bottom-color:#1d4ed833}.record-date-header[data-today=true]{color:var(--success);border-bottom-color:#10b98126}:root[data-theme=light] .record-date-header[data-today=true]{color:#047857;border-bottom-color:#10b9814d}.record-date-header[data-clickable=true]{cursor:pointer}.record-date-header-left{align-items:center;gap:6px;display:flex}.chevron-muted{opacity:.6}:root[data-theme=light] .chevron-muted{opacity:.75}.record-date-header-pages{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:400}:root[data-theme=light] .record-date-header-pages{color:#475569}.records-week-header-icon{opacity:.5;flex-shrink:0}:root[data-theme=light] .records-week-header-icon{opacity:.65}.records-week-pages-badge{font-variant-numeric:tabular-nums;color:var(--accent);contain:layout style;will-change:transform;background:#6366f11f;border:1px solid #6366f133;border-radius:8px;margin-left:auto;padding:1px 7px;font-size:.65rem;font-weight:700;animation:.15s both scaleIn}@media (prefers-reduced-motion:reduce){.records-week-pages-badge{will-change:auto;animation:none}}.records-week-header[data-first=true]{padding:2px 4px 6px}.records-week-header:not([data-first=true]){padding:14px 4px 6px}.records-footer-stats{border-top:1px solid var(--border);color:var(--text-muted);contain:layout style;will-change:opacity;flex-shrink:0;justify-content:flex-end;align-items:center;gap:5px;padding:6px 4px 0;font-size:.72rem;animation:.2s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.records-footer-stats{animation:none}}.records-footer-stats .lucide{color:var(--accent)}.records-footer-total-count{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}:root[data-theme=light] .records-footer-total-count{color:#1d4ed8}.quiz-mode-container{contain:layout style;will-change:opacity;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;animation:.2s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.quiz-mode-container{animation:none}}.quiz-progress-bar{background:#ffffff14;border-radius:2px;width:100%;height:4px;overflow:hidden}:root[data-theme=light] .quiz-progress-bar{background:#00000014}.quiz-progress-fill{height:100%;width:calc(var(--progress-pct,0) * 1%);will-change:width;background:linear-gradient(90deg,#f59e0b,#f97316);border-radius:2px;transition:width .3s}.quiz-stat-row{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-size:.8rem;display:flex}.quiz-score-row{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;align-items:center;gap:6px;font-size:.72rem;animation:.18s both fadeIn;display:inline-flex}.quiz-score-correct{color:var(--success);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:transform;font-weight:600;animation:.15s both scaleIn}.quiz-score-wrong{color:var(--danger);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:transform;font-weight:600;animation:.15s 50ms both scaleIn}:root[data-theme=light] .quiz-score-correct{color:#047857}:root[data-theme=light] .quiz-score-wrong{color:#dc2626}@media (prefers-reduced-motion:reduce){.quiz-score-correct,.quiz-score-wrong{animation:none}}.quiz-reverse-btn{color:#f59e0b;cursor:pointer;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:12px;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:4px 8px;font-size:.7rem;display:flex}.quiz-question-card{border:1px solid var(--border);contain:layout style;will-change:background, border-color;background:#0003;border-radius:20px;justify-content:center;align-items:center;width:100%;min-height:120px;padding:1.5rem;transition:background .3s,border-color .3s;animation:.18s both fadeIn;display:flex}:root[data-theme=light] .quiz-question-card{background:#0000000a;border-color:#00000073}.quiz-question-card[data-checked=correct]{will-change:transform;background:#10b9811f;border-color:#10b9814d;animation:.4s successPop}.quiz-question-card[data-checked=wrong]{will-change:transform;background:#ef44441f;border-color:#ef44444d;animation:.4s shake}@media (prefers-reduced-motion:reduce){.quiz-question-card,.quiz-question-card[data-checked=correct],.quiz-question-card[data-checked=wrong]{animation:none}}.quiz-type-hint{color:var(--text-muted);text-align:center;-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;text-wrap:balance;margin-bottom:8px;font-size:.75rem;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.quiz-type-hint{will-change:auto;animation:none}}:root[data-theme=light] .quiz-type-hint{color:#475569}.quiz-question-text{word-break:break-word;text-align:center;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:clamp(1rem,3.6vw,1.5rem);font-weight:600;animation:.15s both fadeIn;display:flex}.quiz-speak-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:10px}.quiz-answer-form{contain:layout style;will-change:opacity;gap:8px;width:100%;animation:.15s 50ms both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.quiz-answer-form{will-change:auto;animation:none}}.quiz-answer-form .quiz-input{font-variant-numeric:tabular-nums;flex:1}.quiz-answer-form .quiz-input[data-checked=true]{opacity:.5}:root[data-theme=light] .quiz-answer-form .quiz-input[data-checked=true]{opacity:.75}.quiz-controls-row{justify-content:space-between;align-items:center;width:100%;display:flex}.quiz-score-text{color:var(--text-muted);font-variant-numeric:tabular-nums;contain:layout style;text-wrap:balance;font-size:.85rem;animation:.15s 80ms both fadeIn}@media (prefers-reduced-motion:reduce){.quiz-score-text{animation:none}}:root[data-theme=light] .quiz-score-text{color:#475569}.quiz-skip-btn{color:var(--text-muted);contain:layout style;will-change:transform;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:.8rem;animation:.12s both fadeIn;display:inline-flex}:root[data-theme=light] .quiz-skip-btn{color:#475569}.quiz-end-row{contain:layout style;flex-direction:column;align-items:center;gap:8px;animation:.18s both fadeIn;display:flex}.quiz-confirm-end-row{contain:layout style;align-items:center;gap:8px;animation:.15s 50ms both fadeIn;display:flex}.quiz-end-confirm-btn{background:var(--danger);color:#fff;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:auto;min-height:44px;padding:8px 14px;font-size:.8rem;display:inline-flex}.quiz-end-cancel-btn{color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px;display:inline-flex}.quiz-end-btn{color:var(--text-muted);contain:layout style;will-change:transform, color;background:0 0;border:none;font-size:.85rem;animation:.12s both fadeIn}.quiz-shortcuts{color:var(--text-muted);opacity:.6;contain:layout style;will-change:opacity;font-size:.65rem;animation:.2s .15s both fadeIn}:root[data-theme=light] .quiz-shortcuts{color:#475569;opacity:1}@media (prefers-reduced-motion:reduce){.quiz-shortcuts{animation:none}}.flashcard-scene{perspective:900px;will-change:transform;width:100%}.flashcard-inner{height:180px;transform-style:preserve-3d;cursor:pointer;transform:translateX(var(--fc-tx,0px)) rotate(var(--fc-rot,0deg)) rotateY(0deg);-webkit-user-select:none;user-select:none;will-change:transform, filter;touch-action:manipulation;border-radius:20px;transition:transform .45s cubic-bezier(.4,0,.2,1),filter .15s;position:relative}.flashcard-inner[data-revealed=true]{cursor:default;transform:translateX(var(--fc-tx,0px)) rotate(var(--fc-rot,0deg)) rotateY(180deg)}.flashcard-inner[data-touching]{transition:none}@media (hover:hover){.flashcard-inner:not([data-revealed=true]):hover{filter:brightness(1.04)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.flashcard-inner:not([data-revealed=true]):hover{filter:none}}.flashcard-content{text-align:center}.flashcard-word{word-break:break-word;text-wrap:balance;justify-content:center;align-items:center;gap:8px;max-width:min(90%,400px);margin-bottom:8px;font-size:1.5rem;font-weight:600;display:flex}.flashcard-hint{color:var(--text-muted);contain:layout style;will-change:opacity;font-size:.8rem;animation:.2s .3s both fadeIn}:root[data-theme=light] .flashcard-hint{color:#475569}@media (prefers-reduced-motion:reduce){.flashcard-hint{animation:none}}.flashcard-meaning{color:var(--text-main);opacity:.8;margin-bottom:4px;font-size:1rem}.flashcard-owner{color:var(--accent);font-size:.8rem}:root[data-theme=light] .flashcard-owner{color:#1d4ed8}.flashcard-add-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:3px;min-width:44px;min-height:44px;margin-top:8px;padding:10px 8px;font-size:.7rem;transition:color .15s,background .15s,transform .1s;display:inline-flex}@media (hover:hover){.flashcard-add-btn:hover{color:var(--accent);background:#3b82f614}:root[data-theme=light] .flashcard-add-btn:hover{color:#1d4ed8}}.flashcard-add-btn:active{transform:scale(.93)}.flashcard-add-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.flashcard-add-btn{will-change:auto;transition:none}.flashcard-add-btn:active{transform:none}}.continue-from-last-btn{min-height:44px;color:var(--accent);cursor:pointer;will-change:transform;background:#3b82f61a;border:1px solid #3b82f640;border-radius:8px;align-items:center;gap:3px;padding:10px 12px;scroll-margin:8px;font-size:.7rem;font-weight:500;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}@media (hover:hover){.continue-from-last-btn:hover{background:#3b82f633;border-color:#3b82f673}}.continue-from-last-btn:active{transform:scale(.95)}.continue-from-last-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.continue-from-last-btn{transition:none}.continue-from-last-btn:active{transform:none}}:root[data-theme=light] .continue-from-last-btn{color:#1d4ed8;background:#3b82f626;border-color:#3b82f659}.stats-goal-form-row{contain:layout style;will-change:opacity;align-items:center;gap:4px;animation:.15s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.stats-goal-form-row{animation:none}}.stats-goal-input{width:60px;min-height:44px;padding:4px 8px;font-size:.8rem}.stats-goal-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .stats-goal-input:focus-visible{outline-color:#1d4ed8}.stats-goal-save-btn{will-change:transform, filter;contain:layout style;min-width:auto;min-height:44px;padding:8px 10px;font-size:.75rem;transition:filter .15s,transform .12s}@media (hover:hover){.stats-goal-save-btn:hover{filter:brightness(1.08)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.stats-goal-save-btn:hover{filter:none}}.stats-goal-save-btn:active{transform:scale(.92)}.stats-goal-save-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.stats-goal-save-btn{transition:none}.stats-goal-save-btn:active{transform:none}}.stats-goal-edit-btn{min-width:auto;min-height:44px;color:var(--accent);will-change:transform, filter, opacity;contain:layout style;background:0 0;border:none;padding:8px 10px;font-size:.75rem;transition:filter .15s,opacity .15s,transform .12s}@media (hover:hover){.stats-goal-edit-btn:hover{filter:brightness(1.08);opacity:.75}}@media (hover:hover) and (prefers-reduced-motion:reduce){.stats-goal-edit-btn:hover{filter:none}}.stats-goal-edit-btn:active{transform:scale(.92)}.stats-goal-edit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .stats-goal-edit-btn{color:#1d4ed8}@media (prefers-reduced-motion:reduce){.stats-goal-edit-btn{transition:none}.stats-goal-edit-btn:active{transform:none}}.auth-submit-btn{padding:14px;scroll-margin:8px;font-size:1.05rem;position:relative;overflow:hidden}.group-search-filter-row{contain:layout style;will-change:opacity;align-items:center;gap:8px;animation:.15s both fadeIn;display:flex}.lobby-search-wrap{contain:layout style;will-change:opacity;animation:.15s both fadeIn;position:relative}.lobby-search-filter-wrap{flex:1;position:relative}@media (hover:hover){.lobby-search-wrap input:not(:focus):hover{border-color:#3b82f673}}:root[data-theme=light] .lobby-search-wrap input{background:#0000000a}.modal-panel{min-height:0}.quiz-check-btn{min-width:80px;padding:0 1rem}.timer-save-btn{will-change:transform;min-height:44px;padding:8px 20px;font-size:.85rem}.qr-memo-textarea{min-height:44px}.qr-save-btn{flex:1;min-height:44px;padding:8px 16px}.qr-save-btn:disabled{cursor:not-allowed}.qr-skip-btn{min-width:auto;min-height:44px;padding:8px 14px}.lobby-empty-state{contain:layout style;will-change:transform, opacity;padding:1.5rem;animation:.4s forwards emptyFadeIn}@media (prefers-reduced-motion:reduce){.lobby-empty-state{will-change:auto;animation:none}}.lobby-empty-hint{opacity:.6;contain:layout style;will-change:opacity;text-wrap:balance;margin:8px 0 0;font-size:.75rem;animation:.15s .35s both fadeIn}:root[data-theme=light] .lobby-empty-hint{color:#475569;opacity:1}@media (prefers-reduced-motion:reduce){.lobby-empty-hint{will-change:auto;animation:none}}.lobby-empty-create-btn{min-height:44px;margin-top:8px;padding:10px 20px;font-size:.85rem}.pw-strength-section{contain:layout style;will-change:opacity;flex-direction:column;gap:6px;margin-top:-4px;animation:.18s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.pw-strength-section{will-change:auto;animation:none}}.pw-strength-bar-row{gap:4px;display:flex}.stats-weekday-chart{align-items:flex-end;gap:6px;height:80px;display:flex}.stats-weekday-col{justify-content:flex-end;align-items:center;gap:4px;height:100%}.stats-weekday-bar{width:100%;height:var(--bar-height,2px);will-change:background, filter;contain:layout style;background:#ffffff0d;border-radius:4px;transition:background .3s,height .3s,filter .15s}.stats-weekday-bar[data-has-pages]{background:#3b82f64d}.stats-weekday-bar[data-has-pages][data-best]{background:var(--gradient-accent-v)}@media (hover:hover){.stats-weekday-bar[data-has-pages]:hover{filter:brightness(1.2)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.stats-weekday-bar[data-has-pages]:hover{filter:none}}:root[data-theme=light] .stats-weekday-bar:not([data-has-pages]){background:#0000000f}:root[data-theme=light] .stats-weekday-bar[data-has-pages]{background:#3b82f673}.stats-weekday-col{contain:layout style;will-change:opacity;animation:.25s both fadeIn}.stats-weekday-col:first-child{animation-delay:0s}.stats-weekday-col:nth-child(2){animation-delay:20ms}.stats-weekday-col:nth-child(3){animation-delay:40ms}.stats-weekday-col:nth-child(4){animation-delay:60ms}.stats-weekday-col:nth-child(5){animation-delay:80ms}.stats-weekday-col:nth-child(6){animation-delay:.1s}.stats-weekday-col:nth-child(7){animation-delay:.12s}@media (prefers-reduced-motion:reduce){.stats-weekday-col{animation:none!important}}.stats-bar-label-top{color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:.65rem;transition:color .15s}.stats-bar-label-top[data-best]{color:var(--accent)}.stats-bar-label-bottom{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:400;transition:color .15s}.stats-bar-label-bottom[data-best]{color:var(--accent);font-weight:700}@media (hover:hover){.stats-weekday-col:hover .stats-bar-label-top:not([data-best]),.stats-weekday-col:hover .stats-bar-label-bottom:not([data-best]){color:var(--text-main)}}.stats-avg-note{text-align:center;color:var(--accent);font-variant-numeric:tabular-nums;margin-top:10px;font-size:.85rem}.group-card-timestamp{color:var(--text-muted);opacity:.75;contain:layout style;will-change:opacity;align-items:center;gap:3px;margin-top:1px;font-size:.7rem;animation:.15s both fadeIn;display:flex}.qr-toggle-chevron{contain:layout style;transition:transform .25s}.qr-toggle-chevron[data-open=true]{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.qr-toggle-chevron{will-change:auto;transition:none}}.modal-celebrate-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.modal-celebrate-emoji{font-size:2rem;line-height:1;position:absolute}.records-filter-stats-row{color:var(--text-muted);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:6px;margin:0;font-size:.8rem;display:flex}.records-filter-stats-left{-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.records-memo-counter{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;contain:layout style;will-change:opacity;-webkit-user-select:none;user-select:none;margin-top:-4px;font-size:.7rem;animation:.15s both fadeIn}.records-memo-counter[data-over-limit]{color:var(--danger)}@media (prefers-reduced-motion:reduce){.records-memo-counter{will-change:auto;animation:none}}.records-delete-confirm-panel{background:rgba(var(--danger-rgb,239, 68, 68), .08);border:1px solid rgba(var(--danger-rgb,239, 68, 68), .25);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.records-delete-confirm-msg{color:var(--danger);font-size:.82rem}:root[data-theme=light] .records-delete-confirm-msg{color:#dc2626}.records-delete-confirm-actions{gap:8px;display:flex}.records-delete-confirm-btn{will-change:transform, filter;flex:1;min-height:44px;padding:6px 0;font-size:.82rem}.records-delete-confirm-btn--danger{background:var(--danger);color:#fff;border:none;border-radius:6px}:root[data-theme=light] .records-delete-confirm-btn--danger{background:#dc2626}@media (hover:hover){.records-delete-confirm-btn--danger:hover{filter:brightness(1.1)}.records-delete-confirm-btn:not(.records-delete-confirm-btn--danger):hover{opacity:.8}}@media (hover:hover) and (prefers-reduced-motion:reduce){.records-delete-confirm-btn--danger:hover{filter:none}}.records-delete-confirm-btn--danger:active{transform:scale(.94)}.records-delete-confirm-btn:not(.records-delete-confirm-btn--danger):active{transform:scale(.96)}.records-delete-confirm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .records-delete-confirm-btn:not(.records-delete-confirm-btn--danger):focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .records-delete-confirm-btn--danger:focus-visible{outline-color:#dc2626}@media (prefers-reduced-motion:reduce){.records-delete-confirm-btn:active{transform:none}}.records-filter-input{transition:border-color .2s,box-shadow .2s}.records-filter-input[data-invalid=true]{border-color:var(--danger)}.records-filter-input[data-shake=true]{contain:layout style;will-change:transform;animation:.4s shake}.records-filter-input[data-valid=true]{border-color:var(--success);box-shadow:0 0 0 2px #22c55e26}@media (prefers-reduced-motion:reduce){.records-filter-input{transition:none}.records-filter-input[data-shake=true]{animation:none}}:root[data-theme=light] .records-filter-input[data-valid=true]{box-shadow:0 0 0 2px #22c55e4d}@media (hover:hover){.records-filter-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .records-filter-input:not(:focus):hover{border-color:#1d4ed899}}.records-filter-action-row{align-items:center;gap:8px;display:flex}.records-filter-range-info{background:#3b82f61a;border:1px solid #3b82f633;border-radius:10px;align-self:flex-start;align-items:center;gap:6px;margin-top:-4px;padding:6px 12px;display:inline-flex}.records-filter-range-info-count{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:600}.records-filter-range-info-label{color:var(--text-muted);font-size:.75rem}.settings-delete-confirm-text{color:var(--danger);margin:0;font-size:.8rem;font-weight:500}:root[data-theme=light] .settings-delete-confirm-text{color:#dc2626}.settings-delete-submit-btn{will-change:transform, filter;flex:1;padding:6px 12px;font-size:.85rem;transition:filter .15s,transform .12s}.settings-delete-cancel-btn{will-change:transform, filter;padding:6px 12px;font-size:.85rem;transition:filter .15s,transform .12s}@media (hover:hover){.settings-delete-submit-btn:hover:not(:disabled),.settings-delete-cancel-btn:hover:not(:disabled){filter:brightness(1.08)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.settings-delete-submit-btn:hover:not(:disabled),.settings-delete-cancel-btn:hover:not(:disabled){filter:none}}.settings-delete-submit-btn:active:not(:disabled),.settings-delete-cancel-btn:active:not(:disabled){transform:scale(.93)}.settings-delete-submit-btn:focus-visible,.settings-delete-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.settings-delete-submit-btn,.settings-delete-cancel-btn{transition:none}}.settings-delete-trigger-btn{will-change:transform, filter;font-size:.85rem;transition:filter .15s,transform .12s}@media (hover:hover){.settings-delete-trigger-btn:hover{filter:brightness(1.1)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.settings-delete-trigger-btn:hover{filter:none}}.settings-delete-trigger-btn:active{transform:scale(.93)}.settings-delete-trigger-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .settings-delete-trigger-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.settings-delete-trigger-btn{transition:none}.settings-delete-trigger-btn:active{transform:none}}.flashcard-result-progress-track{background:#ef444433;border-radius:3px;height:6px;margin-top:10px;display:flex;overflow:hidden}.flashcard-result-progress-fill{width:calc(var(--progress-pct,0) * 1%);background:linear-gradient(90deg, var(--success), #34d399);transition:width .6s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.flashcard-result-progress-fill{transition:none}}.fc-progress-track{contain:layout style;background:#ffffff14;border-radius:3px;width:100%;height:6px;position:relative}:root[data-theme=light] .fc-progress-track{background:#00000014}:root[data-theme=light] .fc-progress-seen{background:linear-gradient(90deg,#3b82f68c,#60a5fa8c)}.fc-progress-seen{width:calc(var(--seen-pct,0) * 1%);contain:layout style;will-change:width;background:linear-gradient(90deg,#3b82f659,#60a5fa59);border-radius:3px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.fc-progress-mastered{width:calc(var(--mastered-pct,0) * 1%);background:linear-gradient(90deg, var(--success), #34d399);contain:layout style;will-change:width;border-radius:3px;transition:width .4s;position:absolute;top:0;bottom:0;left:0}@media (prefers-reduced-motion:reduce){.fc-progress-seen,.fc-progress-mastered{transition:none}}.fc-mode-container{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;display:flex}.fc-stats-row{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:12px;font-size:.8rem;display:flex}:root[data-theme=light] .fc-stats-row{color:#475569}.fc-stats-badge{-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:2px 5px;transition:background .15s;display:flex}@media (hover:hover){.fc-stats-badge:hover{background:rgba(var(--accent-rgb,59 130 246) / .08)}}.fc-missed-wrapper{width:100%;max-width:300px}.fc-missed-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.8rem;display:flex}:root[data-theme=light] .fc-missed-header{color:#475569}@keyframes quizDoneEnter{0%{opacity:0;transform:scale(.92)}70%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.quiz-done-wrapper{animation:none!important}.quiz-done-title{will-change:auto;animation:none}}.quiz-done-wrapper{text-align:center;contain:layout style;will-change:transform, opacity;animation:.35s cubic-bezier(.34,1.56,.64,1) both quizDoneEnter}.quiz-done-title{contain:layout style;will-change:opacity;text-wrap:balance;margin-bottom:8px;font-size:1.3rem;font-weight:600;animation:.2s both fadeIn}.quiz-done-score{color:var(--danger);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;contain:layout style;will-change:transform, opacity;font-size:.9rem;font-weight:600;animation:.2s .15s both scaleIn}.quiz-done-score[data-level=high]{color:var(--success)}.quiz-done-score[data-level=mid]{color:var(--warning)}.quiz-done-score[data-level=low]{color:var(--danger)}@media (prefers-reduced-motion:reduce){.quiz-done-score{will-change:auto;animation:none}}.quiz-done-avgtime{color:var(--text-muted);font-variant-numeric:tabular-nums;contain:layout style;will-change:opacity;margin-top:6px;font-size:.75rem;animation:.2s .2s both fadeIn}@media (prefers-reduced-motion:reduce){.quiz-done-avgtime{will-change:auto;animation:none}}.fc-done-header{text-align:center;width:100%;max-width:320px}.fc-done-title{contain:layout style;will-change:opacity;text-wrap:balance;margin-bottom:8px;font-size:1.3rem;font-weight:600;animation:.2s both fadeIn}@media (prefers-reduced-motion:reduce){.fc-done-title{will-change:auto;animation:none}}.fc-done-subtitle{color:var(--text-muted);font-variant-numeric:tabular-nums;text-wrap:balance;contain:layout style;will-change:opacity;font-size:.9rem;animation:.2s .1s both fadeIn}@media (prefers-reduced-motion:reduce){.fc-done-subtitle{will-change:auto;animation:none}}.fc-done-success-span{color:var(--success);margin-left:6px;font-weight:700}:root[data-theme=light] .fc-done-success-span{color:#047857}.fc-missed-list{contain:layout style;flex-direction:column;gap:4px;animation:.15s 50ms both fadeIn;display:flex}.fc-missed-item{contain:layout style;background:#ef444414;border-radius:8px;justify-content:space-between;align-items:center;min-height:48px;padding:8px 12px;font-size:.85rem;animation:.18s both fadeIn;display:flex}.fc-missed-item:first-child{animation-delay:0s}.fc-missed-item:nth-child(2){animation-delay:30ms}.fc-missed-item:nth-child(3){animation-delay:60ms}.fc-missed-item:nth-child(4){animation-delay:90ms}.fc-missed-item:nth-child(5){animation-delay:.12s}.fc-missed-item:nth-child(6){animation-delay:.15s}.fc-missed-item:nth-child(7){animation-delay:.18s}.fc-missed-item:nth-child(8){animation-delay:.21s}.fc-missed-item-meaning{color:var(--text-muted);font-size:.75rem}:root[data-theme=light] .fc-missed-item-meaning{color:#475569}:root[data-theme=light] .fc-missed-item{background:#ef444424}.fc-copy-all-btn{color:var(--text-muted);cursor:pointer;will-change:transform, color;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;min-width:auto;min-height:44px;padding:8px 10px;font-size:.75rem;transition:color .2s,transform .1s;display:flex}.fc-copy-all-btn[data-copied=true]{color:var(--success);contain:layout style;will-change:opacity, transform;animation:.15s both scaleIn}@media (hover:hover){.fc-copy-all-btn:hover{color:var(--text)}}.fc-copy-all-btn:active{opacity:.7;transform:scale(.88)}.fc-copy-all-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fc-copy-all-btn{transition:none}.fc-copy-all-btn:active{transform:none}}.fc-add-form-label{color:var(--accent);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:flex}:root[data-theme=light] .fc-add-form-label{color:#1d4ed8}.fc-add-form-input{font-size:.9rem}.fc-add-form-btn-row{gap:8px;display:flex}.fc-add-form-submit{flex:1;padding:8px;scroll-margin:8px;font-size:.85rem}.fc-add-form-cancel{padding:8px;scroll-margin:8px;font-size:.85rem}.fc-delete-area{flex-direction:column;align-items:center;gap:8px;display:flex}.fc-delete-confirm-row{align-items:center;gap:8px;display:flex}.fc-delete-end-btn{background:var(--danger);color:#fff;will-change:transform, filter;border:none;border-radius:6px;min-width:auto;min-height:44px;padding:4px 12px;font-size:.8rem;transition:filter .15s,transform .1s}@media (hover:hover){.fc-delete-end-btn:hover{filter:brightness(1.12)}}.fc-delete-end-btn:active{transform:scale(.93)}.fc-delete-end-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .fc-delete-end-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.fc-delete-end-btn{transition:none}.fc-delete-end-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.fc-delete-end-btn:hover{filter:none}}.fc-delete-cancel-btn{color:var(--text-muted);will-change:transform, color;background:0 0;border:none;min-width:44px;min-height:44px;padding:4px;transition:color .15s,transform .1s}@media (hover:hover){.fc-delete-cancel-btn:hover{color:var(--text)}}.fc-delete-cancel-btn:active{transform:scale(.88)}.fc-delete-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}:root[data-theme=light] .fc-delete-cancel-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.fc-delete-cancel-btn{transition:none}.fc-delete-cancel-btn:active{transform:none}}.fc-delete-trigger-btn{color:var(--text-muted);will-change:transform, color;background:0 0;border:none;min-height:44px;padding:8px 12px;font-size:.85rem;transition:color .15s,transform .1s}@media (hover:hover){.fc-delete-trigger-btn:hover{color:var(--danger)}}.fc-delete-trigger-btn:active{transform:scale(.93)}.fc-delete-trigger-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .fc-delete-trigger-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.fc-delete-trigger-btn{transition:none}.fc-delete-trigger-btn:active{transform:none}}.fc-shortcuts-hint{color:var(--text-muted);opacity:.6;-webkit-user-select:none;user-select:none;font-size:.65rem}.fc-action-row{contain:layout style;will-change:opacity;flex-wrap:wrap;justify-content:center;gap:8px;animation:.2s .1s both fadeIn;display:flex}.fc-action-btn{contain:layout style;will-change:transform, filter;min-width:140px;transition:filter .15s,transform .12s}@media (hover:hover){.fc-action-btn:not(.primary):hover{filter:brightness(1.08)}.fc-action-btn.primary:hover{filter:brightness(1.1)}}.fc-action-btn:active{transform:scale(.95)}.fc-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}:root[data-theme=light] .fc-action-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.fc-action-btn{transition:none}.fc-action-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.fc-action-btn:not(.primary):hover,.fc-action-btn.primary:hover{filter:none}}.word-detail-body{flex:1;min-width:0}.word-detail-meta{color:var(--accent);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;font-size:.75rem;display:flex}.quiz-action-row{contain:layout style;will-change:opacity;flex-wrap:wrap;justify-content:center;gap:8px;animation:.3s .15s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.quiz-action-row{animation:none}}.quiz-action-btn{will-change:transform, filter;min-width:140px;transition:filter .15s,transform .12s}@media (hover:hover){.quiz-action-btn:not(.primary):hover{filter:brightness(1.08)}.quiz-action-btn.primary:hover{filter:brightness(1.1)}}.quiz-action-btn:active{transform:scale(.95)}.quiz-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}:root[data-theme=light] .quiz-action-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.quiz-action-btn{transition:none}.quiz-action-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.quiz-action-btn:not(.primary):hover,.quiz-action-btn.primary:hover{filter:none}}.fc-stats-badge-success{color:var(--success);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:.78rem;font-weight:600;display:flex}:root[data-theme=light] .fc-stats-badge-success{color:#047857}.fc-stats-badge-muted{color:var(--text-muted);opacity:.4;font-size:.7rem}.fc-stats-badge-danger{color:var(--danger);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:.78rem;font-weight:600;display:flex}:root[data-theme=light] .fc-stats-badge-danger{color:#dc2626}.quiz-btn-row{gap:12px;width:100%;animation:.15s both fadeIn;display:flex}.quiz-btn-wrong{color:var(--danger);background:#ef44441a;border-color:#ef44444d;flex:1;padding:14px;scroll-margin:8px;font-size:1rem}.quiz-btn-wrong[data-anim=wrong]{contain:layout style;will-change:transform;animation:.2s incorrectShake}.quiz-btn-correct{flex:1;padding:14px;scroll-margin:8px;font-size:1rem}.quiz-btn-correct[data-anim=correct]{contain:layout style;will-change:transform;animation:.2s correctPop}.word-inline-action-btn{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;will-change:transform, color;background:0 0;border:none;flex-shrink:0;min-width:44px;min-height:44px;padding:10px;scroll-margin:8px;transition:color .2s,transform .15s,background .15s}.word-inline-action-btn[data-copied=true]{color:var(--success)}.word-inline-action-btn[data-pinned=true]{color:#f59e0b}:root[data-theme=light] .word-inline-action-btn[data-pinned=true]{color:#b45309}@media (prefers-reduced-motion:reduce){.word-inline-action-btn{will-change:auto;transition:none}}.word-owner-btn-row{align-items:center;gap:2px;display:flex}.word-delete-confirm-row{contain:layout style;will-change:opacity;align-items:center;gap:2px;animation:.12s both fadeIn;display:flex}.word-delete-confirm-btn{background:var(--danger);color:#fff;cursor:pointer;will-change:transform, filter;border:none;border-radius:6px;min-width:44px;min-height:44px;padding:10px 12px;font-size:.72rem;font-weight:600}:root[data-theme=light] .word-delete-confirm-btn{background:#dc2626}.word-delete-cancel-btn{color:var(--text-muted);cursor:pointer;will-change:transform, filter;background:0 0;border:none;min-width:44px;min-height:44px;padding:10px 12px}:root[data-theme=light] .word-delete-cancel-btn{color:#475569}.word-delete-trigger-btn{color:var(--danger);opacity:.6;will-change:transform, opacity;contain:layout style;background:0 0;border:none;min-width:44px;min-height:44px;padding:8px;transition:opacity .15s,transform .1s}:root[data-theme=light] .word-delete-trigger-btn{color:#dc2626;opacity:1}@media (hover:hover){.word-delete-trigger-btn:hover{opacity:1}}.word-delete-trigger-btn:active{transform:scale(.9)}@media (prefers-reduced-motion:reduce){.word-delete-trigger-btn:active{transform:none}}@media (hover:hover){.word-delete-confirm-btn:hover{filter:brightness(1.12)}.word-delete-cancel-btn:hover{color:var(--text)}}.word-delete-confirm-btn:active,.word-delete-cancel-btn:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.word-delete-confirm-btn:active,.word-delete-cancel-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.word-delete-confirm-btn:hover{filter:none}}.word-delete-confirm-btn:focus-visible,.word-delete-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .word-delete-confirm-btn:focus-visible{outline-color:#dc2626}:root[data-theme=light] .word-delete-cancel-btn:focus-visible{outline-color:#1d4ed8}.word-display-row{align-items:center;gap:6px;display:flex}.word-text-span{word-break:break-word;font-size:1rem}.word-text-span[data-mastered=true]{text-decoration:line-through}.word-meaning-text{color:var(--text-muted);text-wrap:balance;margin-top:2px;font-size:.8rem}:root[data-theme=light] .word-meaning-text{color:#475569}.word-edit-form{flex-direction:column;flex:1;gap:6px;animation:.15s both fadeIn;display:flex}.word-edit-input{min-height:44px;font-size:.875rem}.word-edit-input:focus-visible{border-color:var(--accent);background:#3b82f60a;outline:none;box-shadow:0 0 0 3px #3b82f633}:root[data-theme=light] .word-edit-input:focus-visible{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed84d}@media (hover:hover){.word-edit-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .word-edit-input:not(:focus):hover{border-color:#1d4ed899}}.word-edit-form-btn-row{gap:6px;display:flex}.word-edit-submit-btn{flex:1;min-height:44px;padding:8px 10px;font-size:.8rem}.word-edit-cancel-btn{min-width:auto;min-height:44px;padding:8px 12px;font-size:.8rem}@media (hover:hover){.word-edit-cancel-btn:hover:not(:disabled){opacity:.75}}.word-edit-cancel-btn:active:not(:disabled){transform:scale(.93)}.word-edit-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}:root[data-theme=light] .word-edit-cancel-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.word-edit-cancel-btn:active{transform:none!important}}.word-list-inner{overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex-direction:column;gap:8px;height:100%;min-height:0;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.word-list-inner,.records-scroll-area{scroll-behavior:auto}}.words-load-more-btn{color:var(--accent);cursor:pointer;contain:layout style;background:#3b82f614;border:1px solid #3b82f626;border-radius:12px;flex-shrink:0;min-height:44px;padding:10px;font-size:.85rem;animation:.2s both fadeIn}@media (prefers-reduced-motion:reduce){.words-load-more-btn{animation:none}}:root[data-theme=light] .words-load-more-btn{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f647}.word-add-form{contain:layout style;flex-direction:column;gap:6px;margin-bottom:.75rem;animation:.2s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.word-add-form{animation:none!important}}.word-add-input-row{gap:8px;display:flex}@media (hover:hover){.word-add-input-row input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .word-add-input-row input:not(:focus):hover{border-color:#1d4ed899}}.word-char-counter{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;contain:layout style;will-change:opacity;font-size:.7rem;animation:.15s both fadeIn}.word-char-counter[data-danger]{color:var(--danger)}:root[data-theme=light] .word-char-counter:not([data-danger]){color:#475569}:root[data-theme=light] .word-char-counter[data-danger]{color:#dc2626}.modal-add-submit-btn{will-change:transform, filter, opacity;min-width:48px;padding:0 1rem;scroll-margin:8px;transition:filter .15s,transform .12s;animation:.2s both fadeIn}@media (hover:hover){.modal-add-submit-btn:hover{filter:brightness(1.08)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.modal-add-submit-btn:hover{filter:none}}.modal-add-submit-btn:active{transform:scale(.92)}.modal-add-submit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .modal-add-submit-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.modal-add-submit-btn{transition:none;animation:none}}:root[data-theme=light] .modal-add-submit-btn{background:#3b82f61f;border-color:#3b82f64d}@media (hover:hover){:root[data-theme=light] .modal-add-submit-btn:hover{background:#3b82f62e;border-color:#3b82f673}}.meaning-char-counter{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;contain:layout style;will-change:opacity;font-size:.7rem;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.meaning-char-counter{animation:none}}.meaning-char-counter[data-danger]{color:var(--danger)}:root[data-theme=light] .meaning-char-counter[data-danger]{color:#dc2626}:root[data-theme=light] .meaning-char-counter:not([data-danger]){color:#475569}.bulk-section-title{color:var(--accent);text-wrap:balance;font-size:.8rem;font-weight:600}:root[data-theme=light] .bulk-section-title{color:#1d4ed8}.bulk-section-header{justify-content:space-between;align-items:center;display:flex}.bulk-section-hint{color:var(--text-muted);text-wrap:balance;font-size:.7rem}:root[data-theme=light] .bulk-section-hint{color:#475569}.bulk-action-row{gap:8px;display:flex}.word-search-area{flex-direction:column;gap:8px;margin-bottom:.75rem;display:flex}.word-search-input-wrapper{position:relative}.word-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}:root[data-theme=light] .word-search-icon{color:#475569}.word-search-input{min-height:44px;padding-left:36px;padding-right:16px;scroll-margin:8px}.word-search-input[data-has-value=true]{padding-right:36px}@media (hover:hover){.word-search-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .word-search-input:not(:focus):hover{border-color:#1d4ed899}}:root[data-theme=light] .word-search-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f64d}.word-search-clear-btn{color:var(--text-muted);cursor:pointer;opacity:.6;will-change:transform, opacity;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px;transition:opacity .15s,color .15s,transform .1s;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}@media (hover:hover){.word-search-clear-btn:hover{opacity:1;color:var(--text)}}.word-search-clear-btn:active{opacity:.7;transform:translateY(-50%)scale(.88)}.word-search-clear-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}@media (prefers-reduced-motion:reduce){.word-search-clear-btn{will-change:auto;transition:none}}.word-filter-row{align-items:center;gap:6px;display:flex}.word-edit-icon-btn{color:var(--text-muted);opacity:.7;cursor:pointer;will-change:transform, filter, opacity;contain:layout style;background:0 0;border:none;min-width:44px;min-height:44px;padding:10px;transition:opacity .15s,transform .12s,filter .15s}@media (hover:hover){.word-edit-icon-btn:hover{opacity:1;filter:brightness(1.15)}}.word-edit-icon-btn:active{transform:scale(.88)}.word-edit-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .word-edit-icon-btn{color:#475569;opacity:1}:root[data-theme=light] .word-edit-icon-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.word-edit-icon-btn{transition:none}.word-edit-icon-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.word-edit-icon-btn:hover{filter:none}}.word-mastery-btn{cursor:pointer;will-change:transform, opacity;contain:layout style;background:0 0;border:none;min-width:44px;min-height:44px;padding:10px;transition:transform .12s,opacity .15s}@media (hover:hover){.word-mastery-btn:hover{opacity:.8}}.word-mastery-btn:active{transform:scale(.88)}.word-mastery-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .word-mastery-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.word-mastery-btn{transition:none}.word-mastery-btn:active{transform:none}}.word-mastered-icon{contain:layout style;will-change:transform;flex-shrink:0;margin-left:8px;animation:.2s both scaleIn}@media (prefers-reduced-motion:reduce){.word-mastered-icon{will-change:auto;animation:none}}.fc-auto-speak-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;will-change:transform, color, background;background:#ffffff0a;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:10px;font-size:.7rem;transition:background .15s,border-color .15s,color .15s,transform .15s;display:flex}.fc-auto-speak-btn[data-active]{color:var(--accent);background:#3b82f626;border-color:#3b82f64d}@media (hover:hover){.fc-auto-speak-btn:hover:not([data-active]){color:var(--text);background:#ffffff17;border-color:#fff3;transform:scale(1.08)}}.fc-auto-speak-btn:active{transform:scale(.92)}.fc-auto-speak-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .fc-auto-speak-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.fc-auto-speak-btn{will-change:auto;transition:none}.fc-auto-speak-btn:active{transform:none}}:root[data-theme=light] .fc-auto-speak-btn{background:#0000000a;border-color:#0000001f}@media (hover:hover){:root[data-theme=light] .fc-auto-speak-btn:hover:not([data-active]){background:#00000012;border-color:#0000002e}}.bulk-import-textarea{resize:vertical;border:1px solid var(--border);min-height:80px;color:var(--text-main);background:#0003;border-radius:8px;padding:10px;font-size:.85rem}:root[data-theme=light] .bulk-import-textarea{background:#0000000a}@media (hover:hover){.bulk-import-textarea:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .bulk-import-textarea:not(:focus):hover{border-color:#1d4ed899}}.bulk-word-count-row{color:var(--accent);contain:layout style;align-items:center;gap:6px;font-size:.75rem;animation:.15s both fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.bulk-word-count-row{animation:none}}.bulk-word-count-badge{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;background:#3b82f626;border-radius:8px;padding:2px 8px;font-weight:600;animation:.15s both scaleIn}:root[data-theme=light] .bulk-word-count-row,:root[data-theme=light] .bulk-word-count-badge{color:#1d4ed8}@media (prefers-reduced-motion:reduce){.bulk-word-count-badge{animation:none}}.bulk-import-submit{flex:1;scroll-margin:8px}.bulk-import-cancel{min-width:auto;min-height:44px;padding:10px 16px}.records-empty-state{padding:2rem 1rem}.empty-state.records-empty-state:not(.empty-state-fadein){contain:layout style;will-change:transform, opacity;animation:.5s both emptyFadeIn}@media (prefers-reduced-motion:reduce){.empty-state.records-empty-state:not(.empty-state-fadein){animation:none}}.accent-icon{color:var(--accent)}:root[data-theme=light] .accent-icon{color:#1d4ed8}.records-range-arrow{color:var(--text-muted);flex-shrink:0}:root[data-theme=light] .records-range-arrow{color:#475569}#records-memo-input-wrapper{contain:layout style;will-change:opacity;animation:.2s both fadeIn}@media (prefers-reduced-motion:reduce){#records-memo-input-wrapper{animation:none}}.records-memo-input{min-height:44px}.records-submit-btn{width:100%;scroll-margin:8px}.records-period-section{contain:layout style;will-change:opacity;margin-bottom:.5rem;animation:.2s both fadeIn}@media (prefers-reduced-motion:reduce){.records-period-section{will-change:auto;animation:none}}.joining-screen{text-align:center;color:var(--text-muted);margin-top:20vh}:root[data-theme=light] .joining-screen{color:#475569}.banner-icon{-webkit-user-select:none;user-select:none;font-size:1rem}.offline-banner{z-index:10000;color:#000;text-align:center;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top,0px));-webkit-user-select:none;user-select:none;contain:layout style;will-change:opacity;background:linear-gradient(90deg,#f59e0b,#f97316);justify-content:center;align-items:center;gap:8px;font-size:.8rem;font-weight:600;animation:.25s both fadeIn;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #f59e0b4d}@media (prefers-reduced-motion:reduce){.offline-banner{will-change:auto;animation:none}}.update-banner{z-index:10000;background:linear-gradient(135deg, var(--accent), #8b5cf6);color:var(--text-inverse,#fff);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;will-change:transform, filter;contain:layout style;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.85rem;font-weight:600;transition:filter .15s,transform .15s;animation:.25s both fadeIn;display:flex;position:fixed;bottom:80px;left:16px;right:16px;box-shadow:0 4px 20px #3b82f659}@media (hover:hover){.update-banner:hover{filter:brightness(1.06)}}.update-banner:active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){.update-banner{will-change:auto;transition:none;animation:none}.update-banner:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.update-banner:hover{filter:none}}.bulk-file-import-btn{color:var(--accent);cursor:pointer;will-change:transform, filter;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;align-items:center;gap:4px;min-width:auto;min-height:44px;padding:10px 12px;font-size:.7rem;display:flex}@media (hover:hover){.bulk-file-import-btn:hover{filter:brightness(1.08)}.bulk-import-cancel:hover{opacity:.75}}.bulk-file-import-btn:active{transform:scale(.93)}.bulk-file-import-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bulk-import-cancel:active{transform:scale(.88)}.bulk-import-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .bulk-file-import-btn{color:#1d4ed8}:root[data-theme=light] .bulk-file-import-btn:focus-visible,:root[data-theme=light] .bulk-import-cancel:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.bulk-import-cancel{will-change:auto}.bulk-file-import-btn:active,.bulk-import-cancel:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.bulk-file-import-btn:hover{filter:none}}.file-input-hidden{display:none}@keyframes wordDupeSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.word-duplicate-warning{color:var(--warning);contain:layout style;will-change:transform, opacity;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;animation:.18s ease-out forwards wordDupeSlide;display:flex}@media (prefers-reduced-motion:reduce){.word-duplicate-warning{will-change:auto;animation:none}}:root[data-theme=light] .word-duplicate-warning{color:#b45309;background:#f59e0b1f;border-color:#f59e0b59}.word-list-row{opacity:1;cursor:default}.word-list-row[data-mastered]{opacity:.5}:root[data-theme=light] .word-list-row[data-mastered]{opacity:.65}.word-list-row[data-editable]{cursor:pointer}.word-list-row[data-editable]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .word-list-row[data-editable]:focus-visible{outline-color:#1d4ed8}.word-swipe-delete-indicator{background:rgba(239, 68, 68, var(--swipe-opacity,0));min-width:60px;color:var(--danger);border-radius:12px;justify-content:flex-end;align-items:center;padding-right:16px;display:flex;position:absolute;top:0;bottom:0;right:0}:root[data-theme=light] .word-swipe-delete-indicator{color:#dc2626}.word-age-badge{color:var(--text-muted);-webkit-user-select:none;user-select:none;background:#ffffff0d;border:1px solid #ffffff14;border-radius:5px;padding:1px 5px;font-size:.6rem}.word-age-badge[data-age-level=old]{color:var(--danger);background:#ef44441f;border-color:#ef444433}.word-age-badge[data-age-level=stale]{color:var(--warning);background:#f59e0b1f;border-color:#f59e0b33}:root[data-theme=light] .word-age-badge{background:#0000000a;border-color:#0000001a}:root[data-theme=light] .word-age-badge[data-age-level=old]{color:#dc2626;background:#ef44441f;border-color:#ef444440}:root[data-theme=light] .word-age-badge[data-age-level=stale]{color:#b45309;background:#f59e0b1f;border-color:#f59e0b38}.word-row-container{touch-action:pan-y;border-radius:12px;flex-shrink:0;position:relative;overflow:hidden}.fc-tap-hint{color:var(--text-muted);contain:layout style;font-size:.8rem;animation:.12s both fadeIn}@media (prefers-reduced-motion:reduce){.fc-tap-hint{animation:none}}:root[data-theme=light] .fc-tap-hint{color:#475569}.word-list-row{contain:layout style;-webkit-user-select:none;user-select:none;background:#0003;border-radius:12px;justify-content:space-between;align-items:center;min-height:48px;padding:10px 16px;scroll-margin:8px;display:flex}:root[data-theme=light] .word-list-row{background:#00000008}.word-list-row[data-swiping]{transform:translateX(var(--swipe-tx,0));transition:background .1s}@media (prefers-reduced-motion:reduce){.word-list-row[data-swiping]{transition:none}}.word-meaning-input{min-height:44px;font-size:.85rem}@media (hover:hover){.word-meaning-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .word-meaning-input:not(:focus):hover{border-color:#1d4ed899}}.empty-state.modal-empty-padding{contain:layout style;will-change:opacity;padding:2rem 1rem}.quiz-btn-wrong,.quiz-btn-correct{-webkit-user-select:none;user-select:none;contain:layout style;will-change:transform, filter;transition:filter .15s,transform .12s}@media (hover:hover){.quiz-btn-wrong:hover:not(:disabled){filter:brightness(1.18)}.quiz-btn-correct:hover:not(:disabled){filter:brightness(1.12)}}.quiz-btn-wrong:active:not(:disabled),.quiz-btn-correct:active:not(:disabled){transform:scale(.94)}@media (prefers-reduced-motion:reduce){.quiz-btn-wrong,.quiz-btn-correct{transition:none}.quiz-btn-wrong:active:not(:disabled),.quiz-btn-correct:active:not(:disabled){transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.quiz-btn-wrong:hover:not(:disabled),.quiz-btn-correct:hover:not(:disabled){filter:none}}.quiz-btn-wrong:focus-visible,.quiz-btn-correct:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=light] .quiz-btn-wrong:focus-visible,:root[data-theme=light] .quiz-btn-correct:focus-visible{outline-color:#1d4ed8}@media (hover:hover){.timer-ready-btn:not([data-sending]):hover{filter:brightness(1.1)}}.timer-ready-btn:not([data-sending]):active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.timer-ready-btn:not([data-sending]):active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.timer-ready-btn:not([data-sending]):hover{filter:none}}@media (prefers-reduced-motion:reduce){.word-inline-action-btn:hover,.word-inline-action-btn:active{transform:none}}.word-date-text{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.65rem}:root[data-theme=light] .word-date-text{color:#475569}@media (forced-colors:active){:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline-offset:2px;box-shadow:none;outline:2px solid canvastext}.skip-to-content:focus{outline-offset:-4px;box-shadow:none;outline:2px solid canvastext}.glass-panel,.glass-card,.record-glass-card,.lobby-confirm-panel,.timer-settings-panel,.modal-panel{border:1px solid canvastext}}@media (prefers-contrast:more){:root{--border:#ffffff4d;--text-muted:#b8c2d4}:root[data-theme=light]{--border:#00000040;--text-muted:#4a5568}button:not(.primary):not([class*=accent]){border-width:2px}button.primary,button[class*=primary],.timer-ready-btn:not([data-ready]){box-shadow:0 0 0 2px var(--bg-color), 0 0 0 4px var(--accent)}:root[data-theme=light] button.primary,:root[data-theme=light] button[class*=primary],:root[data-theme=light] .timer-ready-btn:not([data-ready]){box-shadow:0 0 0 2px var(--bg-color), 0 0 0 4px #1d4ed8}input:focus,textarea:focus,select:focus{border-width:2px;box-shadow:0 0 0 3px #3b82f680}:root[data-theme=light] input:focus,:root[data-theme=light] textarea:focus,:root[data-theme=light] select:focus{box-shadow:0 0 0 3px #1d4ed8cc}.glass-card,.record-glass-card{border-width:2px}}.quiz-skip-btn,.quiz-end-btn{will-change:transform, color;transition:color .15s,transform .1s}@media (hover:hover){.quiz-skip-btn:hover,.quiz-end-btn:hover{color:var(--text-main)}}.quiz-skip-btn:active,.quiz-end-btn:active{transform:scale(.92)}.quiz-skip-btn:focus-visible,.quiz-end-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.quiz-skip-btn,.quiz-end-btn{will-change:auto;transition:none;animation:none}.quiz-skip-btn:active,.quiz-end-btn:active{transform:none}}.stats-close-btn{will-change:transform, color;transition:color .15s,transform .1s}@media (hover:hover){.stats-close-btn:hover{color:var(--text-main)}}.stats-close-btn:active{transform:scale(.9)}.stats-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .stats-close-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.stats-close-btn{will-change:auto;transition:none}.stats-close-btn:active{transform:none}}.stats-day-detail-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .stats-day-detail-close:focus-visible{outline-color:#1d4ed8}.records-back-btn{will-change:transform, opacity;transition:opacity .15s,transform .1s}@media (hover:hover){.records-back-btn:hover{opacity:.7}}.records-back-btn:active{transform:scale(.9)}.records-back-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .records-back-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.records-back-btn{will-change:auto;transition:none}.records-back-btn:active{transform:none}}.quiz-end-confirm-btn{transition:filter .15s,transform .1s}@media (hover:hover){.quiz-end-confirm-btn:hover{filter:brightness(1.1)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.quiz-end-confirm-btn:hover{filter:none}}.quiz-end-confirm-btn:active{transform:scale(.95)}.quiz-end-confirm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.quiz-end-confirm-btn{will-change:auto;transition:none}.quiz-end-confirm-btn:active{transform:none}}.quiz-end-cancel-btn{transition:color .15s,transform .1s}@media (hover:hover){.quiz-end-cancel-btn:hover{color:var(--text-main)}}.quiz-end-cancel-btn:active{transform:scale(.92)}.quiz-end-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.quiz-end-cancel-btn{will-change:auto;transition:none}.quiz-end-cancel-btn:active{transform:none}}.group-my-sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .group-my-sort-btn:focus-visible{outline-color:#1d4ed8}.lobby-logout-btn{will-change:transform, filter;transition:filter .15s,transform .1s}@media (hover:hover){.lobby-logout-btn:hover{filter:brightness(1.08)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.lobby-logout-btn:hover{filter:none}}.lobby-logout-btn:active{transform:scale(.95)}.lobby-logout-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}:root[data-theme=light] .lobby-logout-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.lobby-logout-btn{will-change:auto;transition:none}.lobby-logout-btn:active{transform:none}}.timer-missed-words-btn{transition:filter .15s,transform .1s}@media (hover:hover){.timer-missed-words-btn:hover{filter:brightness(1.1)}}.timer-missed-words-btn:active{transform:scale(.97)}.timer-missed-words-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}:root[data-theme=light] .timer-missed-words-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.timer-missed-words-btn{will-change:auto;transition:none}.timer-missed-words-btn:active{transform:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.timer-missed-words-btn:hover{filter:none}}@media (hover:hover){.lobby-share-copy-btn:hover{filter:brightness(1.08)}.lobby-share-close-btn:hover{background:#ffffff0f}}@media (hover:hover) and (prefers-reduced-motion:reduce){.lobby-share-copy-btn:hover{filter:none}}@media (hover:hover){:root[data-theme=light] .lobby-share-copy-btn:hover{background:#3b82f614}:root[data-theme=light] .lobby-share-close-btn:hover{background:#0000000f}}.lobby-share-close-btn:active{transform:scale(.93)}@media (prefers-reduced-motion:reduce){.lobby-share-close-btn:active{transform:none}}.quiz-speak-btn{will-change:transform;transition:color .15s,transform .1s}@media (hover:hover){.quiz-speak-btn:hover{color:var(--text-main)}}.quiz-speak-btn:active{transform:scale(.88)}.quiz-speak-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .quiz-speak-btn:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .quiz-speak-btn{color:#1d4ed8}@media (prefers-reduced-motion:reduce){.quiz-speak-btn{will-change:auto;transition:none}.quiz-speak-btn:active{transform:none}}@media (hover:hover){.timer-random-word-card:hover{background:#ffffff0f;box-shadow:0 2px 8px #00000026}:root[data-theme=light] .timer-random-word-card:hover{background:#0000000a;box-shadow:0 2px 8px #0000001a}}.timer-random-word-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}:root[data-theme=light] .timer-random-word-card:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.timer-random-word-card:hover{box-shadow:none}}@media (hover:hover){.word-inline-action-btn:hover{color:var(--text-main);background:#ffffff14;transform:scale(1.1)}:root[data-theme=light] .word-inline-action-btn:hover{background:#00000014}}@media (hover:hover) and (prefers-reduced-motion:reduce){.word-inline-action-btn:hover{transform:none}}.word-inline-action-btn:active{transform:scale(.88)}.word-inline-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:root[data-theme=light] .word-inline-action-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){.word-inline-action-btn:active{transform:none}}@keyframes badgePop{0%{transform:scale(0)}80%{transform:scale(1.2)}to{transform:scale(1)}}.timer-random-word-badge{animation:.2s ease-out both badgePop}@media (prefers-reduced-motion:reduce){.timer-random-word-badge{will-change:auto;animation:none}}@keyframes scoreColSlide{0%{transform:translateY(8px)}to{transform:translateY(0)}}.timer-score-row .timer-score-col{contain:layout style;will-change:transform, opacity;animation:.28s cubic-bezier(.22,1,.36,1) both scoreColSlide,.2s both fadeIn}.timer-score-row .timer-score-col:nth-child(2){animation-delay:60ms}.timer-score-row .timer-score-col:nth-child(3){animation-delay:.12s}@media (prefers-reduced-motion:reduce){.timer-score-row .timer-score-col{will-change:auto;animation:none}}.public-group-card{animation:.18s both fadeIn}@media (prefers-reduced-motion:reduce){.public-group-card{animation:none}}.public-group-card:first-child{animation-delay:0s}.public-group-card:nth-child(2){animation-delay:10ms}.public-group-card:nth-child(3){animation-delay:20ms}.public-group-card:nth-child(4){animation-delay:30ms}.public-group-card:nth-child(5){animation-delay:40ms}.public-group-card:nth-child(6){animation-delay:50ms}.public-group-card:nth-child(7){animation-delay:60ms}.public-group-card:nth-child(8){animation-delay:70ms}@media (prefers-reduced-motion:reduce){.public-group-card:nth-child(n){animation-delay:0s}}.timer-random-word-card:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.timer-random-word-card:active{transform:none}}.quiz-reverse-btn{will-change:transform, filter;transition:filter .15s,transform .12s}@media (hover:hover){.quiz-reverse-btn:hover{filter:brightness(1.12)}}@media (hover:hover) and (prefers-reduced-motion:reduce){.quiz-reverse-btn:hover{filter:none}}.quiz-reverse-btn:active{transform:scale(.93)}.quiz-reverse-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}@media (prefers-reduced-motion:reduce){.quiz-reverse-btn{will-change:auto;transition:none}.quiz-reverse-btn:active{transform:none}}.word-mark-all-btn{will-change:transform;transition:background .15s,transform .12s}@media (hover:hover){.word-mark-all-btn:hover{background:#10b9812e}}.word-mark-all-btn:active{transform:scale(.93)}.word-mark-all-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.word-mark-all-btn{transition:none}.word-mark-all-btn:active{transform:none}}.records-skeleton-card{contain:layout style;will-change:opacity;animation:.2s both fadeIn}.records-skeleton-card:first-child{animation-delay:0s}.records-skeleton-card:nth-child(2){animation-delay:10ms}.records-skeleton-card:nth-child(3){animation-delay:20ms}.records-skeleton-card:nth-child(4){animation-delay:30ms}.records-skeleton-card:nth-child(5){animation-delay:40ms}@media (prefers-reduced-motion:reduce){.records-skeleton-card{will-change:auto;animation:none}.records-skeleton-card:nth-child(n){animation-delay:0s}}.records-form-card{contain:layout style;will-change:opacity;animation:.2s both fadeIn}@media (prefers-reduced-motion:reduce){.records-form-card{will-change:auto;animation:none}}.joining-screen{contain:layout style;will-change:opacity;animation:.3s both fadeIn}@media (prefers-reduced-motion:reduce){.joining-screen{will-change:auto;animation:none}}.settings-success-msg,.pw-error-text{contain:layout style;will-change:opacity;animation:.2s both fadeIn}@media (prefers-reduced-motion:reduce){.settings-success-msg,.pw-error-text{will-change:auto;animation:none}}.empty-state.modal-empty-padding{animation:.3s both fadeIn}@media (prefers-reduced-motion:reduce){.empty-state.modal-empty-padding{animation:none}}.quiz-feedback-correct,.quiz-feedback-wrong{contain:layout style;animation:.15s both fadeIn}@media (prefers-reduced-motion:reduce){.quiz-feedback-correct,.quiz-feedback-wrong{will-change:auto;animation:none}}.fc-stats-row{contain:layout style;animation:.2s 50ms both fadeIn}@media (prefers-reduced-motion:reduce){.fc-stats-row{will-change:auto;animation:none}}.quiz-controls-row{contain:layout style;animation:.2s 80ms both fadeIn}@media (prefers-reduced-motion:reduce){.quiz-controls-row{will-change:auto;animation:none}}:root[data-theme=light] .record-memo-toggle-btn{background:#00000008}@media (hover:hover){:root[data-theme=light] .record-memo-toggle-btn:hover{background:#0000000f!important}}:root[data-theme=light] .record-memo-toggle-btn[data-active]{color:#1d4ed8;background:#3b82f626;border-color:#3b82f659}:root[data-theme=light] .record-memo-toggle-btn:not([data-active]){color:#475569}:root[data-theme=light] .lobby-skeleton-row,:root[data-theme=light] .group-my-sort-btn{background:#0000000a}:root[data-theme=light] .group-my-sort-btn{color:#475569}@media (hover:hover){:root[data-theme=light] .group-my-sort-btn:hover{color:#1e293b;background:#00000012}}:root[data-theme=light] .password-strength-bar:not([data-active=true]),:root[data-theme=light] .stats-goal-progress-track{background:#00000014}:root[data-theme=light] .lobby-card-action-btn{background:#0000000a}:root[data-theme=light] .lobby-card-action-btn:not([data-variant]){color:#475569}:root[data-theme=light] .timer-preset-btn{background:#0000000a}:root[data-theme=light] .timer-preset-btn[data-selected=true]{background:#3b82f62e}:root[data-theme=light] .timer-preset-btn:not([data-selected=true]){color:#475569}:root[data-theme=light] .copy-group-id-btn{background:#0000000a}:root[data-theme=light] .copy-group-id-btn[data-copied]{background:#10b98133}@media (hover:hover){:root[data-theme=light] .copy-group-id-btn:not([data-copied]):hover{background:#00000014}}:root[data-theme=light] .public-empty-state{background:#10b98114}:root[data-theme=light] .public-group-card[data-joined]{background:#3b82f61f;border-color:#1d4ed88c}:root[data-theme=light] .record-glass-card[data-card-type=memo]{background:#3b82f612}:root[data-theme=light] .record-glass-card[data-card-type=delete]{background:#ef44440d;border-color:#ef444440}:root[data-theme=light] .ios-install-banner__close{color:#475569}:root[data-theme=light] .ios-install-banner__close:focus-visible{background:#0000000f;outline-color:#1d4ed8}@media (hover:hover){:root[data-theme=light] .public-group-card:hover{border-color:#10b98147;background:#10b98124!important}}:root[data-theme=light] .records-week-pages-badge{color:#1d4ed8;background:#6366f129;border-color:#6366f14d}@media (hover:hover){:root[data-theme=light] .record-glass-card:not([data-deleting]):hover{box-shadow:0 4px 16px #0000001a, 0 0 0 1px rgba(var(--accent-rgb,59 130 246) / .1)}}:root[data-theme=light] .quiz-btn-wrong{background:#ef444426;border-color:#ef444459}:root[data-theme=light] .quiz-btn-correct{background:#10b9811f;border-color:#10b95e40}:root[data-theme=light] .quiz-question-card[data-checked=correct]{background:#10b9812e;border-color:#10b98161}:root[data-theme=light] .quiz-question-card[data-checked=wrong]{background:#ef44442e;border-color:#ef444461}:root[data-theme=light] .timer-ready-btn[data-ready]{background:#10b98126;border-color:#10b98159}@media (hover:hover){:root[data-theme=light] .search-clear-btn:hover{background:#ef444414}:root[data-theme=light] .refresh-word-btn:hover{color:#1d4ed8;opacity:1}}:root[data-theme=light] .timer-random-word-card{background:#f59e0b1a;border-color:#f59e0b40}:root[data-theme=light] .timer-random-word-card[data-revealed=true]{background:#f59e0b26}:root[data-theme=light] .records-period-badge{background:#3b82f633;border-color:#3b82f659}:root[data-theme=light] .group-card-daily-badge{color:#1d4ed8;background:#3b82f629;border-color:#3b82f659}:root[data-theme=light] .flashcard-face{background:#0000000f;border-color:#00000026}:root[data-theme=light] .stats-compare-block{background:#0000000f}:root[data-theme=light] .stats-chart-gridline{border-top-color:#0000001a}:root[data-theme=light] .records-week-header{border-bottom-color:#00000014}:root[data-theme=light] .records-mini-stat[data-variant=accent]{background:#3b82f61f;border-color:#3b82f638}:root[data-theme=light] .records-mini-stat[data-variant=success]{background:#10b9811f;border-color:#10b98138}:root[data-theme=light] .records-mini-stat[data-variant=warning]{background:#f59e0b1f;border-color:#f59e0b38}:root[data-theme=light] .records-mini-stat[data-variant=warning] .records-mini-stat-icon,:root[data-theme=light] .records-mini-stat[data-variant=warning] .records-mini-stat-value{color:#b45309}:root[data-theme=light] .lobby-card-action-btn[data-variant=share]{background:#3b82f61f;border-color:#3b82f647}:root[data-theme=light] .lobby-card-action-btn[data-variant=danger]{background:#ef44441f;border-color:#ef444447}:root[data-theme=light] .lobby-card-action-btn[data-variant=memo][data-active]{background:#f59e0b24;border-color:#f59e0b47}:root[data-theme=light] .lobby-card-action-btn[data-variant=pin][data-active]{background:#f59e0b2e;border-color:#f59e0b52}:root[data-theme=light] .word-inline-action-btn[data-pinned=true]{background:#f59e0b1a}@media (prefers-reduced-motion:reduce){.stats-goal-trophy,.stats-goal-footer{will-change:auto;animation:none}}:root[data-theme=light] .lobby-card-action-btn[data-variant=memo]:not([data-active]),:root[data-theme=light] .lobby-card-action-btn[data-variant=pin]:not([data-active]){background:#0000000a}:root[data-theme=light] .records-memo-input{background:#00000008}@media (hover:hover){.records-memo-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .records-memo-input:not(:focus):hover{border-color:#1d4ed899}.stats-goal-input:not(:focus):hover{border-color:#3b82f673}:root[data-theme=light] .stats-goal-input:not(:focus):hover{border-color:#1d4ed899}}:root[data-theme=light] .record-edit-input{background:#3b82f60f;box-shadow:0 0 0 2px #3b82f666}:root[data-theme=light] .stats-streak-badge{color:#dc2626}:root[data-theme=light] .stats-streak-badge[data-positive=true]{color:#059669}:root[data-theme=light] .quiz-reverse-btn{color:#b45309;background:#f59e0b24;border-color:#f59e0b66}@media (hover:hover) and (prefers-reduced-motion:reduce){.modal-toolbar-btn[data-accent=true]:hover,.start-btn:not(:disabled):hover,.lang-btn:not([data-selected=true]):hover,.qr-skip-btn:hover{filter:none}}:root[data-theme=light] .word-mark-all-btn{color:#047857;background:#10b9811f;border-color:#10b98159}@media (hover:hover){:root[data-theme=light] .word-mark-all-btn:hover{background:#10b98133!important}}:root[data-theme=light] .lobby-show-more-btn{background:#10b9811a;border-color:#10b98166}@media (hover:hover){:root[data-theme=light] .lobby-show-more-btn:hover{background:#10b9812e!important}}:root[data-theme=light] .timer-celebrate-label{color:#047857}:root[data-theme=light] .timer-display-time[data-state=starting],:root[data-theme=light] .timer-display-time[data-state=caution]{color:#b45309}:root[data-theme=light] .lobby-show-more-btn,:root[data-theme=light] .lobby-daily-stat[data-color=success] .lobby-stat-value{color:#047857}:root[data-theme=light] .lobby-daily-stat[data-color=warning] .lobby-stat-value{color:#b45309}:root[data-theme=light] .timer-score-value-time{color:#047857}:root[data-theme=light] .timer-score-value-total{color:#b45309}:root[data-theme=light] .record-date-badge[data-age=today]{color:#047857;background:#10b98138}:root[data-theme=light] .record-date-badge[data-age=week]{color:#047857;background:#10b9812e}:root[data-theme=light] .record-date-badge[data-age=month]{color:#b45309;background:#f59e0b2e}:root[data-theme=light] .group-card[data-activity=active]{--card-border-color:#059669}:root[data-theme=light] .group-card[data-activity=recent]{--card-border-color:#d97706}:root[data-theme=light] .record-date-badge[data-age=yesterday],:root[data-theme=light] .record-date-badge[data-age=old]{color:#475569}:root[data-theme=light] .timer-score-value-pages,:root[data-theme=light] .notif-owner,:root[data-theme=light] .qr-section-title,:root[data-theme=light] .chart-bar-label[data-selected],:root[data-theme=light] .chart-bar-weekday-label[data-selected]{color:#1d4ed8}:root[data-theme=light] .auth-caps-warning{color:#b45309}:root[data-theme=light] .group-activity-time[data-activity=active]{color:#047857}:root[data-theme=light] .group-activity-time[data-activity=recent]{color:#b45309}:root[data-theme=light] .quiz-done-score[data-level=high]{color:#047857}:root[data-theme=light] .quiz-done-score[data-level=mid]{color:#b45309}:root[data-theme=light] .quiz-done-score[data-level=low]{color:#dc2626}:root[data-theme=light] .lobby-daily-stat[data-color=accent] .lobby-stat-value,:root[data-theme=light] .lobby-daily-stat[data-color=accent] .lobby-stat-icon{color:#1d4ed8}:root[data-theme=light] .lobby-daily-stat[data-color=success] .lobby-stat-icon{color:#047857}:root[data-theme=light] .lobby-daily-stat[data-color=warning] .lobby-stat-icon{color:#b45309}:root[data-theme=light] .timer-stat-success{color:#047857}:root[data-theme=light] .timer-stat-accent{color:#1d4ed8}:root[data-theme=light] .timer-streak-badge,:root[data-theme=light] .modal-toolbar-btn[data-active=true]{color:#b45309}:root[data-theme=light] .records-period-badge{color:#1d4ed8}:root[data-theme=light] .stat-card[data-color=warning]{--stat-color:#b45309}:root[data-theme=light] .stat-card[data-color=success]{--stat-color:#047857}:root[data-theme=light] .stat-card[data-color=danger]{--stat-color:#dc2626}.word-delete-trigger-btn:focus-visible{outline:2px solid var(--danger);outline-offset:2px;border-radius:4px}:root[data-theme=light] .lobby-stat-label,:root[data-theme=light] .heatmap-legend,:root[data-theme=light] .timer-goal-label{color:#475569}:root[data-theme=light] .timer-today-summary[data-achieved=true] .timer-goal-label{color:#047857}:root[data-theme=light] .group-activity-badge{color:#475569}:root[data-theme=light] .group-activity-badge[data-stale=true]{color:#dc2626}:root[data-theme=light] .record-memo-toggle{color:#1d4ed8}:root[data-theme=light] .qr-preview-label{color:#475569}:root[data-theme=light] .qr-preview-book,:root[data-theme=light] .qr-preview-count{color:#1d4ed8}:root[data-theme=light] .timer-goal-icon{color:#475569}:root[data-theme=light] .timer-today-summary[data-achieved=true] .timer-goal-icon{color:#047857}:root[data-theme=light] .quiz-btn-wrong{color:#dc2626}:root[data-theme=light] .quiz-btn-correct{color:#047857}:root[data-theme=light] .timer-random-word-badge{color:#dc2626}:root[data-theme=light] .timer-random-word-icon,:root[data-theme=light] .lobby-card-action-btn[data-variant=memo][data-active],:root[data-theme=light] .lobby-card-action-btn[data-variant=pin][data-active]{color:#b45309}:root[data-theme=light] .lobby-card-action-btn[data-variant=danger]{color:#dc2626}:root[data-theme=light] .timer-stat-muted,:root[data-theme=light] .records-week-header,:root[data-theme=light] .lobby-show-less-btn{color:#475569}:root[data-theme=light] .fc-copy-all-btn[data-copied=true],:root[data-theme=light] .word-inline-action-btn[data-copied=true]{color:#047857}:root[data-theme=light] .records-memo-counter[data-over-limit],:root[data-theme=light] .qr-memo-counter[data-over-limit],:root[data-theme=light] .record-edit-memo-counter[data-over-limit],:root[data-theme=light] .record-edit-error{color:#dc2626}:root[data-theme=light] .member-row-pages,:root[data-theme=light] .rank-score-week,:root[data-theme=light] .timer-member-ready-icon,:root[data-theme=light] .mini-chart-label[data-today],:root[data-theme=light] .public-group-globe{color:#047857}:root[data-theme=light] .timer-score-label,:root[data-theme=light] .qr-memo-counter:not([data-over-limit]){color:#475569}:root[data-theme=light] .timer-display-time[data-state=finished],:root[data-theme=light] .timer-display-time[data-state=critical]{color:#dc2626}:root[data-theme=light] .btn-open-sm,:root[data-theme=light] .timer-preset-btn[data-selected=true],:root[data-theme=light] .stats-bar-label-top[data-best],:root[data-theme=light] .stats-bar-label-bottom[data-best],:root[data-theme=light] .stats-avg-note{color:#1d4ed8}@media (prefers-reduced-motion:reduce){.word-search-clear-btn:active{transform:translateY(-50%)}}:root[data-theme=light] .rank-score-pages,:root[data-theme=light] .records-mini-stat[data-variant=accent] .records-mini-stat-icon,:root[data-theme=light] .records-mini-stat[data-variant=accent] .records-mini-stat-value{color:#1d4ed8}:root[data-theme=light] .records-mini-stat[data-variant=success] .records-mini-stat-icon,:root[data-theme=light] .records-mini-stat[data-variant=success] .records-mini-stat-value{color:#047857}:root[data-theme=light] .member-row-you-badge{color:#1d4ed8}:root[data-theme=light] .member-row-lastseen{color:#475569}:root[data-theme=light] .words-header-icon,:root[data-theme=light] .modal-toolbar-btn[data-accent=true]{color:#1d4ed8}:root[data-theme=light] .copy-group-id-btn[data-copied]{color:#047857}:root[data-theme=light] .record-date-header[data-clickable]:focus-visible,:root[data-theme=light] .group-join-btn:focus-visible,:root[data-theme=light] .copy-group-id-btn:focus-visible{outline-color:#1d4ed8}@media (prefers-reduced-motion:reduce){[data-spin]{will-change:auto;animation:none}}:root[data-theme=light] .lobby-accordion-toggle:focus-visible,:root[data-theme=light] .lobby-share-close-btn:focus-visible,:root[data-theme=light] .lobby-show-less-btn:focus-visible,:root[data-theme=light] .lobby-preset-btn:focus-visible,:root[data-theme=light] .lobby-confirm-join-btn:focus-visible,:root[data-theme=light] .btn-join-sm:focus-visible,:root[data-theme=light] .group-name-btn:focus-visible,:root[data-theme=light] .group-action-btn--delete-confirm:focus-visible,:root[data-theme=light] .group-memo-cancel-btn:focus-visible,:root[data-theme=light] .group-memo-save-btn:focus-visible,:root[data-theme=light] .word-mark-cancel-btn:focus-visible,:root[data-theme=light] .word-delete-cancel-btn:focus-visible,:root[data-theme=light] .word-search-clear-btn:focus-visible,:root[data-theme=light] .flashcard-add-btn:focus-visible,:root[data-theme=light] .continue-from-last-btn:focus-visible,:root[data-theme=light] .fc-copy-all-btn:focus-visible,:root[data-theme=light] .stats-goal-save-btn:focus-visible,:root[data-theme=light] .stats-goal-edit-btn:focus-visible,:root[data-theme=light] .settings-delete-cancel-btn:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .settings-delete-submit-btn:focus-visible{outline-color:#dc2626}:root[data-theme=light] .timer-settings-close-btn:focus-visible,:root[data-theme=light] .qr-memo-toggle-btn:focus-visible,:root[data-theme=light] .share-btn:focus-visible,:root[data-theme=light] .qr-save-btn:focus-visible,:root[data-theme=light] .qr-skip-btn:focus-visible,:root[data-theme=light] .quiz-end-btn:focus-visible,:root[data-theme=light] .quiz-end-confirm-btn:focus-visible,:root[data-theme=light] .quiz-end-cancel-btn:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] button.danger:focus-visible{outline-color:#dc2626;box-shadow:0 0 0 4px #dc262626}:root[data-theme=light] .start-btn:focus-visible,:root[data-theme=light] .month-nav-btn:focus-visible,:root[data-theme=light] .toast-close:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .stat-card-detail,:root[data-theme=light] .lobby-share-id-label,:root[data-theme=light] .stats-bar-label-top:not([data-best]),:root[data-theme=light] .stats-bar-label-bottom:not([data-best]){color:#475569}:root[data-theme=light] details summary:focus-visible,:root[data-theme=light] .error-boundary-summary:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .stats-day-detail-count,:root[data-theme=light] .chart-bar-weekday-label:not([data-selected]),:root[data-theme=light] .chart-bar-label[data-max]{color:#475569}:root[data-theme=light] .fc-auto-speak-btn[data-active]{color:#1d4ed8}:root[data-theme=light] .notif-verb{color:#475569}:root[data-theme=light] .heatmap-day-cell[data-clickable]:focus-visible,:root[data-theme=light] .settings-sound-btn:focus-visible,:root[data-theme=light] .group-create-btn:focus-visible,:root[data-theme=light] .pw-cancel-btn:focus-visible,:root[data-theme=light] .pw-submit-btn:focus-visible,:root[data-theme=light] .search-clear-btn:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .stats-section-subhead,:root[data-theme=light] .calendar-weekday-label,:root[data-theme=light] .qr-memo-toggle-btn{color:#475569}:root[data-theme=light] .lobby-preset-btn{color:#1d4ed8}:root[data-theme=light] .word-mastery-btn[aria-pressed=false]>svg{color:#475569}:root[data-theme=light] .word-mastery-btn[aria-pressed=true]>svg{color:#047857}:root[data-theme=light] .lobby-accordion-chevron,:root[data-theme=light] .settings-shortcuts-list,:root[data-theme=light] .settings-whatsnew-list,:root[data-theme=light] .lobby-share-group-name,:root[data-theme=light] .stats-section-h3{color:#475569}:root[data-theme=light] .quiz-done-avgtime{color:#475569;opacity:1}:root[data-theme=light] .fc-done-subtitle{color:#475569}:root[data-theme=light] .fc-shortcuts-hint,:root[data-theme=light] .group-card-timestamp{color:#475569;opacity:1}:root[data-theme=light] .records-filter-stats-row,:root[data-theme=light] .records-filter-range-info-label,:root[data-theme=light] .records-memo-counter{color:#475569}:root[data-theme=light] .member-row[data-online=false]{opacity:.65}:root[data-theme=light] .group-card-chevron{opacity:.8;color:#475569}:root[data-theme=light] .member-avatar[data-offline]{opacity:.55}:root[data-theme=light] .chart-bar-label{color:#475569}:root[data-theme=light] .calendar-nav-btn[data-year]{opacity:.8}:root[data-theme=light] .timer-settings-close-btn,:root[data-theme=light] .filter-clear-btn{opacity:.7;color:#475569}:root[data-theme=light] .timer-display-time[data-state=paused]{opacity:.75;color:#475569}:root[data-theme=light] .timer-member-status-icon{opacity:.35}:root[data-theme=light] .timer-member-status-icon[data-online]{opacity:.55}:root[data-theme=light] .member-avatar-name[data-offline]{opacity:.65}:root[data-theme=light] .week-header{color:#475569;opacity:1}:root[data-theme=light] .expand-toggle-btn{opacity:.65;color:#475569}:root[data-theme=light] .expand-toggle-btn[data-expanded]{color:#1d4ed8;opacity:1}:root[data-theme=light] .expand-toggle-btn:focus-visible{outline-color:#1d4ed8!important}:root[data-theme=light] .fc-stats-badge-muted,:root[data-theme=light] .timer-settings-icon-btn{color:#475569;opacity:1}:root[data-theme=light] .timer-leave-trigger-btn{color:#475569}@media (hover:hover){:root[data-theme=light] .timer-leave-trigger-btn:hover{opacity:1}}:root[data-theme=light] .toast-close{opacity:.85;color:#475569}:root[data-theme=light] .mini-chart-label:not([data-today]){color:#475569;opacity:1}:root[data-theme=light] .leave-cancel-btn,:root[data-theme=light] .record-edit-btn,:root[data-theme=light] .copy-group-id-btn:not([data-copied]),:root[data-theme=light] .qr-range-arrow,:root[data-theme=light] .record-edit-memo-counter:not([data-over-limit]),:root[data-theme=light] .words-reset-confirm-panel,:root[data-theme=light] .modal-reset-cancel-btn,:root[data-theme=light] .quiz-stat-row,:root[data-theme=light] .records-footer-stats{color:#475569}:root[data-theme=light] .records-footer-stats .lucide{color:#1d4ed8}:root[data-theme=light] .share-btn:not([data-shared]),:root[data-theme=light] .modal-toolbar-btn:not([data-active=true]):not([data-accent=true]){color:#475569}:root[data-theme=light] .stats-day-detail-page,:root[data-theme=light] .record-date-sessions-badge{color:#1d4ed8}:root[data-theme=light] .lobby-confirm-cancel-btn:focus-visible,:root[data-theme=light] .lobby-share-copy-btn:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .auth-tab-btn[data-active=true],:root[data-theme=light] .bar-popup-label{background:#1d4ed8}:root[data-theme=light] .bottom-nav-badge,:root[data-theme=light] .group-action-btn--delete-confirm,:root[data-theme=light] .quiz-end-confirm-btn,:root[data-theme=light] .fc-delete-end-btn{background:#dc2626}:root[data-theme=light] .ios-install-banner__action,:root[data-theme=light] .update-banner{background:linear-gradient(135deg,#1d4ed8,#7c3aed)}:root[data-theme=light] .records-filter-range-info-count{color:#1d4ed8}:root[data-theme=light] .records-filter-range-info{background:#1d4ed814;border-color:#1d4ed833}:root[data-theme=light] .word-detail-meta{color:#1d4ed8}:root[data-theme=light] .fc-delete-trigger-btn{color:#475569}@media (hover:hover){:root[data-theme=light] .fc-delete-trigger-btn:hover{color:#dc2626}}:root[data-theme=light] .word-inline-action-btn{color:#475569}:root[data-theme=light] .word-mark-confirm-btn:focus-visible,:root[data-theme=light] .quiz-skip-btn:focus-visible,:root[data-theme=light] .quiz-reverse-btn:focus-visible,:root[data-theme=light] .word-mark-all-btn:focus-visible{outline-color:#1d4ed8}:root[data-theme=light] .word-delete-trigger-btn:focus-visible{outline-color:#dc2626}@media (hover:hover){:root[data-theme=light] .chart-bar-col[data-tip]:hover:after,:root[data-theme=light] .heatmap-cell[data-tip]:hover:after,:root[data-theme=light] .accent-swatch-btn[data-tip]:hover:after,:root[data-theme=light] .mini-chart-bar-col[data-tip]:hover:after,:root[data-theme=light] .heatmap-week-total[data-tip]:hover:after{border-color:#1d4ed8}}:root[data-theme=light] .heatmap-tooltip{border-color:#1d4ed8;box-shadow:0 2px 8px #0000001f}:root[data-theme=light] .calendar-nav-btn{color:#475569}@media (hover:hover){:root[data-theme=light] .month-nav-btn:not(:disabled):hover,:root[data-theme=light] .fc-stats-badge:hover{background:#0000000d}}:root[data-theme=light] .quiz-end-btn,:root[data-theme=light] .quiz-end-cancel-btn,:root[data-theme=light] .flashcard-add-btn{color:#475569}:root[data-theme=light] .spinner-ring-spin{border-top-color:#1d4ed8}:root[data-theme=light] .spinner-ring-reverse{border-top-color:#1d4ed8;border-bottom-color:#1d4ed859}:root[data-theme=light] .spinner-icon{color:#1d4ed8}:root[data-theme=light] .spinner-ring-track{border-color:#1d4ed840}:root[data-theme=light] .fc-copy-all-btn{color:#475569}:root[data-theme=light] .word-search-clear-btn{color:#475569;opacity:1}:root[data-theme=light] .search-clear-btn{color:#475569}@media (hover:hover){:root[data-theme=light] .search-clear-btn:hover{color:#dc2626!important}}:root[data-theme=light] input[type=text],:root[data-theme=light] input[type=number],:root[data-theme=light] input[type=password],:root[data-theme=light] textarea,:root[data-theme=light] select{border-color:#00000073}@media (hover:hover){.word-inline-action-btn[data-pinned=true]:hover{color:#f59e0b}:root[data-theme=light] .word-inline-action-btn[data-pinned=true]:hover{color:#b45309}}input,textarea{caret-color:var(--accent)}:root[data-theme=light] input,:root[data-theme=light] textarea{caret-color:#1d4ed8}:root{accent-color:var(--accent)}:root[data-theme=light]{accent-color:#1d4ed8}.quiz-skip-btn,.quiz-end-btn,.pw-submit-btn,.pw-cancel-btn,.modal-close,.stats-close-btn,.modal-toolbar-btn,.quiz-check-btn,.quiz-reverse-btn,.quiz-action-btn,.fc-action-btn,.quiz-end-confirm-btn,.quiz-end-cancel-btn,.fc-auto-speak-btn,.stats-day-detail-close,.stats-goal-save-btn,.goal-edit-btn,.share-btn{scroll-margin:8px}.timer-random-word-icon,.timer-member-ready-icon,.timer-goal-icon,.quiz-feedback-icon,.words-header-icon,.lobby-icon-btn{-webkit-user-select:none;user-select:none}.recent-memo-btn{scroll-margin:8px}.qr-preview-book,.qr-preview-label{-webkit-user-select:none;user-select:none}.timer-settings-icon-btn,.word-edit-icon-btn,.word-mastery-btn,.record-edit-btn,.record-delete-btn,.toast-close,.qr-memo-toggle-btn,.lobby-preset-btn,.timer-settings-close-btn,.modal-reset-confirm-btn,.modal-reset-cancel-btn,.fc-copy-all-btn,.fc-delete-end-btn,.fc-delete-cancel-btn,.fc-delete-trigger-btn,.modal-add-submit-btn,.bulk-file-import-btn,.word-mark-all-btn,.word-mark-confirm-btn,.word-mark-cancel-btn,.word-edit-submit-btn,.word-edit-cancel-btn,.word-delete-confirm-btn,.records-back-btn,.continue-from-last-btn,.record-memo-toggle-btn,.records-submit-btn,.records-delete-confirm-btn,.records-filter-btn,.records-sort-btn,.search-clear-btn,.record-edit-save-btn,.record-edit-cancel-btn,.record-delete-confirm-btn,.record-delete-cancel-btn,.lobby-refresh-btn,.lobby-logout-btn,.filter-clear-btn,.group-my-sort-btn,.lobby-empty-create-btn,.expand-toggle-btn,.group-memo-save-btn,.group-memo-cancel-btn,.lobby-card-action-btn,.confirm-cancel-btn,.btn-open-sm,.lobby-show-more-btn,.lobby-show-less-btn,.group-create-btn,.group-create-submit-btn,.settings-delete-trigger-btn,.settings-delete-submit-btn,.settings-delete-cancel-btn,.lang-btn,.auth-submit-btn,.timer-save-btn,.qr-save-btn,.qr-skip-btn,.timer-ready-btn,.pause-resume-btn,.refresh-word-btn,.group-action-btn--delete-confirm{scroll-margin:8px}.stats-streak-badge,.timer-streak-badge,.group-activity-badge-pulse{-webkit-user-select:none;user-select:none}.stats-milestone-card{contain:layout style}.milestone-emoji{-webkit-user-select:none;user-select:none}.member-grid-item{contain:layout style;will-change:transform}.timer-conn-online,.timer-conn-offline,.timer-random-word-card,.timer-random-word-text,.timer-random-word-reading,.timer-random-word-hint,.group-activity-badge,.rank-you-badge,.month-total-badge,.lobby-char-counter,.word-char-counter,.meaning-char-counter{-webkit-user-select:none;user-select:none}.lobby-daily-stat,.timer-today-summary{contain:layout style;will-change:opacity}@media (prefers-reduced-motion:reduce){.timer-today-summary{will-change:auto}}.app-swipe-container{touch-action:pan-y}.timer-random-word-badge{-webkit-user-select:none;user-select:none;contain:layout style;will-change:transform}.settings-icon-badge,.stats-day-detail-title,.stats-day-detail-page,.stats-day-detail-count,.stats-day-detail-record{-webkit-user-select:none;user-select:none}.mini-chart-bar,.stats-day-detail{contain:layout style}.timer-streak-badge{contain:layout style;will-change:transform}@media (prefers-reduced-motion:reduce){.timer-streak-badge{will-change:auto;animation:none}}.timer-score-value-time,.timer-score-value-pages,.timer-score-value-total{contain:layout style}@media (prefers-reduced-motion:reduce){.timer-score-value-time,.timer-score-value-pages,.timer-score-value-total{will-change:auto;animation:none}}.timer-member-ready-icon[data-running]{contain:layout style}.qr-toggle-chevron{will-change:transform}.qr-preview-count{-webkit-user-select:none;user-select:none}.chart-bar{will-change:transform, filter, opacity}.pause-resume-btn{will-change:transform, filter}.start-btn{will-change:transform, filter, box-shadow}.page-input{will-change:border-color, box-shadow}.record-edit-save-btn,.record-edit-cancel-btn,.record-delete-confirm-btn,.record-delete-cancel-btn,.group-action-btn--delete-confirm{will-change:transform, filter}.lobby-refresh-btn{contain:layout style;will-change:transform, opacity, background}.lobby-show-more-btn{will-change:transform, background, box-shadow}.group-my-sort-btn{will-change:transform, background, color}.leave-cancel-btn{will-change:transform, opacity}.records-export-btn{will-change:transform, filter}.filter-clear-btn{will-change:transform, opacity}.stats-goal-input,.qr-memo-textarea{will-change:border-color, box-shadow}@media (prefers-reduced-motion:reduce){.stats-goal-input,.qr-memo-textarea{will-change:auto;transition:none}}.flashcard-add-btn{will-change:transform, color, background}.quiz-end-confirm-btn{will-change:transform, filter}.quiz-end-cancel-btn{will-change:transform, color}.toast,.page-enter{will-change:transform, opacity}@media (prefers-reduced-motion:reduce){.page-enter{will-change:auto}}.stats-compare-value{will-change:opacity}.stats-compare-value--accent,.stats-compare-value--success{will-change:opacity, transform}.words-stat-card{will-change:transform, box-shadow, opacity}.stats-milestone-card{will-change:transform, box-shadow, border-color, opacity}.timer-conn-online,.timer-conn-offline{will-change:opacity}.records-mini-stat{will-change:transform, opacity, box-shadow}:root[data-theme=light] .error-message-container{background:#ef444424;border-color:#dc26264d}:root[data-theme=light] .error-icon-box{background:#ef444433}:root[data-theme=light] .member-row[data-ready]{background:#10b9812e}:root[data-theme=light] .timer-random-word-text{text-shadow:none}:root[data-theme=light] .record-date-sessions-badge{background:#6366f129;border-color:#4f46e566}:root[data-theme=light] .group-activity-badge{background:#64748b26;border-color:#47556959}:root[data-theme=light] .group-activity-badge[data-stale=true]{background:#ef444424;border-color:#dc262659}.leave-confirm-btn,.leave-cancel-btn,.lobby-confirm-cancel-btn,.lobby-confirm-join-btn,.records-export-btn,.lobby-accordion-toggle,.word-delete-trigger-btn,.password-toggle,.start-btn,.search-clear-btn,.modal-reset-confirm-btn,.modal-reset-cancel-btn,.lobby-card-action-btn,.filter-clear-btn,.quiz-speak-btn{scroll-margin:8px}.timer-missed-words-btn{will-change:transform, filter;scroll-margin:8px}.word-delete-cancel-btn,.word-search-clear-btn,.words-load-more-btn{scroll-margin:8px}.lobby-modal-overlay{contain:layout style;will-change:opacity}.lobby-confirm-panel{will-change:opacity}.stats-day-detail,.bulk-import-cancel{will-change:transform, opacity}.qr-range-input[data-shaking=true]{will-change:transform}.stats-section-card,.stats-header-row,.stats-empty-msg,.quiz-feedback-correct,.quiz-feedback-wrong,.fc-stats-row,.quiz-controls-row{will-change:opacity}.mini-chart-bar{will-change:height, filter}.timer-score-value-time,.timer-score-value-pages,.timer-score-value-total{will-change:transform}.records-back-btn,.record-memo-toggle-btn,.records-filter-btn,.records-sort-btn{scroll-margin:8px}@media (prefers-reduced-motion:reduce){.member-grid-item{will-change:auto}}.timer-settings-icon-btn,.timer-ready-progress,.member-avatar{contain:layout style}@media (prefers-reduced-motion:reduce){.timer-group-id-row,.timer-header{will-change:auto;animation:none}.start-btn,input[type=text],input[type=number],input[type=password],textarea{will-change:auto;transition:none}}.recite-screen{flex-direction:column;min-height:100%;padding-bottom:90px;display:flex}.recite-header{z-index:5;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);align-items:center;gap:12px;padding:16px;display:flex;position:sticky;top:0}.recite-title{color:var(--text-main);flex:1;margin:0;font-size:1.15rem;font-weight:700}.recite-counter{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.9rem}.recite-body{flex-direction:column;gap:14px;padding:16px;display:flex}.recite-icon-btn{border:1px solid var(--border);background:var(--input-bg);width:38px;height:38px;color:var(--text-main);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.recite-icon-btn:hover{border-color:var(--accent)}.recite-icon-btn.danger{color:var(--danger-light)}.recite-icon-btn.danger:hover{border-color:var(--danger)}.recite-primary-btn{background:var(--accent);color:var(--text-inverse);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:.9rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.recite-primary-btn:hover{background:var(--accent-hover)}.recite-primary-btn:active{transform:scale(.97)}.recite-primary-btn:disabled{opacity:.5;cursor:not-allowed}.recite-primary-btn.wide{flex:1}.recite-add-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.recite-add-btn:hover{color:var(--accent-light);border-color:var(--accent)}.recite-field{flex-direction:column;gap:6px;display:flex}.recite-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.recite-input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:10px;padding:11px 13px;font-size:1rem}.recite-input:focus{border-color:var(--accent);outline:none}.recite-textarea{resize:vertical;font-family:inherit;line-height:1.6}.recite-edit-card{background:var(--bg-color-alt);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.recite-edit-card-head{justify-content:space-between;align-items:center;display:flex}.recite-num{background:var(--accent);min-width:24px;height:24px;color:var(--text-inverse);border-radius:6px;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.recite-set-card{background:var(--bg-color-alt);border:1px solid var(--glass-border);border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.recite-set-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.recite-set-title{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.recite-set-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:.8rem;display:flex}.recite-set-bar{background:var(--input-bg);border-radius:3px;height:5px;overflow:hidden}.recite-set-bar-fill{background:var(--gradient-success-h);height:100%;transition:width .3s}.recite-set-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.recite-progress-bar{background:var(--input-bg);height:4px}.recite-progress-fill{background:var(--gradient-accent-h);height:100%;transition:width .3s}.recite-stage-tag{background:var(--input-bg);color:var(--accent-light);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.78rem;font-weight:600}.recite-ja{color:var(--text-main);font-size:1.25rem;font-weight:700;line-height:1.5}.recite-hint{background:var(--input-bg);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:6px;min-height:1.8em;padding:12px;font-size:1.05rem;line-height:1.8;display:flex}.recite-hint .recite-shown{color:var(--text-main)}.recite-hint .recite-blank{color:var(--text-muted);letter-spacing:1px;font-family:ui-monospace,monospace}.recite-hint-memory{color:var(--text-muted);font-size:.95rem;font-style:italic}.recite-result{flex-direction:column;gap:8px;display:flex}.recite-result-words{flex-wrap:wrap;gap:6px;font-size:1.05rem;line-height:1.7;display:flex}.recite-result-words .rw-correct{color:var(--success);font-weight:600}.recite-result-words .rw-wrong{color:var(--danger-light);-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.recite-accuracy{font-weight:700}.recite-accuracy.pass{color:var(--success)}.recite-accuracy.fail{color:var(--warning)}.recite-answer{background:var(--input-bg);color:var(--text-main);border-left:3px solid var(--success);border-radius:10px;padding:10px 12px;font-size:1rem}.recite-listen-btn{border:1px solid var(--accent);color:var(--accent-light);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:7px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.recite-listen-btn:hover{background:var(--input-bg)}.recite-listen-btn:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.recite-listen-btn:active{transform:none}}.recite-actions{gap:10px;margin-top:4px;display:flex}.recite-finish{text-align:center;align-items:center;gap:12px;padding-top:40px}.recite-finish-icon{color:var(--warning-light)}.recite-finish-title{color:var(--text-main);margin:0;font-size:1.3rem;font-weight:700}.recite-finish-msg{color:var(--text-muted);margin:0}.recite-import-btn{color:var(--accent-light);border-color:var(--accent);border-style:solid}.recite-import-btn:disabled{opacity:.6;cursor:progress}.recite-spin{animation:.8s linear infinite recite-spin}@keyframes recite-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.recite-spin{animation:none}}
