.aquarium-screen{padding:16px var(--screen-gutter)48px;flex-direction:column;gap:16px;min-height:0;display:flex}.aquarium-stage{background:var(--play-lilac);width:100%;height:clamp(230px,44svh,420px);box-shadow:var(--shadow-medium);border-radius:24px;position:relative;overflow:hidden}.aquarium-canvas{width:100%;height:100%;display:block}.aquarium-canvas.can-feed{cursor:pointer}.aquarium-tap-ripple{pointer-events:none;border:2.5px solid color-mix(in srgb,var(--surface-base)80%,var(--primary-blue));background:radial-gradient(circle,color-mix(in srgb,var(--play-peach)46%,transparent)0%,color-mix(in srgb,var(--primary-blue)22%,transparent)48%,transparent 74%);width:76px;height:76px;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--play-mint)48%,transparent),inset 0 0 10px color-mix(in srgb,var(--surface-base)48%,transparent);opacity:0;will-change:transform,opacity;border-radius:50%;margin:-38px 0 0 -38px;animation:.62s ease-out forwards aquarium-tap-ripple-ring;position:absolute;transform:scale(.22)}.aquarium-tap-ripple:after{content:"";pointer-events:none;border:2px solid color-mix(in srgb,var(--surface-base)74%,var(--play-peach));background:radial-gradient(circle,color-mix(in srgb,var(--surface-base)58%,transparent)0%,color-mix(in srgb,var(--primary-yellow)24%,transparent)52%,transparent 78%);opacity:0;will-change:transform,opacity;border-radius:50%;animation:.62s ease-out forwards aquarium-tap-ripple-inner;position:absolute;inset:13px;transform:scale(.42)}@keyframes aquarium-tap-ripple-ring{0%{opacity:.92;transform:scale(.22)}38%{opacity:.72}to{opacity:0;transform:scale(1.18)}}@keyframes aquarium-tap-ripple-inner{0%{opacity:.95;transform:scale(.42)}45%{opacity:.78;transform:scale(.86)}to{opacity:0;transform:scale(1.06)}}.aquarium-skeleton{background:var(--play-lilac);position:absolute;inset:0}.aquarium-live-dot{background:var(--action-next);border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block}.aquarium-hud{border:2px solid var(--ci-border-subtle,var(--border-subtle));background:var(--ci-surface-base,var(--surface-base));box-shadow:var(--ci-elevation-md);border-radius:24px;flex-direction:column;gap:10px;padding:16px 20px;display:flex}.aquarium-hud-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.aquarium-hud-info{flex-direction:column;flex:320px;gap:12px;min-width:0;display:flex}.aquarium-status{color:var(--text-dark);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.aquarium-chip{word-break:keep-all;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:4px 12px;font-size:14px;line-height:1.2;display:inline-flex}.aquarium-chip.is-stage{background:var(--ci-surface-butter-tint,#f9e4ba);color:var(--ci-text-primary,#352456)}.aquarium-chip.is-swimming{background:var(--ci-surface-mint-tint,#e4f2e5);color:var(--ci-text-primary,#352456)}.aquarium-chip.is-food{background:var(--ci-surface-coral-tint,#fce5df);color:var(--ci-text-primary,#352456)}.aquarium-progress{flex-direction:column;gap:6px;display:flex}.aquarium-progress-copy{color:var(--ci-text-secondary,var(--text-light));word-break:keep-all;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;display:flex}.aquarium-progress-copy strong{color:var(--ci-text-primary,#352456);font-size:14px}.aquarium-progress-track{background:var(--ci-surface-cloud,#f7f0e4);border-radius:999px;width:100%;height:12px;position:relative;overflow:hidden}.aquarium-progress-fill{background:var(--ci-action-now,#f08f78);border-radius:999px;height:100%;transition:width .24s;display:block}.aquarium-actions{flex:none;justify-content:center;align-items:center;display:flex}.aquarium-feed-button{border:2px solid var(--ci-clay-coral-border);border-radius:var(--ci-radius-pill);background:var(--ci-action-now);min-height:64px;color:var(--ci-action-now-text);font-family:var(--ci-font-primary);cursor:pointer;box-shadow:var(--ci-highlight-clay),0 4px 0 var(--ci-clay-coral-shadow);word-break:keep-all;justify-content:center;align-items:center;gap:8px;padding:0 32px;font-size:20px;text-decoration:none;transition:transform .16s,box-shadow .16s;display:inline-flex}.aquarium-feed-button:active{box-shadow:0 1px 0 var(--ci-clay-coral-shadow,#d9755e);transform:translateY(3px)}.aquarium-live{min-height:0;color:var(--ci-text-primary,#352456);text-align:center;word-break:keep-all;margin:0;font-size:14px}.aquarium-live:empty{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aquarium-live.has-message{background:var(--surface-muted);border-radius:14px;padding:8px 14px}.aquarium-state-secondary{min-height:var(--touch-target-min);color:var(--text-light);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 20px;text-decoration:none;display:inline-flex}.aquarium-roster{flex-direction:column;gap:16px;display:flex}.aquarium-roster-header{flex-direction:column;gap:12px;display:flex}.aquarium-roster-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.aquarium-roster-title{color:var(--text-dark);margin:0;font-size:20px}.aquarium-roster-desc{color:var(--text-light);word-break:keep-all;margin:4px 0 0;font-size:14px;line-height:1.45}.aquarium-roster-actions{flex-wrap:wrap;gap:8px;display:flex}.aquarium-autofill-button:disabled,.aquarium-feed-button:disabled{opacity:.5;cursor:default;pointer-events:none}.aquarium-autofill-button{min-height:var(--touch-target-min);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-light);font:inherit;cursor:pointer;box-shadow:0 3px 0 var(--play-edge);word-break:keep-all;border-radius:14px;justify-content:center;align-items:center;padding:0 16px;font-size:14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex}.aquarium-autofill-button:hover{border-color:var(--play-purple);color:var(--text-dark)}.aquarium-autofill-button:active{box-shadow:0 1px 0 var(--play-edge);transform:translateY(2px)}.aquarium-filter-bar{flex-wrap:wrap;gap:8px;display:flex}.aquarium-filter-btn{min-height:var(--touch-target-min);border:1px solid var(--play-edge);background:var(--surface-base);color:var(--text-dark);font:inherit;cursor:pointer;box-shadow:0 4px 0 var(--play-edge);word-break:keep-all;border-radius:16px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:15px;transition:transform .15s,box-shadow .15s,background-color .15s;display:inline-flex}.aquarium-filter-btn[aria-pressed=true]{background:var(--ci-rainbow-mint,#b8d8ba);border-color:var(--ci-clay-mint-border,#9cc29f);color:var(--ci-text-primary,#352456);box-shadow:var(--ci-highlight-clay),0 4px 0 var(--ci-clay-mint-shadow,#94b897)}.aquarium-filter-btn[aria-pressed=true] .aquarium-live-dot{background:var(--ci-state-success,#167445)}.aquarium-filter-btn:active{box-shadow:0 1px 0 var(--play-edge);transform:translateY(3px)}.aquarium-empty-filter{border:1px dashed var(--border-subtle);background:var(--surface-muted);color:var(--text-light);text-align:center;word-break:keep-all;border-radius:18px;margin:0;padding:24px 16px;font-size:15px}.aquarium-collection{grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.aquarium-collection-cell{min-width:0;display:flex}.aquarium-collection-item{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:20px;flex-direction:column;justify-content:space-between;gap:10px;width:100%;min-height:176px;padding:12px 14px 14px;display:flex}.aquarium-card-top{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.aquarium-state-pill{white-space:nowrap;word-break:keep-all;border-radius:999px;align-items:center;gap:4px;min-height:26px;padding:2px 10px;font-size:13px;line-height:1.2;display:inline-flex}.aquarium-state-pill.is-swimming{background:var(--action-next);color:var(--action-next-text)}.aquarium-state-pill.is-resting{background:var(--play-edge);color:var(--text-light)}.aquarium-state-pill.is-locked{background:var(--play-lilac);color:var(--text-light)}.aquarium-stage-tag{color:var(--text-light);word-break:keep-all;font-size:13px}.aquarium-switch-track{background:var(--play-edge);border-radius:999px;flex:0 0 38px;align-items:center;width:38px;height:22px;padding:3px;transition:background-color .15s;display:inline-flex;position:relative}.aquarium-switch-track.is-on{background:var(--action-next)}.aquarium-switch-thumb{background:var(--surface-base);width:16px;height:16px;box-shadow:var(--shadow-small);border-radius:50%;transition:transform .15s;transform:translate(0)}.aquarium-switch-track.is-on .aquarium-switch-thumb{transform:translate(16px)}.aquarium-fish-preview{background:var(--play-mint);border-radius:14px;justify-content:center;align-items:center;width:100%;height:84px;padding:6px 10px;display:flex;position:relative;overflow:hidden}.aquarium-fish-thumb{object-fit:contain;width:100%;max-width:128px;height:100%;transition:transform .16s,filter .16s,opacity .16s}.aquarium-school-tag{background:var(--surface-elevated);color:var(--action-next);border-radius:999px;padding:2px 8px;font-size:13px;line-height:1.2;position:absolute;bottom:6px;right:8px}.aquarium-card-body{flex-direction:column;gap:4px;width:100%;display:flex}.aquarium-collection-item b{color:var(--text-dark);word-break:keep-all;font-size:17px;line-height:1.25}.aquarium-collection-item small{color:var(--text-light);word-break:keep-all;font-size:13px;line-height:1.35}.aquarium-collection-item.is-toggle{text-align:left;font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s,background-color .15s}.aquarium-collection-item.is-swimming{background:var(--surface-base);border:2px solid var(--primary-green-deep);box-shadow:0 5px 0 var(--play-mint)}.aquarium-collection-item.is-swimming small{color:var(--primary-green-deep)}.aquarium-collection-item.is-swimming:hover{box-shadow:0 7px 0 var(--play-mint);transform:translateY(-2px)}.aquarium-collection-item.is-swimming:active{box-shadow:0 2px 0 var(--play-mint);transform:translateY(3px)}.aquarium-collection-item.is-resting{background:var(--surface-muted);border:1.5px dashed var(--border-subtle);box-shadow:none}.aquarium-collection-item.is-resting .aquarium-fish-preview{background:var(--play-paper)}.aquarium-collection-item.is-resting .aquarium-fish-thumb{filter:grayscale(.88);opacity:.42}.aquarium-collection-item.is-resting .aquarium-school-tag{color:var(--text-light);opacity:.75}.aquarium-collection-item.is-resting b{color:var(--text-light)}.aquarium-collection-item.is-resting:hover{border-color:var(--play-purple);background:var(--surface-base)}.aquarium-collection-item.is-resting:hover .aquarium-fish-thumb{filter:grayscale(.35);opacity:.78}.aquarium-collection-item.is-resting:active{transform:translateY(2px)}.aquarium-collection-item.is-locked{background:var(--surface-muted);border:1px solid var(--border-subtle);box-shadow:none}.aquarium-collection-item.is-locked .aquarium-fish-preview{background:var(--play-paper)}.aquarium-collection-item.is-locked .aquarium-fish-thumb{filter:brightness(0);opacity:.14}.aquarium-collection-item.is-locked b{color:var(--text-light)}.aquarium-state-screen{justify-content:center;align-items:center}.aquarium-state-card{background:var(--play-paper);max-width:420px;box-shadow:var(--shadow-medium);text-align:center;word-break:keep-all;border-radius:24px;padding:28px}.aquarium-state-eyebrow{color:var(--text-light);margin:0 0 8px;font-size:13px}.aquarium-state-actions{flex-direction:column;align-items:center;gap:12px;margin-top:20px;display:flex}.content:has(>.aquarium-tank-screen){padding-block:var(--screen-gutter)calc(var(--screen-gutter) + env(safe-area-inset-bottom,0px));overscroll-behavior:none;overflow-y:auto}.content:has(>.aquarium-tank-screen)>.aquarium-tank-screen{flex:1 0 auto;gap:0;min-height:0;padding:0}.content>.section.aquarium-tank-screen{max-width:none}.aquarium-tank-screen .aquarium-stage{flex:auto;height:auto;min-height:240px}.aquarium-tank-screen .aquarium-stage>.aquarium-canvas,.aquarium-tank-screen .aquarium-stage>.aquarium-still{width:100%;height:100%;position:absolute;inset:0}.aquarium-tank-screen .aquarium-hud{z-index:2;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.aquarium-hud-top{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.aquarium-hud-top .aquarium-status{flex:auto;min-width:0}.aquarium-hud-top .aquarium-chip{min-height:30px;box-shadow:var(--shadow-small);padding:4px 12px;font-size:13px}.aquarium-hud-actions{pointer-events:auto;flex:none;gap:8px;display:flex}.aquarium-roster-trigger,.aquarium-sound-toggle{border:2px solid var(--ci-border-strong,#dccfbe);background:color-mix(in srgb,var(--ci-surface-base,#fffdf9)90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:48px;color:var(--ci-text-primary,#352456);font:inherit;cursor:pointer;box-shadow:var(--ci-elevation-sm);pointer-events:auto;touch-action:manipulation;word-break:keep-all;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:16px;transition:transform .15s,box-shadow .15s;display:inline-flex}.aquarium-roster-trigger:active,.aquarium-sound-toggle:active{transform:translateY(2px)}.aquarium-roster-trigger:focus-visible,.aquarium-sound-toggle:focus-visible,.aquarium-tank-screen .aquarium-feed-button:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.aquarium-roster-trigger-icon{flex:0 0 20px;width:20px;height:20px}.aquarium-hud-panel{border:1px solid color-mix(in srgb,var(--play-edge)80%,transparent);background:color-mix(in srgb,var(--surface-base)84%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(640px,100%);box-shadow:var(--shadow-medium);pointer-events:auto;border-radius:22px;flex-direction:column;align-self:center;gap:8px;padding:12px 14px 12px 18px;display:flex}.aquarium-hud-panel .aquarium-hud-main{flex-wrap:nowrap;gap:14px}.aquarium-hud-panel .aquarium-hud-info{flex-direction:row;flex:auto;align-items:center;gap:12px}.aquarium-hud-panel .aquarium-chip.is-food{flex:none;min-height:30px;font-size:13px}.aquarium-hud-panel .aquarium-progress{flex:auto;min-width:0}.aquarium-hud-panel .aquarium-progress-copy,.aquarium-hud-panel .aquarium-progress-copy strong{font-size:13px}.aquarium-hud-panel .aquarium-progress-track{height:10px}.aquarium-tank-screen .aquarium-feed-button{min-height:56px;padding:0 28px;font-size:18px}.aquarium-hud-panel .aquarium-live.has-message{padding:6px 12px;font-size:13px}.aquarium-drawer-backdrop{z-index:10010;background:#35245659;animation:.2s ease-out aquarium-drawer-fade;position:fixed;inset:0}.aquarium-drawer{z-index:10020;box-sizing:border-box;width:min(420px,92vw);padding:max(14px,env(safe-area-inset-top,0px))max(14px,env(safe-area-inset-right,0px))max(14px,env(safe-area-inset-bottom,0px))18px;border-left:1px solid var(--play-edge);background:var(--surface-base);color:var(--text-dark);box-shadow:-8px 0 36px color-mix(in srgb,var(--ci-ref-cloud-shadow)18%,transparent);border-radius:24px 0 0 24px;flex-direction:column;gap:12px;animation:.26s cubic-bezier(.2,.8,.2,1) aquarium-drawer-in;display:flex;position:fixed;top:0;bottom:0;right:0}.aquarium-drawer:focus{outline:none}@keyframes aquarium-drawer-in{0%{transform:translate(100%)}to{transform:none}}@keyframes aquarium-drawer-fade{0%{opacity:0}to{opacity:1}}.aquarium-drawer-header{align-items:center;gap:10px;min-width:0;display:flex}.aquarium-drawer-icon{background:var(--ci-surface-butter-tint,#f9e4ba);width:40px;height:40px;color:var(--ci-text-primary,#352456);border-radius:14px;flex:0 0 40px;place-items:center;display:inline-grid}.aquarium-drawer-icon .system-icon{width:22px;height:22px}.aquarium-drawer-title{flex:auto;min-width:0}.aquarium-drawer-close{border:2px solid var(--ci-border-strong,#dccfbe);background:var(--ci-surface-cloud,#f7f0e4);width:48px;height:48px;color:var(--ci-text-primary,#352456);font:inherit;cursor:pointer;border-radius:50%;flex:none;font-size:26px;line-height:1}.aquarium-drawer-body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:2px 4px 8px 0;display:flex;overflow-y:auto}.aquarium-drawer .aquarium-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.aquarium-drawer .aquarium-filter-btn{padding:0 10px;font-size:14px}.aquarium-drawer .aquarium-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.aquarium-drawer-live:not(:empty){margin:0}.aquarium-still{background:var(--play-mint);width:100%;height:100%;position:relative}.aquarium-still-fish{flex-direction:column;align-items:center;gap:2px;width:18%;max-width:120px;display:flex;position:absolute}.aquarium-still-thumb{object-fit:contain;width:100%;height:56px}.aquarium-still-name{background:var(--surface-elevated);color:var(--text-dark);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:13px}.aquarium-still-slot-0{top:16%;left:6%}.aquarium-still-slot-1{top:10%;left:30%}.aquarium-still-slot-2{top:20%;left:56%}.aquarium-still-slot-3{top:12%;left:77%}.aquarium-still-slot-4{top:54%;left:12%}.aquarium-still-slot-5{top:60%;left:37%}.aquarium-still-slot-6{top:52%;left:60%}.aquarium-still-slot-7{top:60%;left:79%}@media (max-width:699px){.aquarium-screen{padding:12px var(--screen-gutter)36px;gap:14px}.aquarium-stage{border-radius:20px;height:clamp(200px,36svh,290px)}.aquarium-tank-screen .aquarium-stage{height:auto}.aquarium-tank-screen .aquarium-hud{gap:10px;padding:12px}.aquarium-hud-top .aquarium-chip{min-height:28px;padding:3px 10px}.aquarium-roster-trigger,.aquarium-sound-toggle{min-height:44px;padding:0 12px;font-size:15px}.aquarium-hud-panel{border-radius:20px;width:100%;padding:12px}.aquarium-hud-panel .aquarium-hud-main{flex-direction:column;align-items:stretch;gap:10px}.aquarium-hud-panel .aquarium-hud-info{flex-wrap:wrap;gap:8px 10px}.aquarium-hud-panel .aquarium-progress{flex:160px}.aquarium-drawer{width:min(440px,92vw);padding-right:max(12px,env(safe-area-inset-right,0px));border-radius:20px 0 0 20px;padding-left:12px}.aquarium-drawer-body{padding-right:0}.aquarium-drawer .aquarium-collection{gap:8px}.aquarium-drawer .aquarium-collection-item{padding:10px 8px 12px}.aquarium-drawer .aquarium-card-top{gap:4px}.aquarium-drawer .aquarium-state-pill{gap:2px;padding:2px 6px;font-size:12px}.aquarium-hud{border-radius:20px;padding:14px}.aquarium-hud-main{flex-direction:column;align-items:stretch}.aquarium-hud-info{flex:none}.aquarium-actions,.aquarium-feed-button{width:100%}.aquarium-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.aquarium-filter-btn{padding:0 10px;font-size:14px}.aquarium-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.aquarium-collection-item{border-radius:18px;min-height:164px;padding:10px 10px 12px}.aquarium-card-top{gap:4px}.aquarium-state-pill{gap:3px;padding:2px 7px}.aquarium-switch-track{flex:0 0 30px;width:30px;height:18px;padding:2px}.aquarium-switch-thumb{width:14px;height:14px}.aquarium-switch-track.is-on .aquarium-switch-thumb{transform:translate(12px)}.aquarium-fish-preview{height:70px}.aquarium-collection-item b{font-size:16px}.aquarium-collection-item small{font-size:13px}}@media (prefers-reduced-motion:reduce){.aquarium-feed-button,.aquarium-progress-fill,.aquarium-autofill-button,.aquarium-filter-btn,.aquarium-collection-item.is-toggle,.aquarium-fish-thumb,.aquarium-switch-track,.aquarium-switch-thumb{transition:none}.aquarium-feed-button:active,.aquarium-autofill-button:active,.aquarium-filter-btn:active,.aquarium-collection-item.is-swimming:hover,.aquarium-collection-item.is-swimming:active,.aquarium-collection-item.is-resting:active{transform:none}.aquarium-tap-ripple,.aquarium-tap-ripple:after{animation:none;display:none}.aquarium-drawer,.aquarium-drawer-backdrop{animation:none}.aquarium-roster-trigger{transition:none}.aquarium-roster-trigger:active{transform:none}}
.praise-section,.praise-pin-dialog{--praise-accent:var(--ci-text-primary);--praise-accent-soft:var(--ci-state-selected-bg);--praise-accent-line:var(--ci-state-selected-border);--praise-paper-border:#e9dfc8;--praise-rule:#e4dac7;--praise-cell:#fffcf4;--praise-cell-border:#d5cdbb;--praise-cell-empty:#c4bcaa;--praise-panel:var(--ci-bg-canvas);--praise-panel-border:var(--ci-border-subtle);--praise-sun:#b8365a;--praise-sat:#2f6ea8}.content:has(>.praise-section){padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}.praise-section{--praise-ink:var(--text-dark);width:100%;max-width:1120px;color:var(--praise-ink);flex-direction:column;flex:1 1 0;margin-inline:auto;padding:16px 0 12px;display:flex}.praise-section>.praise-heading,.praise-month-nav,.praise-notice,.praise-error{flex:none}.praise-pin-dialog input,.praise-section textarea{font:inherit}.praise-section button,.praise-pin-dialog button{font-family:var(--ci-font-primary);cursor:pointer;min-height:44px}.praise-section button:disabled,.praise-pin-dialog button:disabled{cursor:default;opacity:.45}.praise-section .praise-primary:disabled,.praise-pin-dialog .praise-primary:disabled,.praise-section .praise-this-month:disabled{opacity:1;background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border-subtle)}.praise-section button:focus-visible,.praise-pin-dialog button:focus-visible,.praise-section textarea:focus-visible,.praise-pin-dialog input:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.praise-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.praise-eyebrow{color:var(--text-muted);margin:0 0 8px;font-size:14px}.praise-heading h2{letter-spacing:-.02em;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,3vw,32px)}.praise-parent-actions button{background:var(--surface-base);border:1px solid var(--border-subtle);color:var(--text-dark);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:inline-flex}.praise-section .praise-parent-button{background:var(--praise-accent-soft);border:2px solid var(--praise-accent-line);color:var(--praise-accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;display:inline-flex}.praise-parent-button .system-icon{width:20px;height:20px}.praise-parent-button .praise-parent-visual{--navigation-visual-size:26px;flex-shrink:0}.praise-parent-actions{flex-wrap:wrap;gap:8px;display:flex}.praise-month-nav{align-items:center;gap:12px;margin:0 0 12px;display:flex}.praise-month-nav button{border:1px solid var(--border-subtle);background:var(--surface-base);width:44px;color:var(--text-dark);border-radius:50%;font-size:26px}.praise-month-nav h3{text-align:center;min-width:150px;margin:0;font-size:24px}.praise-month-nav .praise-this-month{border-radius:999px;width:auto;margin-left:4px;padding:0 16px;font-size:14px}.praise-board-toolbar{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px 20px;margin-bottom:12px;display:flex}.praise-board-toolbar .praise-month-nav{margin-bottom:0}.praise-download{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.praise-download-hint{color:var(--text-muted);font-size:13px}.praise-download-buttons{gap:8px;display:flex}.praise-download-buttons button{border:1px solid var(--praise-accent-line);border-radius:var(--ci-radius-xs);background:var(--surface-base);color:var(--praise-accent);padding:0 14px;font-size:14px}.praise-download-buttons button:hover:enabled{background:var(--praise-accent-soft)}.praise-download-error{max-width:360px;color:var(--danger-text);flex-basis:100%;margin:0;font-size:13px}@media (max-width:600px){.praise-board-toolbar{gap:8px;margin-bottom:8px}.praise-download{justify-content:space-between;gap:4px;width:100%}.praise-download-buttons{gap:6px}.praise-download-buttons button{padding-inline:10px;font-size:13px}.praise-download-hint{font-size:12px}}@media (max-width:360px){.praise-board-toolbar .praise-month-nav{gap:6px}.praise-board-toolbar .praise-month-nav h3{min-width:112px;font-size:19px}.praise-board-toolbar .praise-this-month{margin-left:0;padding-inline:10px}}.praise-album-layout{flex:1 1 0;grid-template-columns:minmax(0,1fr) 288px;grid-auto-rows:1fr;align-items:stretch;gap:24px;display:grid}.praise-album{background:var(--surface-base);border:1px solid var(--praise-paper-border);min-width:0;box-shadow:var(--shadow-small);border-radius:24px;flex-direction:column;padding:16px;display:flex}.praise-album-summary{flex:none;align-items:center;gap:12px;margin-bottom:12px;display:flex}.praise-album-summary.is-pending>*{visibility:hidden}.praise-album-count{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.praise-album-count span{color:var(--text-muted);font-size:15px}.praise-album-count strong{color:var(--praise-accent);font-size:28px;line-height:1}.praise-album-count strong small{margin-left:4px;font-size:15px}.praise-album-progress{color:var(--text-muted);white-space:nowrap;flex:none;font-size:13px}.praise-album-progress b{color:var(--praise-accent)}.praise-progress-track{background:var(--praise-rule);border-radius:999px;flex:auto;min-width:40px;height:8px;overflow:hidden}.praise-progress-fill{background:var(--ci-state-selected-bg);border-radius:999px;height:100%;transition:width .25s;display:block}.praise-album-caption{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.praise-weekday-row,.praise-date-grid{--praise-row-min:46px;--praise-grid-gap:8px;gap:var(--praise-grid-gap);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.praise-weekday-row{flex:none;margin-bottom:8px}.praise-date-grid{min-height:calc(var(--praise-rows,6)*var(--praise-row-min) + (var(--praise-rows,6) - 1)*var(--praise-grid-gap));flex:1 1 0;grid-auto-rows:minmax(0,1fr)}.praise-weekday{text-align:center;color:var(--text-muted);font-size:13px}.praise-weekday.praise-sun{color:var(--praise-sun)}.praise-weekday.praise-sat{color:var(--praise-sat)}.praise-date-blank{display:block}.praise-section .praise-date{border:1px dashed var(--praise-cell-border);border-radius:var(--ci-radius-sm);background:var(--praise-cell);min-width:0;min-height:44px;color:var(--text-muted);flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:6px 4px;display:flex;position:relative;overflow:hidden}.praise-stamp,.praise-stamp-empty,.praise-today-mark{margin:auto}.praise-date-number{color:var(--text-dark);align-self:flex-start;margin-left:4px;font-size:13px}.praise-date.praise-sun .praise-date-number{color:var(--praise-sun)}.praise-date.praise-sat .praise-date-number{color:var(--praise-sat)}.praise-stamp{aspect-ratio:1;border-radius:50%;flex:0 40px;place-items:center;width:auto;min-height:0;display:inline-grid}.praise-stamp .system-icon{width:65%;height:65%}.praise-stamp-empty{aspect-ratio:1;flex:0 40px;place-items:center;width:auto;min-height:0;display:inline-grid}.praise-stamp-empty:before{content:"";border:2px dashed var(--praise-cell-empty);border-radius:50%;width:50%;height:50%}.praise-today-mark{min-height:0;color:var(--praise-accent);flex:0 auto;place-items:center;padding-bottom:2px;font-size:13px;display:inline-grid}.praise-sparkle{--stamp-bg:#ffe9a0;--stamp-deep:#f7cf55;--stamp-ink:#7a4f06;--stamp-border:#edc44a;--stamp-tilt:-8deg}.praise-seedling{--stamp-bg:#d9f2d1;--stamp-deep:#94cf85;--stamp-ink:#2f6238;--stamp-border:#8ccb82;--stamp-tilt:5deg}.praise-trophy{--stamp-bg:var(--ci-surface-cloud);--stamp-deep:var(--ci-rainbow-sage);--stamp-ink:var(--ci-text-primary);--stamp-border:var(--ci-border-warm);--stamp-tilt:-4deg}.praise-date-filled .praise-stamp,.praise-choices .praise-stamp,.praise-seal{border:var(--stamp-rim,3px)solid var(--surface-base);background:linear-gradient(166deg,var(--stamp-bg)10%,var(--stamp-deep)98%);color:var(--stamp-ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--stamp-border)75%,transparent),0 3px 7px -2px color-mix(in srgb,var(--stamp-deep)80%,transparent);transform:rotate(var(--stamp-tilt,-8deg));background-clip:padding-box;border-radius:50%;transition:transform .18s;position:relative;overflow:hidden}.praise-date-filled .praise-stamp:after,.praise-choices .praise-stamp:after,.praise-seal:after{content:"";filter:blur(1.5px);pointer-events:none;background:#fff9;border-radius:50%;height:28%;position:absolute;inset:7% 20% auto}.praise-date-filled .praise-stamp .system-icon,.praise-choices .praise-stamp .system-icon,.praise-seal .system-icon{stroke-width:2.3px;filter:drop-shadow(0 1px #ffffff8c)}.praise-section .praise-date-filled{background:color-mix(in srgb,var(--stamp-bg)16%,white);border-style:solid;border-color:color-mix(in srgb,var(--stamp-border)70%,white)}.praise-section .praise-date-today{border:2px solid var(--ci-state-selected-border);background:var(--praise-accent-soft);padding:7px 3px}.praise-section .praise-date-today .praise-date-number{color:var(--praise-accent)}.praise-section .praise-date[aria-pressed=true]{outline:3px solid var(--ci-state-selected-border);outline-offset:2px;background:var(--ci-state-selected-bg);color:var(--ci-state-selected-text)}.praise-date-count{background:var(--surface-base);border:1px solid var(--praise-cell-border);color:var(--text-dark);border-radius:var(--ci-radius-xs);padding:0 4px;font-size:13px;position:absolute;bottom:4px;right:4px}.praise-day-detail{background:var(--praise-panel);border:1px solid var(--praise-panel-border);border-radius:var(--ci-radius-lg);flex-direction:column;min-width:0;min-height:0;padding:20px;display:flex}.praise-day-detail h3{flex:none;margin:0 0 16px;font-size:22px}.praise-day-detail>.praise-eyebrow{flex:none}.praise-day-empty{text-align:center;flex-direction:column;flex:auto;justify-content:center;min-height:0;padding:8px 0 16px;display:flex;overflow-y:auto}.praise-day-empty>.system-icon{box-sizing:border-box;background:var(--surface-base);width:56px;height:56px;color:var(--praise-accent);box-shadow:var(--shadow-small);border-radius:50%;flex:none;margin:0 auto 12px;padding:14px}.praise-day-empty p{margin:8px 0;font-size:17px}.praise-day-empty>span{color:var(--text-muted);font-size:14px;line-height:1.6}.praise-total-note{border-top:1px solid var(--praise-panel-border);color:var(--text-muted);flex:none;justify-content:space-between;gap:8px;margin:0;padding-top:16px;font-size:13px;display:flex}.praise-total-note strong{color:var(--praise-accent)}.praise-daily-list{flex:auto;align-content:start;gap:12px;min-height:0;margin-bottom:16px;display:grid;overflow-y:auto}.praise-message-card{border-radius:var(--ci-radius-md);text-align:center;background:color-mix(in srgb,var(--stamp-bg)14%,var(--surface-base));border:1px solid color-mix(in srgb,var(--stamp-border)62%,transparent);padding:20px 16px}.praise-seal{--stamp-rim:4px;place-items:center;width:56px;height:56px;margin:0 auto 16px;display:grid}.praise-seal .system-icon{width:32px;height:32px}.praise-message-card>strong{font-size:17px}.praise-message-card p{word-break:keep-all;overflow-wrap:anywhere;font-size:16px;line-height:1.6}.praise-message-card small,.praise-signature{color:var(--text-muted);overflow-wrap:anywhere;font-size:13px;line-height:1.6;display:block}.praise-signature{margin-top:12px}.praise-notice,.praise-error{border-radius:var(--ci-radius-sm);word-break:keep-all;overflow-wrap:anywhere;padding:12px 16px;font-size:14px;line-height:1.5}.praise-notice{background:var(--ci-state-selected-bg);color:var(--ci-state-selected-text)}.praise-error{background:color-mix(in srgb,var(--danger-surface)8%,var(--surface-base));border:1px solid color-mix(in srgb,var(--danger-surface)30%,var(--surface-base));color:var(--danger-text)}.praise-review{overscroll-behavior:contain;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--ci-radius-lg);flex-direction:column;flex:1 1 0;width:100%;max-width:1000px;min-height:0;margin-inline:auto;padding:24px;display:flex;overflow-y:auto}.praise-review header{flex:none;margin-bottom:16px}.praise-review h3{margin:0 0 4px;font-size:24px}.praise-review header>p:last-child{color:var(--text-muted);margin:0;font-size:14px}.praise-review fieldset{border:0;flex:auto;min-width:0;min-height:0;padding:0}.praise-review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px;height:100%;display:grid}.praise-review-col{flex-direction:column;min-width:0;min-height:0;display:flex}.praise-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.praise-review h4,.praise-field-title{flex:none;margin:0 0 8px;font-size:17px;display:block}.praise-review-col>.praise-field-title~.praise-field-title{margin-top:16px}.praise-activities{overscroll-behavior:contain;flex:auto;align-content:start;gap:8px;min-height:88px;display:grid;overflow-y:auto}.praise-activities label{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px;font-size:15px;display:flex}.praise-activities label.selected{border-color:var(--praise-accent);background:var(--praise-accent-soft)}.praise-activities small{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.praise-check{flex:none;align-items:center;gap:8px;min-height:48px;margin-top:8px;font-size:14px;display:flex}.praise-review input[type=checkbox],.praise-review input[type=radio]{width:22px;height:22px;accent-color:var(--praise-accent);flex-shrink:0;min-block-size:22px;min-inline-size:22px}.praise-choices{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.praise-choices button{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-sm);background:var(--surface-base);color:var(--text-dark);flex-direction:column;align-items:center;gap:8px;padding:12px 8px;font-size:14px;display:flex}.praise-choices .praise-stamp{flex:0 0 40px}.praise-choices button[aria-pressed=true]{border:2px solid var(--praise-accent);background:var(--praise-accent-soft);padding:11px 7px}.praise-choices button[aria-pressed=true] .praise-stamp{transform:rotate(var(--stamp-tilt,-8deg))scale(1.08)}.praise-choices button:hover .praise-stamp{transform:rotate(var(--stamp-tilt,-8deg))scale(1.04)}.praise-message-presets{flex-wrap:wrap;flex:none;gap:8px;margin-bottom:8px;display:flex}.praise-message-presets button{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-xs);background:var(--surface-muted);color:var(--text-dark);padding:8px 12px;font-size:13px}.praise-section textarea{resize:none;border:1px solid var(--border-subtle);border-radius:var(--ci-radius-sm);width:100%;min-height:72px;color:var(--text-dark);background:var(--surface-base);flex:auto;padding:12px}.praise-character-count{text-align:right;color:var(--text-muted);flex:none;margin-top:4px;font-size:13px;display:block}.praise-primary{background:var(--ci-action-now);color:var(--ci-action-now-text);border-radius:var(--ci-radius-sm);border:0;padding:16px 20px}.praise-issue{z-index:1;width:100%;box-shadow:0 0 0 10px var(--surface-base),0 18px 0 10px var(--surface-base);flex:none;margin-top:12px;position:sticky;bottom:0}.praise-review-empty{text-align:center;padding:32px 0}.praise-review-empty>.system-icon{width:56px;height:56px;color:var(--ci-state-success-text)}.praise-review-empty p{color:var(--text-muted);font-size:14px;line-height:1.7}.praise-pin-backdrop{z-index:1300;-webkit-backdrop-filter:blur(4px);background:#35245694;place-items:center;display:grid;inset:0}.praise-pin-dialog{border-radius:var(--ci-radius-lg);background:var(--surface-base);width:min(100%,400px);box-shadow:var(--shadow-large);text-align:center;color:var(--text-dark);padding:32px 28px;position:relative;overflow-y:auto}.praise-pin-mark{border-radius:var(--ci-radius-md);background:var(--praise-accent-soft);width:56px;height:56px;color:var(--praise-accent);place-items:center;margin-bottom:16px;display:inline-grid}.praise-pin-mark .system-icon{width:28px;height:28px}.praise-pin-dialog h2{word-break:keep-all;margin:0 0 12px;font-size:22px}.praise-pin-dialog>p{color:var(--text-muted);word-break:keep-all;margin-bottom:24px;font-size:14px;line-height:1.6}.praise-pin-dialog form{gap:12px;display:grid}.praise-pin-dialog label{color:var(--text-muted);text-align:left;font-size:14px}.praise-pin-dialog input{text-align:center;letter-spacing:16px;border:2px solid var(--praise-accent-line);width:100%;min-height:64px;color:var(--text-dark);background:var(--ci-surface-base);border-radius:14px;padding-left:16px;font-size:28px}.praise-pin-progress{justify-content:center;gap:12px;margin-top:-4px;display:flex}.praise-pin-progress span{border:2px solid var(--praise-accent-line);border-radius:50%;width:12px;height:12px}.praise-pin-progress span.is-filled{background:var(--praise-accent);border-color:var(--praise-accent)}.praise-pin-dialog .praise-error{margin:0}.praise-section>.content-skeleton,.praise-section>.section-state{flex:auto;min-height:0}.praise-section>.content-skeleton .skeleton-content{flex-direction:column;height:100%;display:flex}.praise-section>.content-skeleton .skeleton-album-layout{flex:auto;align-items:stretch;min-height:0}.praise-section>.content-skeleton .skeleton-panel{flex-direction:column;min-height:0;display:flex}.praise-section>.content-skeleton .skeleton-date-grid{flex:auto;grid-auto-rows:minmax(46px,1fr);min-height:0}.praise-section>.content-skeleton .skeleton-date{height:auto}@media (max-width:899px){.praise-album-layout{grid-template-columns:minmax(0,1fr) 248px;gap:16px}.praise-heading{flex-wrap:wrap;gap:12px}}@media (max-width:699px){.praise-album-layout{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);gap:12px}.praise-weekday-row,.praise-date-grid{--praise-row-min:45px}.praise-day-detail{border-radius:var(--ci-radius-md);padding:8px 12px}.praise-day-detail h3{margin-bottom:4px;font-size:19px}.praise-day-detail>.praise-eyebrow{margin-bottom:4px}.praise-day-empty{padding:0}.praise-day-empty>.system-icon{width:36px;height:36px;margin-bottom:4px;padding:8px}.praise-day-empty p{margin:0 0 4px;font-size:16px}.praise-day-empty>span{font-size:13px;line-height:1.5}.praise-total-note{padding-top:8px}.praise-daily-list{max-height:168px;margin-bottom:8px}.praise-review-grid{grid-template-columns:minmax(0,1fr);height:auto}.praise-review-col{min-height:0}.praise-activities{max-height:200px}.praise-section textarea{flex:none;min-height:72px}}@media (max-width:600px){.praise-section{padding:8px 0}.praise-heading{margin-bottom:4px}.praise-heading .praise-eyebrow{display:none}.praise-heading h2{font-size:22px}.praise-heading .praise-parent-button{margin-left:auto;padding:12px 16px;font-size:14px}.praise-month-nav{gap:8px;margin-bottom:4px}.praise-month-nav h3{min-width:126px;font-size:20px}.praise-album-summary{gap:8px;margin-bottom:4px}.praise-album-count{gap:6px}.praise-album-count span{font-size:13px}.praise-album-count strong{font-size:22px}.praise-album{border-radius:var(--ci-radius-md);padding:8px}.praise-weekday-row,.praise-date-grid{--praise-row-min:45px;--praise-grid-gap:4px}.praise-section .praise-date{border-radius:var(--ci-radius-xs);gap:2px;padding:4px 2px}.praise-section .praise-date-today{padding:3px 1px}.praise-date-number{margin-left:2px}.praise-date .praise-stamp{--stamp-rim:2px;flex-basis:30px}.praise-date .praise-stamp-empty{display:none}.praise-date-count{bottom:2px;right:2px}.praise-daily-list{grid-template-columns:minmax(0,1fr)}.praise-review{padding:20px 16px}.praise-review h3{font-size:23px}.praise-choices{gap:8px}.praise-choices button{padding:12px 4px;font-size:13px}.praise-choices button[aria-pressed=true]{padding:11px 3px}.praise-parent-actions{gap:8px}.praise-parent-actions button{padding-inline:12px;font-size:13px}.praise-pin-dialog{padding:28px 20px}}@media (max-height:700px){.praise-section{padding-top:8px}.praise-heading{margin-bottom:8px}.praise-heading .praise-eyebrow{display:none}.praise-heading h2{font-size:22px}.praise-month-nav{margin-bottom:8px}.praise-month-nav h3{font-size:21px}.praise-album-summary{margin-bottom:8px}.praise-album{padding:12px}.praise-album-count strong{font-size:24px}.praise-day-detail{padding:16px}.praise-day-detail h3{margin-bottom:8px;font-size:19px}.praise-day-empty>.system-icon{width:44px;height:44px;padding:11px}}@media (min-width:700px){.praise-day-detail{contain:size}}@media (max-height:820px){.praise-review{padding:16px}.praise-review header{margin-bottom:8px}.praise-review header .praise-eyebrow{display:none}.praise-review h3{font-size:20px}.praise-review h4,.praise-field-title{margin-bottom:4px}.praise-review-col>.praise-field-title~.praise-field-title{margin-top:8px}.praise-choices{gap:8px}.praise-choices button{gap:6px;padding:8px 6px}.praise-choices button[aria-pressed=true]{padding:7px 5px}.praise-choices .praise-stamp{flex-basis:32px}.praise-message-presets{gap:6px;margin-bottom:4px}.praise-message-presets button{padding:6px 10px}.praise-section textarea{min-height:56px}.praise-check{min-height:44px;margin-top:4px}.praise-issue{margin-top:8px;padding:12px 20px}}@media (prefers-reduced-motion:reduce){.praise-section *,.praise-pin-dialog *{scroll-behavior:auto}.praise-progress-fill,.praise-stamp{transition:none}}
.ranking-section{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;width:100%;padding:20px 0 32px;display:grid}.ranking-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.ranking-eyebrow{color:var(--text-muted);margin:0 0 6px;font-size:13px}.ranking-header h2{color:var(--text-dark);margin:0;font-size:clamp(24px,3vw,32px)}.ranking-description{color:var(--text-muted);margin:8px 0 0;font-size:15px}.ranking-week-tabs{border:1px solid var(--border-subtle);background:var(--surface-muted);border-radius:16px;gap:4px;padding:4px;display:flex}.ranking-week-tab{min-height:44px;color:var(--text-muted);font:16px var(--font-jua),sans-serif;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:8px 20px;transition:background .2s}.ranking-week-tab.active{border-color:var(--border-subtle);background:var(--surface-base);color:var(--text-dark);box-shadow:var(--shadow-small)}.ranking-week-tab:hover:not(:disabled){background:color-mix(in srgb,var(--primary-yellow)20%,var(--surface-base))}.ranking-week-tab:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.ranking-week-tab:disabled{cursor:wait}.ranking-overview,.ranking-list,.ranking-legend{border:1px solid var(--border-subtle);background:var(--surface-base);min-width:0;box-shadow:var(--shadow-small);border-radius:24px}.ranking-overview{background:linear-gradient(160deg,color-mix(in srgb,var(--primary-yellow)14%,var(--surface-base)),var(--surface-base)65%);align-self:start;padding:20px}.ranking-my-rank{border:1px solid color-mix(in srgb,var(--primary-yellow)60%,var(--border-subtle));background:var(--surface-base);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.ranking-my-rank-label{color:var(--text-muted);font-size:15px}.ranking-my-rank-value{color:var(--text-dark);font-size:28px}.ranking-my-rank-score{color:var(--text-dark);margin-left:auto;font-size:20px}.ranking-podium-title{color:var(--text-dark);justify-content:center;align-items:center;gap:8px;margin:24px 0 16px;font-size:17px;display:flex}.ranking-section .system-icon{flex-shrink:0;width:20px;height:20px}.ranking-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;max-width:480px;margin:0 auto;display:grid}.ranking-podium.podium-1{grid-template-columns:minmax(0,1fr);max-width:160px}.ranking-podium.podium-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:320px}.ranking-podium-item{grid-template-rows:24px 64px 24px 28px 24px 48px;place-items:center;gap:6px;min-width:0;display:grid}.ranking-podium-medal{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;grid-row:1;padding:3px 10px;font-size:14px}.rank-1 .ranking-podium-medal{background:var(--primary-yellow);color:var(--text-dark)}.ranking-podium-avatar,.ranking-list-avatar{border:2px solid var(--border-subtle);background:var(--surface-muted);border-radius:50%;place-items:center;display:grid;overflow:hidden}.ranking-podium-avatar{grid-row:2;width:56px;height:56px}.rank-1 .ranking-podium-avatar{border-color:var(--primary-yellow);width:64px;height:64px}.ranking-avatar-emoji{font-size:32px}.ranking-podium-name{text-overflow:ellipsis;white-space:nowrap;grid-row:3;max-width:100%;font-size:16px;overflow:hidden}.ranking-podium-score{color:var(--text-dark);grid-row:4;font-size:20px}.rank-1 .ranking-podium-score{font-size:24px}.ranking-age-badge,.ranking-age-badge-small{background:color-mix(in srgb,var(--primary-purple)14%,var(--surface-base));color:var(--text-muted);white-space:nowrap;border-radius:8px;padding:3px 6px;font-size:13px}.ranking-age-badge{grid-row:5}.ranking-podium-bar{border-radius:10px 10px 0 0;grid-row:6;align-self:end;width:100%}.ranking-podium-bar.bar-1{background:var(--primary-yellow);height:48px}.ranking-podium-bar.bar-2{background:var(--border-subtle);height:32px}.ranking-podium-bar.bar-3{background:color-mix(in srgb,var(--primary-orange)50%,var(--surface-base));height:24px}.ranking-overview-note{text-align:center;color:var(--text-muted);margin:20px 0 0;font-size:13px;line-height:1.5}.ranking-list{align-self:start;padding:8px}.ranking-list-heading{justify-content:space-between;align-items:center;gap:12px;padding:16px 12px 20px;display:flex}.ranking-list-title{margin:0;font-size:20px}.ranking-list-heading>span{color:var(--text-muted);font-size:14px}.ranking-list-entries{margin:0;padding:0;list-style:none}.ranking-list-item{border:1px solid #0000;border-bottom-color:var(--border-subtle);color:var(--text-dark);grid-template-columns:32px 40px minmax(0,1fr) auto;grid-template-areas:"rank avatar name score""rank avatar stats score";align-items:center;gap:4px 12px;padding:12px;display:grid}.ranking-list-item:last-child{border-bottom-color:#0000}.ranking-list-item.is-me{border-color:var(--primary-purple);background:color-mix(in srgb,var(--primary-purple)10%,var(--surface-base));border-radius:16px}.ranking-list-rank{text-align:center;color:var(--text-muted);grid-area:rank;font-size:18px}.ranking-rank-unit{margin-left:2px;font-size:12px}.ranking-list-avatar{grid-area:avatar;width:40px;height:40px}.ranking-list-avatar .ranking-avatar-emoji{font-size:26px}.ranking-list-person{flex-wrap:wrap;grid-area:name;align-items:center;gap:4px 8px;min-width:0;display:flex}.ranking-list-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;overflow:hidden}.ranking-me-badge{background:color-mix(in srgb,var(--primary-purple)25%,var(--surface-base));color:var(--text-dark);border-radius:6px;flex-shrink:0;padding:2px 7px;font-size:13px}.ranking-list-stats{color:var(--text-muted);flex-wrap:wrap;grid-area:stats;gap:4px 12px;font-size:13px;display:flex}.ranking-list-stats>span{white-space:nowrap}.ranking-age-badge-small{flex-shrink:0}.ranking-list-score{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;grid-area:score;max-width:100px;font-size:20px}.ranking-legend{padding:20px 24px}.ranking-legend h4{margin:0 0 12px;font-size:16px}.ranking-legend-items{color:var(--text-muted);flex-wrap:wrap;gap:12px 24px;font-size:14px;display:flex}.ranking-legend-items>span{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.ranking-legend-items strong{color:var(--text-dark);font-weight:400}.ranking-legend-note{color:var(--text-muted);margin:16px 0 0;font-size:13px;line-height:1.5}@media (min-width:960px){.ranking-section{grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);gap:24px}.ranking-header,.ranking-section>.section-state{grid-column:1/-1}.ranking-list{grid-area:2/2/span 2}.ranking-overview{grid-area:2/1}.ranking-legend{grid-column:1;align-self:start}.ranking-section{grid-template-rows:auto min-content auto}}@media (max-width:600px){.ranking-section{gap:16px;padding-top:12px}.ranking-header{gap:16px}.ranking-week-tabs{width:100%}.ranking-week-tab{flex:1;padding-inline:8px}.ranking-overview{padding:16px 12px}.ranking-podium{gap:8px}.ranking-podium-item{grid-template-rows:24px 56px 24px 28px 24px 36px;gap:4px}.ranking-podium-avatar{width:48px;height:48px}.rank-1 .ranking-podium-avatar{width:56px;height:56px}.ranking-podium-bar.bar-1{height:36px}.ranking-podium-bar.bar-2{height:24px}.ranking-podium-bar.bar-3{height:16px}.ranking-list-item{grid-template-columns:24px 32px minmax(0,1fr) auto;column-gap:8px;padding:12px 8px}.ranking-list-avatar{width:32px;height:32px}.ranking-list-avatar .ranking-avatar-emoji{font-size:22px}.ranking-list-name{font-size:16px}.ranking-list-score{max-width:64px;font-size:18px}.ranking-list-stats{gap:4px 8px}.ranking-legend{padding:20px 16px}}@media (prefers-reduced-motion:reduce){.ranking-week-tab{transition:none}}.ranking-avatar-photo{object-fit:cover;width:100%;height:100%;display:block}.ranking-list-entries:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px;border-radius:12px}@media (min-width:960px) and (min-height:600px){.content:has(.ranking-section){padding-bottom:0;overflow-y:hidden}.ranking-section{flex:1;grid-template-rows:auto minmax(0,1fr) auto;gap:12px 20px;min-height:0;padding:12px 0}.ranking-header{gap:12px}.ranking-eyebrow{display:none}.ranking-header h2{font-size:26px}.ranking-description{margin-top:4px}.ranking-overview{flex-direction:column;justify-content:center;align-self:stretch;padding:14px 18px;display:flex}.ranking-my-rank{padding:10px 14px}.ranking-podium-title{margin:12px 0}.ranking-podium{width:100%}.ranking-podium-item{grid-template-rows:24px 64px 24px 28px 20px 32px;gap:3px}.ranking-podium-bar.bar-1{height:32px}.ranking-podium-bar.bar-2{height:22px}.ranking-podium-bar.bar-3{height:16px}.ranking-overview-note{margin-top:10px}.ranking-list{flex-direction:column;align-self:stretch;min-height:0;display:flex}.ranking-list-heading{padding:10px 12px 12px}.ranking-list-entries{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.ranking-list-item{row-gap:2px;padding:7px 10px}.ranking-legend{padding:12px 18px}.ranking-legend h4{margin-bottom:8px}.ranking-legend-items{gap:6px 14px}.ranking-legend-note{margin-top:8px}}
.hof-section{--hof-accent:color-mix(in srgb,var(--primary-yellow)62%,var(--primary-orange));--hof-accent-strong:color-mix(in srgb,var(--primary-orange)60%,var(--text-dark));--hof-warm:color-mix(in srgb,var(--primary-yellow)22%,var(--surface-base));width:100%;min-width:0;max-width:1040px;color:var(--text-dark);margin-inline:auto;padding-block:clamp(12px,2.4vw,26px) 36px}.hof-heading{justify-content:center;align-items:center;gap:10px;margin-bottom:clamp(14px,3vw,24px);display:flex}.hof-heading-icon{width:clamp(30px,5vw,38px);height:clamp(30px,5vw,38px);color:var(--hof-accent-strong);flex:none}.hof-heading h2{color:var(--text-dark);font-family:var(--font-jua),sans-serif;font-size:clamp(1.5rem,4.5vw,2.2rem);font-weight:400;line-height:1.15}.hof-stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:clamp(8px,2vw,14px);min-width:0;margin:0 0 clamp(16px,3vw,24px);padding:0;list-style:none;display:grid}.hof-stat-card{border:1px solid var(--border-subtle);background:var(--surface-base);min-width:0;box-shadow:var(--shadow-small);text-align:center;border-radius:18px;justify-items:center;gap:6px;padding:clamp(12px,2.5vw,20px) clamp(8px,2vw,14px);display:grid}.hof-stat-icon{width:2.1em;height:2.1em;color:var(--hof-accent-strong);background:color-mix(in srgb,var(--primary-yellow)26%,transparent);border-radius:999px;place-items:center;font-size:clamp(1.05rem,2.6vw,1.25rem);display:grid}.hof-stat-value{color:var(--text-dark);font-family:var(--font-jua),sans-serif;font-variant-numeric:tabular-nums;font-size:clamp(1.3rem,3.5vw,2rem);line-height:1.1}.hof-stat-value span{color:var(--text-muted);font-size:.58em}.hof-stat-label{color:var(--text-muted);word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(.82rem,2vw,.92rem);font-weight:800}.hof-subtitle{color:var(--text-muted);font-family:var(--font-jua),sans-serif;text-align:center;margin-bottom:10px;font-size:clamp(.95rem,2.5vw,1.1rem);font-weight:400}.hof-best-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:clamp(8px,2vw,14px);min-width:0;margin:0 0 clamp(16px,3vw,24px);padding:0;list-style:none;display:grid}.hof-best-card{border:1px solid color-mix(in srgb,var(--hof-accent)34%,var(--border-subtle));background:color-mix(in srgb,var(--surface-elevated)95%,var(--hof-warm));min-width:0;min-height:100%;box-shadow:var(--shadow-small);text-align:center;border-radius:16px;grid-template-rows:auto 1fr auto;align-content:start;justify-items:center;gap:5px;padding:clamp(11px,2.2vw,16px) clamp(8px,1.8vw,12px);display:grid}.hof-best-visual{place-items:center;display:grid}.hof-best-visual .navigation-visual{--navigation-visual-size:clamp(38px,7vw,48px)}.hof-best-label{min-width:0;color:var(--text-muted);font-family:var(--font-jua),sans-serif;word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:400;line-height:1.25}.hof-best-value{min-width:0;color:var(--text-dark);font-family:var(--font-jua),sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.15rem,3.2vw,1.5rem);line-height:1.15}.hof-best-card[data-empty=true] .hof-best-value{font-size:clamp(.82rem,2.2vw,.92rem)}.hof-tabs{flex-wrap:wrap;justify-content:center;gap:8px;min-width:0;margin-bottom:clamp(12px,2.5vw,18px);display:flex}.hof-tab{min-height:var(--touch-target-min);border:2px solid var(--border-subtle);background:var(--surface-muted);color:var(--text-muted);cursor:pointer;font:inherit;font-family:var(--font-jua),sans-serif;touch-action:manipulation;border-radius:999px;align-items:center;padding:8px clamp(14px,3vw,22px);font-size:clamp(.88rem,2.5vw,1.05rem);transition:border-color .18s,background .18s,color .18s;display:inline-flex}.hof-tab[aria-pressed=true]{border-color:var(--primary-blue);background:color-mix(in srgb,var(--primary-blue)82%,var(--text-dark));color:var(--surface-base)}.hof-tab:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.hof-score-list{overscroll-behavior:contain;scrollbar-width:none;gap:8px;min-width:0;max-height:clamp(300px,50vh,500px);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.hof-score-list::-webkit-scrollbar{display:none}.hof-score-row{border:1px solid var(--border-subtle);background:var(--surface-base);min-width:0;box-shadow:var(--shadow-small);text-align:left;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(8px,2vw,14px);padding:clamp(9px,2vw,14px) clamp(10px,2vw,16px);display:grid}.hof-score-row[data-perfect=true]{border-color:var(--hof-accent);background:color-mix(in srgb,var(--primary-yellow)12%,var(--surface-base))}.hof-score-row .navigation-visual{--navigation-visual-size:clamp(30px,5.5vw,38px)}.hof-score-copy{gap:2px;min-width:0;display:grid}.hof-score-quiz{min-width:0;color:var(--text-dark);font-family:var(--font-jua),sans-serif;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.95rem,2.5vw,1.1rem);overflow:hidden}.hof-score-date{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:clamp(.82rem,2vw,.88rem)}.hof-score-result{align-items:center;gap:7px;display:flex}.hof-score-value{color:var(--text-dark);font-family:var(--font-jua),sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.2rem,3vw,1.6rem)}.hof-perfect-badge{background:color-mix(in srgb,var(--primary-yellow)40%,var(--surface-base));height:26px;color:var(--hof-accent-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding-inline:10px;font-size:.8rem;font-weight:900;display:inline-flex}.hof-perfect-badge .system-icon{width:15px;height:15px}@media (max-width:420px){.hof-stat-grid,.hof-best-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hof-tab{padding-inline:13px}}@media (prefers-reduced-motion:reduce){.hof-tab{transition:none}}
.flags-section{max-width:800px;margin:0 auto;padding:.5rem}.flags-title{text-align:center;color:#0ea5e9;margin-bottom:.3rem;font-size:1.6rem;font-weight:800}.flags-subtitle{text-align:center;color:#888;font-size:.95rem;font-family:var(--ci-font-reading);margin-bottom:1rem}.flags-filters{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:1.2rem;display:flex}.flags-filter-btn{min-height:44px;font-family:var(--font-jua),sans-serif;cursor:pointer;color:var(--text-dark);background:#ffffffb3;border:2px solid #0ea5e933;border-radius:20px;padding:6px 14px;font-size:.82rem;transition:all .25s}.flags-filter-btn:hover{background:#0ea5e91a;border-color:#0ea5e966;transform:translateY(-2px)}.flags-filter-btn.active{color:#fff;background:linear-gradient(135deg,#0ea5e9,#06b6d4);border-color:#0000;transform:scale(1.05);box-shadow:0 3px 12px #0ea5e94d}.flags-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.flags-card{text-align:center;cursor:pointer;transition:all .3s var(--bounce);animation:cardPopIn .5s var(--bounce)both;background:#ffffffd9;border:2.5px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex}.flags-card:hover{transform:translateY(-5px)scale(1.05);box-shadow:0 8px 24px #0000001a}.flags-card:hover .flags-card-flag{animation:charJelly .6s var(--bounce)}.flags-card.active{background:#e0f7fa;border-color:#0ea5e9;transform:scale(1.06);box-shadow:0 0 0 4px #0ea5e933,0 8px 24px #0ea5e926}.flags-card-flag{transition:transform .3s var(--bounce);border-radius:4px;width:3.5em;font-size:2.8rem;line-height:1;display:inline-block;box-shadow:0 2px 8px #0000001a}.flags-card-name{color:#333;font-size:.85rem;font-weight:700}.flags-detail{animation:panelSlideIn .4s var(--bounce);background:#fff;border-radius:24px;grid-column:1/-1;margin:8px 0;padding:24px;box-shadow:0 8px 32px #0ea5e91f}.flags-detail-header{justify-content:center;align-items:center;gap:20px;margin-bottom:20px;display:flex}.flags-detail-flag{animation:charBounceIn .6s var(--bounce);border-radius:6px;width:3.5em;font-size:5rem;line-height:1;display:inline-block;box-shadow:0 4px 16px #0000001f}.flags-detail-info{text-align:left}.flags-detail-name{color:#0ea5e9;cursor:pointer;align-items:center;gap:8px;font-size:1.8rem;font-weight:800;transition:transform .2s;display:flex}.flags-detail-name:hover{transform:scale(1.05)}.flags-sound-icon{opacity:.6;font-size:1rem;animation:2s infinite pulse}.flags-detail-en{font-family:var(--ci-font-reading);color:var(--text-light);margin-top:2px;font-size:1.1rem}.flags-detail-facts{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.flags-fact-item{animation:wordBubbleIn .4s var(--bounce)both;background:linear-gradient(135deg,#e0f7fa,#f0f4ff);border-radius:14px;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;display:flex}.flags-fact-item:first-child{animation-delay:.15s}.flags-fact-item:nth-child(2){animation-delay:.25s}.flags-fact-item:nth-child(3){animation-delay:.35s}.flags-fact-emoji{font-size:1.3rem}.flags-fact-label{color:var(--text-light);font-size:.8rem;font-weight:700}.flags-fact-value{color:var(--text-dark);font-weight:600}.flags-fact-value.clickable{cursor:pointer;transition:color .2s,transform .2s}.flags-fact-value.clickable:hover{color:#0ea5e9;transform:scale(1.05)}@media (min-width:700px) and (max-width:1400px){.flags-section{max-width:700px}.flags-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:600px){.flags-title{margin-bottom:.2rem;font-size:1.3rem}.flags-subtitle{margin-bottom:.8rem;font-size:.85rem}.flags-filters{gap:4px}.flags-filter-btn{padding:5px 10px;font-size:.72rem}.flags-grid{grid-template-columns:repeat(3,1fr);gap:6px}.flags-card{border-radius:14px;padding:10px 6px}.flags-card-flag{font-size:2rem}.flags-card-name{font-size:.72rem}.flags-detail{padding:16px}.flags-detail-flag{width:3em;font-size:3.5rem}.flags-detail-name{font-size:1.3rem}.flags-detail-header{gap:12px}.flags-fact-item{padding:8px 12px;font-size:.82rem}}@media (orientation:landscape) and (max-height:850px){.flags-title{margin-bottom:.2rem;font-size:1.2rem}.flags-subtitle{margin-bottom:.5rem}.flags-card{padding:8px 6px}.flags-card-flag{font-size:2rem}}.section.flags-section{width:100%;min-width:0;max-width:1200px;padding:8px 0 0}.flags-filter-toolbar.words-header-row{grid-template-columns:minmax(0,1fr);justify-items:start}.flags-filter-toolbar .words-filter-shell{max-width:100%}.flags-filter-toolbar .flags-filter-row{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:4px;min-width:0;display:flex;overflow-x:auto}.flags-filter-toolbar .words-filter-btn{scroll-snap-align:start;flex:none}.flags-learning-catalog .learning-card-visual{min-height:80px}
.engwords-section{padding-top:8px}.engwords-title{text-align:center;background:linear-gradient(135deg,#1976d2,#42a5f5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:4px;margin-bottom:8px;font-size:1.6rem;font-weight:800}.engwords-subtitle{text-align:center;font-family:var(--ci-font-reading);color:var(--text-light);margin-bottom:16px;font-size:1rem}.engwords-detail{flex-direction:column;align-items:center;gap:8px;display:flex}.engwords-english-word{font-size:clamp(2rem,5vh,3.5rem);font-family:var(--font-jua),sans-serif;color:#1976d2;letter-spacing:1px;margin-bottom:2px;font-weight:700}.engwords-korean-word{font-size:clamp(1.2rem,3vh,2rem);font-family:var(--font-jua),sans-serif;color:var(--text-light);margin-bottom:8px}.engwords-btn-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.engwords-sound-eng{color:#fff!important;background:linear-gradient(135deg,#1976d2,#42a5f5)!important;border:none!important}.engwords-sound-kor{background:linear-gradient(135deg,var(--primary-pink),#ff4081)!important;color:#fff!important;border:none!important}@media (max-width:600px){.engwords-title{font-size:1.3rem}.engwords-english-word{font-size:1.8rem}.engwords-korean-word{font-size:1.1rem}}
.sentences-section{width:100%;padding-top:8px}.sentences-subtitle{text-align:center;font-family:var(--ci-font-reading);color:var(--text-light);margin:0 0 18px;font-size:clamp(.85rem,2vw,1rem)}.sentence-grid{width:100%;grid-template-columns:repeat(4,1fr)!important;gap:14px!important}.sentence-card{-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 20px color-mix(in srgb,var(--ci-ref-cloud-shadow)6%,transparent),0 1px 3px #0000000a;cursor:pointer;transition:all .3s var(--bounce);word-break:keep-all;overflow-wrap:break-word;background:#ffffffd9;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:relative;border:2.5px solid color-mix(in srgb,var(--ci-border-warm)8%,transparent)!important;min-height:130px!important;padding:22px 18px!important}.sentence-card:hover{box-shadow:0 12px 36px color-mix(in srgb,var(--ci-ref-cloud-shadow)12%,transparent);border-color:color-mix(in srgb,var(--ci-border-warm)15%,transparent)!important;transform:translateY(-5px)scale(1.02)!important}.sentence-card:active{transform:scale(.96)!important}.sentence-card.selected{background:linear-gradient(135deg,color-mix(in srgb,var(--ci-surface-cloud)95%,transparent),#e0e7fff2);border-color:var(--primary-purple,var(--ci-border-warm))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ci-ref-cloud-shadow)15%,transparent),0 8px 32px color-mix(in srgb,var(--ci-ref-cloud-shadow)15%,transparent)!important}.sentence-emoji{transition:transform .3s var(--bounce);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.2;animation:2.5s ease-in-out infinite wiggle;display:block}.sentence-card:hover .sentence-emoji{animation:charJelly .6s var(--bounce)}.sentence-text{font-family:var(--font-jua),sans-serif;color:var(--text-dark);text-align:center;word-break:keep-all;font-size:clamp(1.1rem,2.8vw,1.5rem);font-weight:700;line-height:1.45}.sentences-section .learn-card .name,.sentences-section .word-grid .learn-card .name{border-radius:16px;padding:4px 14px;font-size:clamp(.95rem,1.8vw,1.2rem);line-height:1.3}.sentences-section .learn-card .word-card-label-wrap{margin-top:2px}.sentence-speak-indicator{font-size:1.1rem;animation:.8s ease-in-out infinite alternate sentencePulse;position:absolute;top:8px;right:10px}.sentence-card.speaking{border-color:var(--primary-blue)!important;box-shadow:0 0 0 4px #00b4d826,0 4px 20px #00b4d81f!important}@keyframes sentencePulse{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.2)}}.sentence-speak-btn{background:linear-gradient(135deg,var(--primary-purple,var(--ci-rainbow-coral)),var(--ci-rainbow-sage))!important}.sentence-speak-btn:hover{box-shadow:0 6px 24px color-mix(in srgb,var(--ci-ref-cloud-shadow)40%,transparent)!important}.sentence-card.in-child-list{background:linear-gradient(135deg,color-mix(in srgb,var(--ci-surface-cloud)90%,transparent),#f0f4ffe6);border-color:color-mix(in srgb,var(--ci-border-warm)30%,transparent)!important}.sentence-card.in-child-list .sentence-speak-indicator{left:10px;right:auto}@media (max-width:600px){.sentences-section{padding-top:4px}.sentences-subtitle{margin-bottom:12px;font-size:.85rem}.sentence-card{gap:8px;min-height:110px!important;padding:16px 14px!important}.sentence-emoji{font-size:2rem}.sentence-text{font-size:1rem}.sentences-section .learn-card .name{padding:3px 10px;font-size:.9rem}.sentence-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}}@media (min-width:700px) and (max-width:1400px){.sentence-card{min-height:140px!important;padding:24px 20px!important}.sentence-emoji{font-size:2.8rem}.sentence-text{font-size:1.3rem}.sentence-grid{grid-template-columns:repeat(3,1fr)!important}}@media (min-width:1401px){.sentence-card{min-height:150px!important;padding:28px 24px!important}.sentence-emoji{font-size:3.2rem}.sentence-text{font-size:1.5rem}.sentence-grid{max-width:1000px;margin-left:auto;margin-right:auto;grid-template-columns:repeat(4,1fr)!important}}.voice-settings-overlay{background:color-mix(in srgb,var(--text-dark)42%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.voice-settings-modal.dialog-surface[data-dialog-surface]{border:1px solid var(--border-subtle);background:var(--surface-base);width:min(800px,100%);max-width:100%;min-height:0;box-shadow:var(--shadow-large);color:var(--text-dark);font-family:var(--font-jua),sans-serif;word-break:keep-all;overflow-wrap:anywhere;border-radius:24px;flex-direction:column;animation:.18s ease-out voiceSlideUp;display:flex;overflow:hidden}@keyframes voiceSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.voice-settings-header{border-bottom:1px solid var(--border-subtle);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.voice-settings-header h2{margin:0;font-size:1.25rem;font-weight:400}.voice-settings-header p{color:var(--text-muted);margin:6px 0 0;font-size:.85rem;line-height:1.4}.voice-settings-close{flex:0 0 var(--touch-target-min);width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--ci-border-subtle);border-radius:var(--ci-radius-md);background:var(--ci-surface-base);color:var(--ci-text-primary);font-family:var(--ci-font-primary);cursor:pointer;font-size:1.1rem}.voice-settings-close:hover{background:var(--surface-muted);color:var(--text-dark)}.voice-settings-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-subtle)transparent;flex-direction:column;flex:auto;gap:16px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.voice-settings-body::-webkit-scrollbar{width:6px;display:block}.voice-settings-body::-webkit-scrollbar-thumb{border-radius:var(--ci-radius-pill);background:var(--border-subtle)}.voice-language-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.voice-section{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-md);background:var(--surface-muted);min-width:0;padding:18px}.voice-section h3{color:var(--text-dark);margin:0;font-size:1rem;font-weight:400}.voice-section-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.voice-section-heading h3{align-items:center;gap:8px;display:flex}.voice-section-heading h3 span{font-size:1.2rem}.voice-label{color:var(--text-muted);margin:0 0 6px;font-size:.85rem;display:block}.voice-select{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-sm);appearance:none;background:var(--surface-base)url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10'%3E%3Cpath d='m2 2 5 5 5-5' stroke='%2359636f' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;width:100%;min-width:0;min-height:48px;color:var(--text-dark);font:inherit;cursor:pointer;padding:10px 36px 10px 14px;font-size:1rem}.voice-select:hover{border-color:var(--primary-purple)}.voice-description{color:var(--text-muted);margin:8px 0 16px;font-size:.8rem;line-height:1.45}.voice-range-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.voice-range-heading .voice-label{margin:0}.voice-range-value{border-radius:var(--ci-radius-xs);background:color-mix(in srgb,var(--primary-purple)15%,var(--surface-base));color:var(--focus-ring-color);font-variant-numeric:tabular-nums;white-space:nowrap;padding:4px 9px;font-size:.9rem}.voice-slider{width:100%;height:var(--touch-target-min);appearance:none;background:linear-gradient(to right,var(--focus-ring-color)var(--voice-range-progress),var(--border-subtle)var(--voice-range-progress))center/100% 6px no-repeat;cursor:pointer;border-radius:var(--ci-radius-xs);margin:0;display:block}.voice-slider::-webkit-slider-thumb{appearance:none;border:3px solid var(--surface-base);background:var(--focus-ring-color);width:24px;height:24px;box-shadow:var(--shadow-small);border-radius:50%}.voice-slider::-moz-range-thumb{border:3px solid var(--surface-base);background:var(--focus-ring-color);width:18px;height:18px;box-shadow:var(--shadow-small);border-radius:50%}.voice-speed-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.voice-speed-presets button{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-xs);background:var(--surface-base);min-width:0;min-height:48px;color:var(--text-muted);font-family:var(--ci-font-primary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 3px;font-size:.8rem;display:flex}.voice-speed-presets small{font-variant-numeric:tabular-nums;font-size:.75rem}.voice-speed-presets button[aria-pressed=true]{border-color:var(--focus-ring-color);background:color-mix(in srgb,var(--primary-purple)14%,var(--surface-base));color:var(--focus-ring-color)}.voice-speed-presets button:hover{border-color:var(--primary-purple)}.voice-preview-btn{border:1px solid color-mix(in srgb,var(--primary-purple)50%,var(--border-subtle));border-radius:var(--ci-radius-sm);background:var(--surface-base);min-height:44px;color:var(--focus-ring-color);font-family:var(--ci-font-primary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.8rem;display:inline-flex}.voice-preview-btn>span{font-size:.65rem}.voice-preview-btn:hover,.voice-preview-btn[aria-label$=중지]{background:color-mix(in srgb,var(--primary-purple)18%,var(--surface-base))}.voice-settings-modal :is(button,select,input):focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.voice-settings-modal :is(button,select,input):disabled{opacity:.55;cursor:not-allowed}.voice-autoplay{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.voice-autoplay .voice-description{margin:6px 0 0}.voice-slider-labels{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:.8125rem;display:flex}.voice-settings-footer{border-top:1px solid var(--border-subtle);background:var(--surface-base);flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:14px 24px;display:flex}.voice-save-status{min-width:120px;color:var(--text-muted);flex:1;margin:0;font-size:.8rem;line-height:1.4}.voice-save-status[data-status=saved]{color:var(--focus-ring-color)}.voice-save-status[data-status=error]{color:var(--danger-text)}.voice-done-btn,.voice-retry-btn{border:1px solid var(--ci-border-subtle);border-radius:var(--ci-radius-md);min-height:44px;font-family:var(--ci-font-primary);cursor:pointer;padding:10px 24px;font-size:.9rem}.voice-done-btn{background:var(--ci-action-next);color:var(--ci-text-primary)}.voice-done-btn:hover{background:var(--ci-surface-butter-tint)}.voice-retry-btn{background:var(--ci-surface-base);color:var(--ci-text-primary);padding-inline:12px}@media (min-width:700px){.voice-language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-autoplay{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:24px}}@media (min-width:700px) and (max-height:760px){.voice-settings-header{padding-block:12px}.voice-settings-body{gap:12px;padding-block:8px}.voice-section{padding:12px}.voice-section-heading{margin-bottom:8px}.voice-description{margin:4px 0 10px}.voice-settings-footer{padding-block:10px}}@media (max-width:440px){.voice-settings-header,.voice-settings-body{gap:12px;padding:16px}.voice-language-grid{gap:12px}.voice-section{border-radius:var(--ci-radius-md);padding:14px}.voice-settings-footer{padding:12px 16px}}@media (prefers-reduced-motion:reduce){.voice-settings-modal.dialog-surface[data-dialog-surface]{animation:none}}.voice-settings-trigger{-webkit-backdrop-filter:blur(10px);min-height:44px;box-shadow:var(--shadow-small);font-family:var(--font-jua),sans-serif;color:var(--text-dark);cursor:pointer;transition:all .25s var(--bounce);background:#ffffffa6;border:1px solid #ffffffd9;border-radius:50px;align-items:center;gap:6px;padding:6px 14px;font-size:.92rem;display:inline-flex}.voice-settings-trigger>span[aria-hidden=true]{font-size:1.15rem;line-height:1}.voice-settings-trigger:hover{background:var(--surface-elevated);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.sentence-focus-image{object-fit:contain;filter:drop-shadow(0 12px 32px #00000026);width:min(85vw,380px);max-width:100%;height:auto;max-height:min(44vh,340px);margin:0 auto;display:block}.sentence-focus-emoji{font-size:clamp(5rem,14vh,8.5rem)}.sentence-focus-description{color:var(--primary-orange);font-family:var(--font-jua),sans-serif;word-break:keep-all;font-size:clamp(1.8rem,5vw,2.8rem);display:inline-block}@media (max-width:600px){.voice-settings-trigger{border-radius:50%;justify-content:center;width:44px;padding:6px}.voice-settings-label{display:none}}.sentences-section .words-mywords-link{background:var(--_btn-bg);color:var(--_btn-text);border:1.5px solid var(--_btn-border);font-family:var(--ci-font-primary);box-shadow:var(--_btn-highlight),0 5px 0 var(--_btn-lip);font-weight:400}
.month-plan-section,.month-plan-detail{--month-accent:var(--ci-text-primary);--month-tint:var(--ci-bg-canvas);--month-success:var(--ci-state-success-surface);width:100%;color:var(--text-dark);margin:0 auto}.month-plan-section{max-width:1200px;padding:8px 0 32px}.month-plan-header{background:var(--ci-bg-canvas);border:1px solid var(--border-subtle);border-radius:24px;grid-template-columns:1fr minmax(280px,40%);align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:grid}.month-plan-level{color:var(--month-accent);font-size:15px}.month-plan-header .section-title{text-align:left;color:var(--month-accent);margin:8px 0;font-size:clamp(26px,3vw,36px);line-height:1.25}.month-plan-subtitle{color:var(--text-light);word-break:keep-all;margin:0;font-size:16px;line-height:1.5}.month-plan-summary{border-radius:var(--ci-radius-md);background:var(--surface-muted);color:var(--month-accent);gap:12px;padding:20px;font-size:14px;display:grid}.month-plan-summary-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-plan-summary-label strong{white-space:nowrap;font-size:28px}.month-plan-summary-label strong span{color:var(--text-muted);font-size:15px;font-weight:400}.month-plan-summary progress{appearance:none;border-radius:var(--ci-radius-pill);background:var(--surface-base);border:0;width:100%;height:8px;overflow:hidden}.month-plan-summary progress::-webkit-progress-bar{background:var(--surface-base);border-radius:var(--ci-radius-pill)}.month-plan-summary progress::-webkit-progress-value{background:var(--ci-state-selected-bg);border-radius:var(--ci-radius-pill)}.month-plan-summary progress::-moz-progress-bar{background:var(--ci-state-selected-bg);border-radius:var(--ci-radius-pill)}.month-plan-summary-count{color:var(--text-muted);justify-content:space-between;font-size:16px;display:flex}.month-plan-summary-count>span{color:var(--month-success)}.btn-month-continue{border:2px solid var(--ci-action-now-lip);border-radius:var(--ci-radius-md);background:var(--ci-action-now);width:100%;min-height:52px;color:var(--ci-action-now-text);font-family:var(--ci-font-primary);box-shadow:var(--ci-elevation-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:10px 16px;font-size:18px;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn-month-continue .system-icon{width:20px;height:20px}.btn-month-continue:active{box-shadow:none;transform:translateY(3px)}.month-plan-summary-done{border-radius:var(--ci-radius-md);background:color-mix(in srgb,var(--ci-state-selected-bg)18%,white);min-height:52px;color:var(--month-success);justify-content:center;align-items:center;gap:8px;margin:4px 0 0;padding:8px 16px;font-size:17px;display:flex}.month-plan-summary-done .system-icon{width:20px;height:20px}.month-plan-weeks{gap:28px;display:grid}.month-plan-week{gap:14px;display:grid}.month-plan-week-head{flex-wrap:wrap;align-items:center;gap:10px;padding:0 4px;display:flex}.month-plan-week-title{color:var(--month-accent);align-items:center;gap:10px;margin:0;font-size:20px;display:inline-flex}.month-plan-week-title:before{content:"";background:var(--ci-action-next);border-radius:999px;width:8px;height:22px}.month-plan-week-range{color:var(--text-muted);font-size:15px}.month-plan-week-count{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:4px 12px;font-size:14px;display:inline-flex}.month-plan-week-count.is-done{background:color-mix(in srgb,var(--ci-state-selected-bg)18%,white);color:var(--month-success)}.month-plan-week-count .system-icon{width:16px;height:16px}.roadmap-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.day-card{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-lg);background:var(--ci-surface-base);min-width:0;color:var(--text-dark);box-shadow:var(--ci-elevation-sm);font-family:var(--ci-font-primary);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:16px;padding:20px;transition:transform .18s,border-color .18s;display:flex}.day-card-topline{width:100%;min-height:28px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:16px;display:flex}.day-card-status{border-radius:var(--ci-radius-xs);background:var(--month-tint);color:var(--month-accent);align-items:center;gap:4px;padding:4px 8px;font-size:13px;display:inline-flex}.day-card-status .system-icon{width:16px;height:16px}.day-card-preview{justify-content:center;align-items:center;width:100%;height:140px;padding:2px;display:flex}.day-card-preview img{object-fit:contain;width:100%;max-width:150px;height:100%}.day-preview-char{color:var(--month-accent);font-size:48px}.day-preview-sentence{word-break:keep-all;white-space:nowrap;font-size:16px;line-height:1.5}.day-title{word-break:keep-all;white-space:nowrap;justify-content:center;align-items:center;min-height:58px;font-size:15px;line-height:1.45;display:flex}.day-card.completed .day-card-status{background:var(--surface-muted);color:var(--month-success)}.month-plan-section button:focus-visible,.month-plan-detail button:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media (hover:hover){.day-card:hover{border-color:var(--month-accent);transform:translateY(-3px)}}.month-plan-detail{flex-direction:column;gap:16px;max-width:880px;padding:16px 20px 24px;display:flex}.month-plan-detail-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-plan-detail-label{color:var(--month-accent);align-items:center;gap:12px;font-size:20px;display:flex}.month-plan-detail-label>span{color:var(--text-muted);font-size:15px}.btn-mark-complete,.badge-completed-learning{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-sm);background:var(--surface-base);min-height:44px;color:var(--month-success);font-family:var(--ci-font-primary);justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:15px;display:inline-flex}.btn-mark-complete{cursor:pointer}.btn-mark-complete:disabled{opacity:.55;cursor:not-allowed}.month-plan-detail-header .system-icon{width:20px;height:20px}.month-plan-day-description{background:var(--month-tint);border-radius:18px;align-items:center;gap:16px;padding:16px 20px;display:flex}.description-text-area{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.description-icon{width:24px;height:24px;color:var(--month-accent);flex-shrink:0}.month-plan-day-description p{color:var(--text-dark);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.6}.description-speak-btn{border:1px solid var(--border-subtle);background:var(--surface-base);width:48px;height:48px;color:var(--month-accent);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.description-speak-btn .system-icon{width:24px;height:24px}.description-speak-btn:disabled{opacity:.6;cursor:wait}.month-plan-content{width:100%;min-width:0}.month-plan-detail .guided-learn-container{gap:16px;max-width:none;padding:0}.month-plan-detail .guided-progress{padding:0}.month-plan-detail .guided-progress-text{color:var(--text-muted);font-size:15px}.month-plan-detail .guided-focus-card{border:2px solid var(--ci-border-subtle);min-height:280px;box-shadow:var(--ci-elevation-sm);background:var(--ci-surface-base);border-radius:24px;gap:16px;padding:24px}.month-plan-detail .guided-photo-visual{filter:none;height:clamp(140px,23vh,220px)}.month-plan-detail .guided-emoji-visual{filter:none}.month-plan-detail .guided-char-main{overflow-wrap:anywhere;max-width:100%;font-size:clamp(40px,6vh,64px)}.month-plan-header{background:var(--ci-bg-canvas);border-color:color-mix(in srgb,var(--ci-state-selected-bg)38%,white);box-shadow:var(--shadow-small)}.month-plan-level{background:var(--surface-base);border-radius:999px;padding:6px 12px;display:inline-block}.month-plan-summary{background:var(--surface-elevated);border:0}.month-plan-summary progress{background:color-mix(in srgb,var(--ci-state-selected-bg)20%,white)}.month-plan-summary progress::-webkit-progress-bar{background:color-mix(in srgb,var(--ci-state-selected-bg)20%,white)}.month-plan-summary progress::-webkit-progress-value{background:var(--ci-state-selected-bg)}.month-plan-summary progress::-moz-progress-bar{background:var(--ci-state-selected-bg)}.month-plan-detail .guided-progress-fill{background:var(--ci-state-selected-bg)}.day-card{--day-color:var(--ci-state-selected-bg);background:var(--ci-surface-base);border:2px solid color-mix(in srgb,var(--day-color)42%,white);box-shadow:var(--ci-elevation-sm);position:relative}.day-card:nth-child(4n+2){--day-color:var(--ci-rainbow-butter)}.day-card:nth-child(4n+3){--day-color:var(--ci-rainbow-sky)}.day-card:nth-child(4n+4){--day-color:var(--ci-rainbow-coral)}.day-card-topline>span:first-child{border-radius:var(--ci-radius-xs);background:color-mix(in srgb,var(--day-color)24%,white);min-height:36px;color:var(--text-dark);justify-content:center;align-items:center;padding:4px 12px;font-size:18px;display:inline-flex}.day-card-preview img{mix-blend-mode:multiply;transition:transform .2s}.day-card.next-target{border-color:var(--ci-state-selected-border);box-shadow:var(--ci-elevation-md)}.day-card.next-target .day-card-status{background:var(--ci-state-selected-bg);color:var(--ci-state-selected-text);border-radius:999px;padding:6px 10px}.day-card.completed{--day-color:var(--ci-state-selected-bg)}.day-card.completed .day-card-status{background:color-mix(in srgb,var(--ci-state-selected-bg)18%,white)}.month-plan-detail .guided-focus-card{background:var(--ci-surface-base);border:2px solid var(--ci-border-subtle);box-shadow:var(--ci-elevation-sm)}.month-plan-detail .guided-photo-visual{mix-blend-mode:multiply;height:clamp(160px,26vh,240px)}.month-plan-detail .guided-char-main{color:var(--month-accent)}.month-plan-day-description{background:color-mix(in srgb,var(--ci-rainbow-butter)16%,white);border:1px solid color-mix(in srgb,var(--ci-rainbow-butter)35%,white)}.month-plan-detail .description-speak-btn{background:var(--month-tint);border-color:var(--ci-state-selected-bg);box-shadow:0 3px 0 color-mix(in srgb,var(--ci-state-selected-bg)50%,white)}.month-plan-detail .btn-mark-complete{color:var(--text-muted);background:var(--surface-base);border-color:var(--border-subtle);box-shadow:none;font-size:14px}.month-plan-detail .btn-mark-complete .system-icon{color:var(--month-success)}@media (hover:hover){.month-plan-detail .btn-mark-complete:hover:not(:disabled){color:var(--month-success);border-color:var(--ci-state-selected-bg);background:color-mix(in srgb,var(--ci-state-selected-bg)12%,white)}}.month-plan-detail .description-speak-btn.speaking{opacity:1;background:var(--ci-action-now);border-color:var(--ci-action-now-lip);color:var(--ci-action-now-text);box-shadow:var(--ci-elevation-sm)}@media (hover:hover){.day-card:hover .day-card-preview img{transform:translateY(-3px)scale(1.06)}}.day-card:active{transform:translateY(3px)}@media (max-width:1100px){.roadmap-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:800px){.roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.month-plan-header{grid-template-columns:1fr;gap:20px}}@media (max-width:540px){.month-plan-section{padding:16px 12px 24px}.month-plan-header{margin-bottom:24px;padding:20px}.month-plan-summary{padding:16px}.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.month-plan-weeks{gap:20px}.month-plan-week-title{font-size:17px}.month-plan-week-title:before{width:6px;height:18px}.month-plan-week-range{font-size:13px}.month-plan-week-count{padding:3px 9px;font-size:12px}.btn-month-continue{font-size:16px}.day-card{gap:12px;padding:12px}.day-card-topline{flex-wrap:wrap;font-size:14px}.day-card-status{padding:3px 5px;font-size:12px}.day-card-preview,.day-card-preview img{height:100px}.day-title{min-height:48px;font-size:13px}.day-preview-sentence{font-size:13px}.month-plan-detail{gap:12px;padding:12px 8px 20px}.month-plan-detail-label{font-size:18px}.month-plan-detail-label>span{display:none}.month-plan-day-description{gap:8px;padding:12px}.description-icon{display:none}.month-plan-day-description p{font-size:15px}.month-plan-detail .guided-focus-card{min-height:240px;padding:20px 12px}}.content:has(>.month-plan-detail){padding-bottom:0;overflow:clip}.month-plan-detail{flex:1;gap:clamp(8px,1.5dvh,16px);min-height:0;padding-block:12px}.month-plan-detail-header,.month-plan-day-description,.month-plan-detail .guided-progress,.month-plan-detail .guided-controls,.month-plan-detail .guided-state-message{flex-shrink:0}.month-plan-content,.month-plan-detail .guided-learn-container{flex-direction:column;flex:1;min-height:0;display:flex}.month-plan-detail .guided-learn-container{gap:clamp(8px,1.5dvh,16px)}.month-plan-detail .guided-focus-card{flex:1;gap:clamp(6px,1.5dvh,16px);min-height:0;padding:clamp(8px,2dvh,24px);container-type:size}.month-plan-detail .guided-emoji-visual{flex:1;width:100%;min-height:0;font-size:clamp(32px,40cqh,120px)}.month-plan-detail .guided-photo-visual{object-fit:contain;width:100%;height:100%;min-height:0}.month-plan-detail .guided-char-main{flex-shrink:0;font-size:clamp(32px,18cqh,64px)}.month-plan-detail .example-word{background:0 0;border:0;padding:0;animation:none}@media (max-width:540px),(max-height:700px){.month-plan-detail .guided-focus-card:has(.guided-examples){grid-template-rows:minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr);display:grid}.month-plan-detail .guided-examples{grid-column:1/-1}}@media (max-height:700px){.month-plan-detail{gap:6px;padding-block:6px 10px}.month-plan-day-description{padding:8px}.month-plan-day-description p{font-size:14px;line-height:1.4}.month-plan-detail .guided-learn-container{gap:6px}.month-plan-detail .guided-state-message{padding:4px 8px;font-size:13px}.month-plan-detail .guided-char-info{gap:4px}.month-plan-detail .guided-char-name{font-size:18px}.month-plan-detail .guided-char-desc{padding:4px 8px;font-size:14px}.month-plan-detail .guided-examples{margin-top:0;padding-top:4px}.month-plan-detail .guided-examples-grid{flex-wrap:nowrap;gap:4px}.month-plan-detail .guided-example-card{flex-direction:row;min-width:0;min-height:44px;padding:4px}.month-plan-detail .example-emoji{font-size:18px}.month-plan-detail .example-word{font-size:14px}}@media (orientation:landscape) and (max-height:520px){.month-plan-detail{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);column-gap:16px;max-width:1200px;display:grid}.month-plan-detail-header{grid-area:1/1}.month-plan-detail-label>span{display:none}.month-plan-day-description{grid-area:2/1}.month-plan-detail>.guided-state-message{grid-area:3/1;align-self:start}.month-plan-content{grid-area:1/2/-1}}@media (prefers-reduced-motion:reduce){.month-plan-section *,.month-plan-detail *,.month-plan-section :before,.month-plan-section :after,.month-plan-detail :before,.month-plan-detail :after{transition:none!important;animation:none!important}}
.whitenoise-container{width:100%;max-width:var(--whitenoise-shell-width,1080px);flex-direction:column;gap:20px;min-width:0;margin:0 auto;padding:12px 16px 80px;display:flex;overflow-x:clip}.whitenoise-overview-card{background:var(--ci-surface-base,#fffdf9);border:2px solid var(--ci-border-subtle,#e6d8c3);box-shadow:var(--ci-elevation-md,0 6px 0 #3524561a,0 12px 24px #35245614);border-radius:24px;overflow:hidden}.whitenoise-header{justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.whitenoise-title-area{align-items:center;gap:14px;display:flex}.whitenoise-badge-icon{background:var(--ci-surface-cloud,#f7ead3);border:1.5px solid var(--ci-border-subtle,#e6d8c3);width:52px;height:52px;color:var(--ci-text-primary,#352456);box-shadow:var(--ci-elevation-sm);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.8rem;display:flex}.whitenoise-title{font-size:1.5rem;font-family:var(--ci-font-primary,var(--font-jua)),sans-serif;color:var(--ci-text-primary,#352456);letter-spacing:-.5px;margin:0}.whitenoise-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.btn-night-mode{color:var(--ci-rainbow-butter,#f5ce8e);font-family:var(--ci-font-primary,var(--font-jua)),sans-serif;cursor:pointer;background:#283048;border:1.5px solid #3d4868;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-size:.95rem;transition:all .2s;display:inline-flex;box-shadow:0 4px #1b2133}.btn-night-mode .system-icon,.btn-master-play .system-icon{flex-shrink:0;width:18px;height:18px}.btn-night-mode:hover{border-color:var(--ci-rainbow-butter,#f5ce8e);transform:translateY(-1px)}.btn-master-play{min-height:var(--touch-target-min);background:var(--ci-action-now,var(--primary-purple));color:var(--ci-action-now-text,#352456);border:1.5px solid var(--ci-action-now-lip,#d4816c);font-family:var(--ci-font-primary,var(--font-jua)),sans-serif;cursor:pointer;box-shadow:var(--ci-clay-highlight-soft),0 4px 0 var(--ci-action-now-lip,#d4816c);border-radius:999px;align-items:center;gap:8px;padding:10px 22px;font-size:1rem;transition:all .2s;display:inline-flex}.btn-master-play.playing{background:var(--ci-state-selected-bg,#b8d8ba);color:var(--ci-state-selected-text,#352456);border-color:var(--ci-state-selected-border,#87b38a);box-shadow:var(--ci-clay-highlight-soft),0 4px 0 var(--ci-state-selected-border,#87b38a)}.btn-master-play:hover{background:var(--ci-action-now-hover,#e87f66);transform:translateY(-1px)}.sound-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;min-width:0;display:grid}@media (min-width:1401px){.sound-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.sound-card{background:var(--ci-surface-base);border:2px solid var(--ci-border-subtle);border-radius:var(--ci-radius-md);min-height:161px;box-shadow:var(--ci-elevation-sm);flex-direction:column;justify-content:flex-start;gap:14px;min-width:0;max-width:100%;padding:16px;transition:all .2s;display:flex;overflow:hidden}.sound-card.active{border-color:var(--ci-state-selected-border);box-shadow:var(--ci-elevation-md);background:var(--ci-surface-base);transform:translateY(-2px)}.sound-card-top{width:100%;min-height:52px;color:inherit;font-family:var(--ci-font-primary);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.sound-card-top:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:4px;border-radius:var(--ci-radius-sm)}.sound-emoji-badge{border-radius:var(--ci-radius-sm);background:#ffffffe6;border:1.5px solid #0000000f;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;box-shadow:0 4px 12px #0000000a}.sound-card.active .sound-emoji-badge{background:var(--ci-surface-cloud,#f7ead3);border-color:var(--ci-state-selected-border,#87b38a);box-shadow:var(--ci-elevation-sm);transform:scale(1.05)}.sound-svg-icon{transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:block}.sound-card:hover .sound-svg-icon{transform:scale(1.1)}.rain-drops-animated path:first-child{animation:1.2s ease-in infinite rainDropAnim}.rain-drops-animated path:nth-child(2){animation:1.2s ease-in .4s infinite rainDropAnim}.rain-drops-animated path:nth-child(3){animation:1.2s ease-in .8s infinite rainDropAnim}@keyframes rainDropAnim{0%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(4px)}to{opacity:0;transform:translateY(6px)}}.sound-wave-anim{border:2px solid var(--card-accent,var(--ci-rainbow-sage));opacity:.6;border-radius:20px;animation:1.8s ease-out infinite pulseWave;position:absolute;inset:-4px}@keyframes pulseWave{0%{opacity:.8;transform:scale(.95)}to{opacity:0;transform:scale(1.25)}}.sound-text{flex:1;min-width:0}.sound-name{font-size:1.1rem;font-family:var(--font-jua),sans-serif;color:#1f2937;margin:0}.sound-toggle-switch{flex-shrink:0;width:44px;height:24px;position:relative}.switch-slider{cursor:pointer;background-color:#cbd5e1;border-radius:24px;transition:all .3s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #00000026}.sound-card-top[aria-pressed=true] .switch-slider{background-color:var(--ci-state-selected-border,#87b38a)}.sound-card-top[aria-pressed=true] .switch-slider:before{transform:translate(20px)}.sound-volume-slider-wrap{border-top:1px solid #0000000d;align-items:center;gap:10px;padding-top:4px;display:flex}.vol-icon{opacity:.7;font-size:.9rem}.sound-slider,.night-slider{appearance:none;min-width:80px;height:var(--touch-target-min);background:linear-gradient(var(--control-track),var(--control-track))center/100% 6px no-repeat;cursor:pointer;border-radius:3px;outline:none;flex:1}.sound-slider:focus-visible,.night-slider:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}.sound-slider::-webkit-slider-thumb{appearance:none;background:var(--ci-action-now,#f08f78);border:2px solid var(--ci-surface-base,#fffdf9);cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 2px 4px #35245640}.night-slider::-webkit-slider-thumb{appearance:none;background:var(--ci-action-now,#f08f78);border:2px solid var(--ci-surface-base,#fffdf9);cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 2px 4px #35245640}.sound-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.night-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.vol-percentage{font-family:var(--font-jua),sans-serif;color:var(--ci-text-secondary,#625573);text-align:right;min-width:38px;font-size:.85rem}.whitenoise-control-bar{border-top:1.5px solid var(--ci-border-subtle,#e6d8c3);justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;display:flex}.bottom-master-vol{flex:0 auto;align-items:center;gap:12px;width:min(100%,480px);min-width:0;display:flex}.master-vol-label{font-family:var(--font-jua),sans-serif;color:var(--ci-text-primary,#352456);white-space:nowrap;font-size:.95rem}.master-volume-slider-wrap{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.bottom-timer-section{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.timer-header-row{align-items:center;gap:8px;display:flex}.timer-label{font-family:var(--font-jua),sans-serif;color:var(--ci-text-secondary,#625573);font-size:.9rem}.timer-status-chip{font-family:var(--font-jua),sans-serif;background:var(--ci-surface-cloud,#f7ead3);color:var(--ci-text-primary,#352456);border-radius:6px;padding:2px 8px;font-size:.8rem}.timer-status-chip.fading{background:var(--ci-rainbow-butter,#f5ce8e);color:var(--ci-text-primary,#352456);animation:1.5s infinite pulseFading}@keyframes pulseFading{0%,to{opacity:1}50%{opacity:.6}}.timer-buttons-group{gap:6px;display:flex}.timer-btn{border-radius:var(--ci-radius-xs);border:1.5px solid var(--ci-border-subtle);background:var(--ci-surface-base);font-family:var(--font-jua),sans-serif;color:var(--ci-text-secondary);cursor:pointer;padding:6px 12px;font-size:.85rem;transition:all .2s}.timer-btn:hover{background:var(--ci-surface-cloud);border-color:var(--ci-border-strong)}.timer-btn.active{background:var(--ci-state-selected-bg);color:var(--ci-state-selected-text);border-color:var(--ci-state-selected-border);box-shadow:var(--ci-clay-highlight-soft),0 2px 0 var(--ci-state-selected-border)}.whitenoise-playing-badge{border:1.5px solid var(--ci-action-next-lip,#d8a95b);background:var(--ci-rainbow-butter,#f5ce8e);min-width:48px;height:48px;color:var(--ci-text-primary,#352456);font:inherit;white-space:nowrap;touch-action:manipulation;border-radius:999px;align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}.whitenoise-playing-badge:hover{border-color:var(--ci-text-primary,#352456);background:var(--ci-surface-butter-tint,#f9e4ba)}.whitenoise-playing-badge:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}.whitenoise-playing-badge:active{transform:translateY(1px)}.whitenoise-playing-bars{flex-shrink:0;align-items:flex-end;gap:2px;height:16px;display:inline-flex}.whitenoise-playing-bars>span{transform-origin:bottom;background:currentColor;border-radius:2px;width:3px;height:100%;animation:.9s ease-in-out infinite whitenoiseBadgeBar}.whitenoise-playing-bars>span:nth-child(2){animation-delay:.3s}.whitenoise-playing-bars>span:nth-child(3){animation-delay:.6s}@keyframes whitenoiseBadgeBar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.whitenoise-playing-text{text-overflow:ellipsis;max-width:11ch;font-size:.9rem;font-weight:700;overflow:hidden}.whitenoise-playing-badge.is-compact{justify-content:center;width:48px;padding:0}.whitenoise-playing-badge.is-compact .whitenoise-playing-text{display:none}@media (max-width:700px){.whitenoise-playing-badge{justify-content:center;width:48px;padding:0}.whitenoise-playing-text{display:none}}.fullscreen-minimal-bar .whitenoise-playing-badge{pointer-events:auto;margin-left:auto}@media (prefers-reduced-motion:reduce){.whitenoise-playing-bars>span{animation:none;transform:scaleY(.7)}.whitenoise-playing-bars>span:nth-child(2){transform:scaleY(1)}}.sleep-night-overlay{z-index:100000;padding:max(20px,env(safe-area-inset-top,20px))max(20px,env(safe-area-inset-right,20px))max(24px,env(safe-area-inset-bottom,24px))max(20px,env(safe-area-inset-left,20px));color:#fffdf9;-webkit-user-select:none;user-select:none;background:#23293d;flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.night-header{z-index:10;justify-content:flex-end;width:100%;display:flex;position:relative}.night-close-btn{color:#fff;font-family:var(--font-jua),sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#ffffff2e;border:1.5px solid #fff6;border-radius:999px;align-items:center;gap:8px;padding:10px 22px;font-size:1.05rem;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 4px 16px #00000059}.night-close-btn:hover,.night-close-btn:focus-visible{background:#ffffff47;border-color:#ffffffa6;transform:translateY(-2px)scale(1.03);box-shadow:0 6px 20px #00000073}.night-close-btn:active{transform:translateY(0)scale(.98)}.night-close-icon{font-size:1.1rem;font-weight:700}.night-close-text{letter-spacing:-.3px}.night-center{text-align:center;flex-direction:column;align-items:center;display:flex}.moon-container{justify-content:center;align-items:center;width:110px;height:110px;margin-bottom:16px;display:flex;position:relative}.moon-glow{background:radial-gradient(circle,#fbbf2473 0%,#fbbf2400 70%);border-radius:50%;animation:4s ease-in-out infinite moonPulse;position:absolute;inset:0}@keyframes moonPulse{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.moon-emoji{z-index:1;font-size:4.5rem;position:relative}.night-title{font-family:var(--font-jua),sans-serif;color:#fef08a;margin:0;font-size:1.8rem}.night-subtitle{color:#94a3b8;font-size:.95rem;font-family:var(--font-jua),sans-serif;margin:8px 0 20px}.night-active-tracks{flex-wrap:wrap;justify-content:center;gap:8px;max-width:500px;display:flex}.night-track-chip{font-size:.85rem;font-family:var(--font-jua),sans-serif;color:#e2e8f0;background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;padding:6px 14px}.night-timer-wrap{flex-direction:column;align-items:center;gap:4px;margin-top:18px;display:flex}.night-timer-time{font-family:var(--font-jua),sans-serif;color:#67e8f9;font-size:1.1rem}.night-fade-badge{color:#fde047;font-size:.85rem;animation:1.5s infinite pulseFading}.night-controls{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;margin:0 auto;display:flex}.night-play-btn{border:1.5px solid var(--ci-action-now-lip,#d4816c);background:var(--ci-action-now,#f08f78);color:var(--ci-action-now-text,#352456);font-family:var(--ci-font-primary,var(--font-jua)),sans-serif;cursor:pointer;box-shadow:0 4px 0 var(--ci-action-now-lip,#d4816c);border-radius:999px;padding:12px 28px;font-size:1.1rem}.night-vol-control{align-items:center;gap:10px;width:100%;display:flex}.night-volume-label{color:#cbd5e1;font-family:var(--font-jua),sans-serif;white-space:nowrap;align-items:center;gap:5px;font-size:.9rem;display:inline-flex}.night-vol-icon{opacity:.8;font-size:1.1rem}.night-vol-val{font-family:var(--font-jua),sans-serif;color:#94a3b8;text-align:right;min-width:40px;font-size:.9rem}.night-exit-btn{color:#e2e8f0;font-family:var(--font-jua),sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:6px;padding:12px 24px;font-size:.95rem;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.night-exit-btn:hover,.night-exit-btn:focus-visible{color:#fff;background:#ffffff38;border-color:#ffffff80;transform:translateY(-1px)}.night-exit-btn:active{transform:translateY(0)scale(.98)}.night-stars{pointer-events:none;position:absolute;inset:0;overflow:hidden}.star{color:#fef08a;animation:3s ease-in-out infinite twinkle;position:absolute}.star-1{font-size:1.2rem;animation-delay:0s;top:15%;left:18%}.star-2{font-size:1.5rem;animation-delay:1s;top:25%;right:20%}.star-3{font-size:1rem;animation-delay:1.5s;top:60%;left:12%}.star-4{font-size:1.3rem;animation-delay:2s;top:70%;right:15%}.star-5{font-size:1.1rem;animation-delay:.5s;top:40%;left:45%}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:.9;transform:scale(1.1)}}@media (max-width:640px){.whitenoise-header{flex-direction:column;align-items:flex-start;padding:16px}.whitenoise-header-actions{justify-content:stretch;width:100%}.btn-night-mode,.btn-master-play{flex:1;justify-content:center;padding:10px 14px;font-size:.9rem}.sound-cards-grid{grid-template-columns:1fr}.whitenoise-control-bar{flex-direction:column;align-items:stretch;gap:14px;padding:14px}.bottom-timer-section{align-items:flex-start}.timer-buttons-group{flex-wrap:wrap}}.whitenoise-catalog-header{margin-bottom:12px}.whitenoise-catalog-toolbar{margin-bottom:16px;padding-bottom:2px}.whitenoise-filter-button{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-pill);background:var(--surface-base);min-width:68px;min-height:44px;color:var(--text-muted);font-family:var(--ci-font-primary);cursor:pointer;touch-action:manipulation;flex:none;padding:0 16px}.whitenoise-filter-button.is-current{border-color:var(--ci-state-selected-border);background:var(--ci-state-selected-bg);color:var(--ci-state-selected-text);font-weight:700}.whitenoise-filter-button:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}.whitenoise-catalog-card{border-radius:var(--ci-radius-lg)}.whitenoise-catalog-card .whitenoise-catalog-icon{background:radial-gradient(circle,color-mix(in srgb,var(--whitenoise-card-accent,var(--primary-purple))18%,transparent)0%,transparent 72%);border-radius:50%;place-items:center;width:clamp(64px,18vw,80px);height:clamp(64px,18vw,80px);display:grid}.whitenoise-catalog-card:hover{border-color:color-mix(in srgb,var(--whitenoise-card-accent,var(--primary-purple))45%,var(--border-subtle))}.whitenoise-catalog-block+.whitenoise-catalog-block{margin-top:26px}.whitenoise-catalog-block-title{color:var(--text-dark);font:1.25rem var(--font-jua),sans-serif;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 12px}.whitenoise-sounds-title{margin-bottom:0}.whitenoise-sounds-toggle{min-height:var(--touch-target-min);border:1px solid var(--border-subtle);border-radius:var(--ci-radius-pill);background:var(--surface-base);color:inherit;font-family:var(--ci-font-primary);cursor:pointer;touch-action:manipulation;align-items:center;gap:8px;padding:0 14px 0 10px;display:inline-flex}.whitenoise-sounds-toggle:hover{border-color:color-mix(in srgb,var(--primary-purple)55%,var(--border-subtle))}.whitenoise-sounds-toggle:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:3px}.whitenoise-sounds-caret{width:1em;color:var(--ci-text-primary)}.whitenoise-sounds-count{color:var(--text-muted);font-size:.9rem;font-weight:400}.whitenoise-sounds-toggle[aria-expanded=true]+.whitenoise-catalog-grid,#whitenoise-sound-grid:not([hidden]){margin-top:14px}.whitenoise-now-playing{z-index:5;border:1.5px solid var(--ci-border-subtle,#e6d8c3);background:var(--ci-surface-cloud,#f7ead3);box-shadow:var(--ci-elevation-sm);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:20px;padding:14px 16px;display:flex;position:sticky;top:0}.whitenoise-now-playing-info{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;margin:0;display:flex}.whitenoise-now-playing-label{background:var(--ci-rainbow-butter,#f5ce8e);color:var(--ci-text-primary,#352456);border-radius:999px;padding:3px 10px;font-size:.85rem;line-height:1.4}.whitenoise-now-playing-title{font:1.1rem var(--font-jua),sans-serif;color:var(--text-dark);word-break:keep-all;overflow-wrap:anywhere}.whitenoise-now-playing-timer{color:var(--text-muted);font-size:.95rem}.whitenoise-now-playing-controls{flex-wrap:wrap;flex:320px;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.whitenoise-now-playing-controls .master-volume-slider-wrap{flex:160px;max-width:260px}.whitenoise-ghost-button{min-height:var(--touch-target-min);border:1px solid var(--border-subtle);border-radius:var(--ci-radius-sm);background:var(--surface-base);color:var(--text-dark);font-family:var(--ci-font-primary);cursor:pointer;padding:8px 14px}.whitenoise-ghost-button:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:3px}@media (max-width:640px){.whitenoise-now-playing-controls{justify-content:flex-start}.whitenoise-now-playing-controls .master-volume-slider-wrap{flex-basis:100%;max-width:none}}.whitenoise-catalog-card .sound-svg-icon{width:100%;height:100%}.whitenoise-detail-description{max-width:38rem;color:var(--text-muted);margin:4px 0 0;font-size:max(1rem,16px);line-height:1.4}.whitenoise-mix-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.whitenoise-mix-heading h3{color:var(--text-dark);font:1.25rem var(--font-jua),sans-serif;margin:0}.whitenoise-mix-heading p{color:var(--text-muted);word-break:keep-all;overflow-wrap:anywhere;margin:6px 0 0;font-size:1rem;line-height:1.5}.whitenoise-mix-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (min-width:700px){.whitenoise-mix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.whitenoise-mix-tile:last-child:nth-child(odd){grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.whitenoise-mix-tile:last-child:nth-child(odd) .whitenoise-mix-foot{gap:14px;margin-top:0}}.whitenoise-mix-tile{border:2px solid color-mix(in srgb,var(--ci-rainbow-sage)32%,var(--ci-border-subtle));border-radius:var(--ci-radius-lg);background:color-mix(in srgb,var(--ci-rainbow-sage)10%,var(--ci-surface-base));min-width:0;box-shadow:var(--ci-elevation-sm);color:var(--ci-text-primary);font-family:var(--ci-font-primary);text-align:left;cursor:pointer;touch-action:manipulation;flex-direction:column;gap:12px;padding:20px;display:flex;position:relative}.whitenoise-mix-tile:hover{border-color:color-mix(in srgb,var(--ci-rainbow-sage)55%,var(--ci-border-subtle));box-shadow:var(--ci-elevation-md)}.whitenoise-mix-tile:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:3px}.whitenoise-mix-tile:active{box-shadow:var(--ci-elevation-sm);transform:translateY(2px)}.whitenoise-mix-tile.is-current{border-color:var(--ci-state-selected-border,#87b38a);box-shadow:0 0 0 3px #87b38a40,var(--ci-elevation-md)}.whitenoise-mix-art{background:radial-gradient(circle,color-mix(in srgb,var(--mix-tint)22%,transparent)0%,transparent 72%);border-radius:50%;flex-shrink:0;align-self:center;place-items:center;width:76px;height:76px;display:grid;position:relative}.whitenoise-mix-tile:last-child:nth-child(odd) .whitenoise-mix-art{place-self:center start}.whitenoise-mix-copy{text-align:center}.whitenoise-mix-tile:last-child:nth-child(odd) .whitenoise-mix-copy{text-align:left}.whitenoise-mix-art-sub{border:2px solid var(--surface-base);background:var(--surface-base);width:34px;height:34px;box-shadow:var(--shadow-small);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.whitenoise-mix-copy{gap:4px;min-width:0;display:grid}.whitenoise-mix-name{font:1.25rem var(--font-jua),sans-serif;word-break:keep-all;overflow-wrap:anywhere}.whitenoise-mix-desc{color:var(--text-muted);word-break:keep-all;overflow-wrap:anywhere;font-size:.95rem;line-height:1.4}.whitenoise-mix-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.whitenoise-mix-time{background:color-mix(in srgb,var(--ci-rainbow-sage)16%,var(--ci-surface-base));color:var(--ci-text-primary);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:700}.whitenoise-mix-cta{min-height:var(--touch-target-min);border:1.5px solid var(--ci-action-now-lip,#d4816c);background:var(--ci-action-now,#f08f78);color:var(--ci-action-now-text,#352456);box-shadow:var(--ci-clay-highlight-soft),0 3px 0 var(--ci-action-now-lip,#d4816c);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 18px;font-size:.95rem;font-weight:700;display:inline-flex}.whitenoise-mix-tile.is-current .whitenoise-mix-cta{border-color:var(--ci-state-selected-border,#87b38a);background:var(--ci-state-selected-bg,#b8d8ba);color:var(--ci-state-selected-text,#352456);box-shadow:var(--ci-clay-highlight-soft),0 3px 0 var(--ci-state-selected-border,#87b38a)}.whitenoise-mix-cta:before{content:"▶";font-size:.8rem}.whitenoise-mix-tile.is-current .whitenoise-mix-cta:before{content:"⏸"}.whitenoise-mix-actions{flex-wrap:wrap;gap:8px;display:flex}.whitenoise-mix-actions button{border:1px solid var(--border-subtle);border-radius:var(--ci-radius-sm);background:var(--surface-base);min-height:44px;color:var(--text-dark);font-family:var(--ci-font-primary);cursor:pointer;padding:8px 14px}.whitenoise-mix-actions button:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:3px}.whitenoise-mix-actions button:disabled,.btn-master-play:disabled,.night-play-btn:disabled{opacity:.5;cursor:default;transform:none}.whitenoise-track-state{margin-top:4px;display:block}@media (max-width:640px){.whitenoise-mix-tile{padding:16px}.whitenoise-mix-art{width:68px;height:68px}}
