@import "https://fonts.googleapis.com/css2?family=Nunito:wght@600;800&family=Outfit:wght@400;600;700&display=swap";.games-intro{color:#3d5a66;margin:0 0 1rem;font-weight:600}.game-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;display:grid}.game-card{appearance:none;color:#fff;text-align:left;cursor:pointer;min-height:160px;font:inherit;border:none;border-radius:22px;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.25rem 1rem 1.1rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 12px 28px #1f5f7429}.game-card:hover,.game-card:focus-visible{outline:none;transform:translateY(-4px)scale(1.02);box-shadow:0 16px 32px #1f5f7438}.game-glyph{opacity:.9;margin-bottom:.35rem;font-size:2.4rem;line-height:1}.game-title{font-family:Nunito,system-ui,sans-serif;font-size:1.35rem;font-weight:800}.game-blurb{opacity:.9;font-size:.95rem;font-weight:600}.game-stage-bar{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.game-stage-bar .back{margin-bottom:0}.game-stage-title{color:#1f5f74;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:1.6rem}.game-score,.game-hint{color:#1f5f74;text-align:center;margin:0 0 .85rem;font-weight:700}.game-again{appearance:none;color:#fff;font:inherit;cursor:pointer;background:#1f5f74;border:none;border-radius:999px;margin:1rem auto 0;padding:.7rem 1.4rem;font-weight:700;display:block}.bubble-arena{touch-action:manipulation;background:radial-gradient(circle at 20% 20%,#ffffff8c,#0000 40%),linear-gradient(#9fd4ea 0%,#c9ebf5 55%,#e8f6fb 100%);border-radius:24px;height:min(62vh,520px);position:relative;overflow:hidden;box-shadow:inset 0 -20px 40px #1f5f7414}.bubble-arena .game-score{z-index:2;position:absolute;top:.85rem;left:0;right:0}.bubble{cursor:pointer;touch-action:manipulation;border:none;border-radius:50%;animation:linear forwards bubble-rise;position:absolute;bottom:-20%;box-shadow:inset -10px -14px 24px #0000001f,inset 8px 10px 18px #ffffff73}.bubble:after{content:"";background:#ffffff8c;border-radius:50%;width:28%;height:18%;position:absolute;top:18%;left:22%}@keyframes bubble-rise{0%{opacity:.85;transform:translateY(0)scale(.85)}10%{opacity:1}to{opacity:.95;transform:translateY(-120vh)scale(1.05)}}.match-wrap{background:#fff;border-radius:24px;padding:1rem 1rem 1.25rem;box-shadow:0 12px 30px #1f5f741a}.match-grid{grid-template-columns:repeat(4,1fr);gap:.65rem;max-width:420px;margin:0 auto;display:grid}.match-card{appearance:none;aspect-ratio:1;color:#fff;cursor:pointer;touch-action:manipulation;background:#1f5f74;border:none;border-radius:18px;font-size:clamp(1.8rem,8vw,2.6rem);transition:transform .15s,background .15s;box-shadow:0 8px 18px #1f5f7426}.match-card.open{color:inherit;background:#fff8ef}.match-card.matched{background:#d8f3e0;transform:scale(.96)}.match-card:active{transform:scale(.94)}.paint-wrap{gap:.85rem;display:grid}.paint-swatches{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;display:flex}.paint-swatch{appearance:none;cursor:pointer;border:3px solid #0000;border-radius:50%;width:44px;height:44px;box-shadow:0 4px 12px #0000001f}.paint-swatch.active{border-color:#1f5f74;transform:scale(1.12)}.paint-clear{margin:0;padding:.55rem 1rem}.paint-grid{touch-action:none;background:#d7ebf3;border-radius:18px;gap:4px;width:100%;max-width:480px;margin:0 auto;padding:8px;display:grid}.paint-cell{appearance:none;aspect-ratio:1;cursor:crosshair;border:none;border-radius:8px;min-height:28px;padding:0}.peek-wrap{background:#fff;border-radius:24px;padding:1rem 1rem 1.4rem;box-shadow:0 12px 30px #1f5f741a}.peek-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;max-width:420px;margin:0 auto;display:grid}.peek-hole{appearance:none;aspect-ratio:1;cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 50% 35%,#5a4638 0%,#3b2a22 55%,#2a1d17 100%);border:none;border-radius:50%;position:relative;overflow:hidden;box-shadow:inset 0 12px 24px #00000059}.peek-critter{filter:drop-shadow(0 4px 6px #00000040);font-size:clamp(2.4rem,10vw,3.4rem);line-height:1;transition:bottom .22s;position:absolute;bottom:-40%;left:50%;transform:translate(-50%)}.peek-hole.up .peek-critter{animation:.45s peek-bob;bottom:12%}@keyframes peek-bob{0%{bottom:-40%}70%{bottom:18%}to{bottom:12%}}@media (width<=480px){.match-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.peek-grid{gap:.55rem}}.games-hub .back,.game-stage .back,.mp-lobby .back,.mp-table .back,.scores-board .back{appearance:none;color:#1f5f74;font:inherit;cursor:pointer;background:#ffffffbf;border:none;border-radius:999px;margin-bottom:1rem;padding:.55rem 1rem;font-weight:700}.hub-grid .game-card{min-height:140px}.hub-section-title{color:#1f5f74;margin:1.25rem 0 .35rem;font-family:Nunito,system-ui,sans-serif;font-size:1.25rem}.hub-section-hint{margin-top:0}.mp-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0 1.25rem;display:flex}.mp-code-row{gap:.5rem;display:flex}.mp-code-row input{font:inherit;letter-spacing:.12em;text-transform:uppercase;border:2px solid #1f5f7433;border-radius:12px;width:8rem;padding:.55rem .75rem;font-weight:700}.mp-code-row button,.mp-actions>button:not(.game-again){appearance:none;color:#fff;font:inherit;cursor:pointer;background:#1f5f74;border:none;border-radius:999px;padding:.55rem 1rem;font-weight:700}.mp-sub{color:#1f5f74;margin:0 0 .5rem}.mp-room-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.mp-room-list button{appearance:none;width:100%;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:14px;justify-content:space-between;gap:1rem;padding:.85rem 1rem;display:flex;box-shadow:0 8px 18px #1f5f741a}.checkers-board{border-radius:12px;grid-template-columns:repeat(8,1fr);max-width:420px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 12px 28px #00000026}.ck-cell{aspect-ratio:1;cursor:pointer;border:none;place-items:center;padding:0;display:grid}.ck-cell.light{background:#f0d9b5}.ck-cell.dark{background:#b58863}.ck-cell.sel{outline-offset:-3px;outline:3px solid #ffeb3b}.ck-piece{border-radius:50%;width:72%;height:72%;box-shadow:inset 0 -4px 8px #00000040}.ck-piece.p1{background:#2c2c2c}.ck-piece.p2{background:#f5f5f5;border:2px solid #999}.ck-piece.king:after{content:"♔";place-items:center;height:100%;font-size:1.1rem;display:grid}.bs-grids{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.bs-grids h3{color:#1f5f74;margin:0 0 .5rem;font-size:1rem}.bs-grid{background:#0d47a1;border-radius:10px;grid-template-columns:repeat(10,1fr);gap:2px;padding:4px;display:grid}.bs-cell{aspect-ratio:1;cursor:pointer;background:#1976d2;border:none;border-radius:2px;padding:0;transition:background .15s,transform .12s;position:relative}.bs-cell.ship{background:#90a4ae;box-shadow:inset 0 0 0 1px #00000026}.bs-cell.hit{background:#e53935}.bs-cell.miss{background:#bbdefb}.bs-cell.aim:hover{outline-offset:-2px;background:#42a5f5;outline:2px solid #fff59d}.bs-cell.ghost-ok{background:#81c784d9;box-shadow:inset 0 0 0 2px #2e7d32}.bs-cell.ghost-bad{background:#ef9a9ae6;box-shadow:inset 0 0 0 2px #c62828}.bs-cell.pulse-hit,.bs-cell.pulse-sunk{animation:.65s ease-out bs-boom}.bs-cell.pulse-miss{animation:.55s ease-out bs-splash}@keyframes bs-boom{0%{transform:scale(1);box-shadow:0 0 #e53935cc}40%{background:#ff8a80;transform:scale(1.25);box-shadow:0 0 0 10px #e5393500}to{transform:scale(1)}}@keyframes bs-splash{0%{transform:scale(1)}35%{background:#e3f2fd;transform:scale(1.15)}to{transform:scale(1)}}.bs-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.bs-toolbar .game-score{margin:0}.bs-mute{appearance:none;color:#1565c0;font:inherit;cursor:pointer;background:#ffffffb3;border:1px solid #1565c059;border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:700}.bs-mute.is-muted{color:#78909c;border-color:#b0bec5}.bs-flash{text-align:center;border-radius:12px;margin:.5rem 0 .75rem;padding:.55rem .85rem;font-size:clamp(1.1rem,3vw,1.6rem);font-weight:800;animation:.25s ease-out bs-flash-in}.bs-flash-hit{color:#b71c1c;background:#ffcdd2}.bs-flash-sunk{color:#bf360c;background:#ff8a65}.bs-flash-miss{color:#1565c0;background:#e3f2fd}.bs-flash-win{color:#1b5e20;background:#c8e6c9}.bs-flash-info{color:#f57f17;background:#fff9c4}@keyframes bs-flash-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:none}}.bs-flash-capture{color:#e65100;background:#ffe0b2}.bs-flash-point{color:#4527a0;background:#d1c4e9}.live-scoreboard{flex-wrap:wrap;align-items:center;gap:.45rem;margin:.35rem 0 .65rem;display:flex}.live-scoreboard-title{color:#37474f;margin-right:.25rem;font-weight:800}.live-score-pill{background:#ffffffbf;border:1px solid #00000014;border-radius:999px;align-items:baseline;gap:.35rem;padding:.35rem .75rem;font-size:.92rem;display:inline-flex}.live-score-pill em{color:#607d8b;font-style:normal;font-weight:600}.live-score-pill strong{color:#263238;font-weight:800}.live-score-pill.mine{background:#3ecf9a26;border-color:#3ecf9a8c}.game-chrome-status .game-score{margin:0}.match-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.match-list li{background:#ffffff8c;border:1px solid #0000000f;border-radius:10px;grid-template-columns:minmax(90px,120px) 1fr auto;align-items:center;gap:.5rem;padding:.55rem .7rem;display:grid}.match-game{color:#1f5f74;font-size:.85rem;font-weight:800}.match-result{color:#37474f}.match-when{color:#78909c;white-space:nowrap;font-size:.8rem}@media (width<=560px){.match-list li{grid-template-columns:1fr;gap:.15rem}}.bs-place-controls{flex-wrap:wrap;align-items:center}.bs-orient{font-weight:800!important}.bs-orient-hint{color:#546e7a;font-size:.85rem;font-weight:600}.bs-ghost-ship{background:#0d47a1;border-radius:8px;gap:3px;padding:.35rem .45rem;display:flex}.bs-ghost-ship.vt{flex-direction:column}.bs-ghost-ship span{background:#90a4ae;border-radius:3px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0003}.tetris-boards{grid-template-columns:1.2fr .8fr;align-items:start;gap:1rem;display:grid}.tetris-grid{background:#111;border-radius:8px;grid-template-columns:repeat(10,1fr);gap:1px;max-width:240px;padding:4px;display:grid}.tetris-grid.small{opacity:.85;max-width:160px}.t-cell{aspect-ratio:1;background:#1a1a1a}.t-cell.f1{background:#7e57c2}.t-cell.f2{background:#26c6da}.tetris-touch{flex-wrap:wrap;gap:.35rem;max-width:240px;margin-top:.65rem;display:flex}.tetris-touch button{appearance:none;color:#fff;font:inherit;cursor:pointer;background:#1f5f74;border:none;border-radius:10px;flex:40px;padding:.55rem;font-weight:700}.pong-arena{aspect-ratio:16/10;touch-action:none;background:#0b1a20;border-radius:16px;width:min(640px,100%);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000040}.pong-paddle{background:#e8f2ef;border-radius:4px;width:2.2%;height:18%;position:absolute;transform:translateY(-50%)}.pong-paddle.p1{left:3%}.pong-paddle.p2{right:3%}.pong-ball{aspect-ratio:1;background:#3ecf9a;border-radius:50%;width:2.4%;position:absolute;transform:translate(-50%,-50%)}.score-section{background:#fff;border-radius:16px;margin-bottom:.75rem;padding:1rem 1.1rem;box-shadow:0 8px 18px #1f5f7414}.score-section h3{text-transform:capitalize;color:#1f5f74;margin:0 0 .5rem}.score-section ol{margin:0;padding:0;list-style:none}.score-section li{border-top:1px solid #1f5f741a;justify-content:space-between;padding:.35rem 0;font-weight:600;display:flex}:root{--bg:#0e1018;--bg-2:#1a1f30;--ink:#f4f6fc;--muted:#c2c8d8;--muted-dim:#9aa3b8;--accent:#5b8cff;--accent-2:#ff7a55;--accent-ink:#fff;--danger:#ff7b7b;--panel:#1c2133;--panel-2:#242a3f;--line:#ffffff1f;--shadow:0 12px 32px #00000059;--shadow-strong:0 18px 40px #00000073;--sky:#7ec4e0;--text:var(--ink);--violet:#8b74ff;--blue:#5b8cff;--coral:#ff7a55;--mint:#45d6a3;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Outfit,system-ui,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(70% 50% at 12% -10%,#7c5cff38 0%,#0000 55%),radial-gradient(55% 40% at 100% 0,#4d7cff2e 0%,#0000 50%),linear-gradient(#12141f 0%,#0e1018 100%);margin:0}#root{min-height:100vh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-frame{grid-template-columns:72px minmax(0,1fr);width:100%;min-height:100vh;display:grid}.dash-sidebar{border-right:1px solid var(--line);background:#0e1018eb;flex-direction:column;align-items:center;gap:.75rem;height:100vh;padding:1.1rem .55rem 1.25rem;display:flex;position:sticky;top:0}.dash-sidebar-brand{margin-bottom:.5rem}.dash-sidebar-mark{background:linear-gradient(145deg, var(--violet), var(--blue));color:#fff;border-radius:14px;place-items:center;width:42px;height:42px;font-family:Nunito,system-ui,sans-serif;font-size:1.15rem;font-weight:800;display:grid;box-shadow:0 8px 20px #4d7cff59}.dash-sidebar-nav{flex-direction:column;flex:1;gap:.35rem;width:100%;display:flex}.dash-sidebar-nav button,.dash-sidebar-logout{appearance:none;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;width:100%;padding:.65rem .25rem;transition:background .15s,color .15s,transform .15s;display:flex}.dash-sidebar-nav button:hover,.dash-sidebar-logout:hover{color:var(--ink);background:#ffffff0d}.dash-sidebar-nav button.active{color:#fff;background:#4d7cff38;box-shadow:inset 0 0 0 1px #4d7cff59}.dash-nav-icon{font-size:1.15rem;line-height:1}.dash-nav-label{letter-spacing:.02em;font-size:.62rem;font-weight:600}.dash-sidebar-logout{margin-top:auto;font-size:1.1rem}.dash-stage{width:min(1280px,100%);min-width:0;margin:0 auto;padding:1.25rem 1.5rem 3rem}.dash-topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.dash-topbar .brand{color:#fff;margin:0;font-size:1.35rem}.dash-topbar-sub{color:var(--muted);margin-top:.15rem;font-size:.85rem;display:block}.dash-topbar-actions{align-items:center;gap:.5rem;display:flex}.dash-home{grid-template-columns:minmax(0,1.6fr) minmax(280px,.95fr);align-items:start;gap:1.25rem;display:grid}.dash-home-main,.dash-home-side{flex-direction:column;gap:1.1rem;min-width:0;display:flex}.card-lift{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.dash-welcome{background:linear-gradient(135deg, #7c5cff2e, transparent 55%), var(--panel);grid-template-columns:1fr auto;gap:1rem;padding:1.4rem 1.5rem;display:grid;position:relative;overflow:hidden}.dash-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.dash-welcome h2{letter-spacing:-.03em;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800}.dash-welcome-lede{color:var(--muted);max-width:28rem;margin:.45rem 0 .9rem;font-size:1.02rem}.dash-weather-panel{border:1px solid var(--line);background:#ffffff0d;border-radius:18px;flex-direction:column;justify-content:center;align-self:stretch;gap:.2rem;min-width:160px;max-width:220px;padding:.85rem 1rem;display:flex}.dash-weather-temp{letter-spacing:-.03em;color:var(--ink);margin:0;font-family:Nunito,system-ui,sans-serif;font-size:2rem;font-weight:800;line-height:1.1}.dash-weather-summary{color:var(--ink);margin:0;font-weight:700}.dash-weather-place{color:var(--muted);margin:0;font-size:.85rem}.dash-weather-days{color:var(--muted);flex-direction:column;gap:.15rem;margin-top:.45rem;font-size:.78rem;display:flex}.dash-calendar{padding:.85rem 1rem 1rem}.dash-setup{border-bottom:1px solid var(--line);flex-direction:column;gap:.85rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.dash-setup-form{grid-template-columns:1fr auto;align-items:end;gap:.55rem;display:grid}.dash-setup-form .dash-setup-wide{grid-column:1/-1}.dash-setup-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.dash-feed-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.dash-feed-list li{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.dash-feed-list span{flex-direction:column;min-width:0;display:flex}.dash-feed-list small{color:var(--muted-dim);text-overflow:ellipsis;white-space:nowrap;max-width:28rem;font-size:.75rem;overflow:hidden}.dash-event-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.dash-event-list li{border-bottom:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:minmax(7rem,auto) 1fr;gap:.1rem .75rem;padding:.55rem .35rem;display:grid}.dash-event-list li:last-child{border-bottom:0}.dash-event-when{color:var(--blue);grid-row:1/3;align-self:center;font-size:.8rem;font-weight:600}.dash-event-title{color:var(--ink);font-size:.95rem}.dash-event-source{color:var(--muted-dim);font-size:.75rem}.dash-empty-copy,.dash-cal-error{color:var(--muted);margin:0;font-size:.92rem}.dash-cal-error{color:var(--danger);margin-bottom:.65rem}.dash-welcome-stats{flex-wrap:wrap;gap:.45rem;display:flex}.dash-pill{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;background:#ffffff0f;border-radius:999px;padding:.35rem .75rem;font-size:.82rem;font-weight:600}.dash-pill.ok{color:var(--mint);border-color:#3dcf9a59}.dash-pill.bad{color:var(--danger);border-color:#ff6b6b59}.dash-pill.accent{cursor:pointer;color:#fff;background:#ff6b4a33;border-color:#ff6b4a66}.dash-welcome-art{width:140px;min-height:120px;position:relative}.dash-welcome-orb{filter:blur(.5px);background:radial-gradient(circle at 30% 30%,#a78bfa,#4d7cff 55%,#0000 70%);border-radius:50%;width:90px;height:90px;animation:6s ease-in-out infinite dash-float;position:absolute;top:10px;right:10px}.dash-welcome-orb-2{background:radial-gradient(circle at 30% 30%,#ff9b7a,#ff6b4a 60%,#0000 72%);width:56px;height:56px;animation-delay:-2s;top:58px;right:70px}@keyframes dash-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.dash-section-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;display:flex}.dash-section-head h3{margin:0;font-size:1rem;font-weight:700}.dash-link{appearance:none;color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;font-weight:600}.dash-toggle-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.dash-toggle-card{appearance:none;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font:inherit;box-shadow:var(--shadow);border-radius:18px;padding:.95rem .85rem;transition:transform .15s,box-shadow .15s,border-color .15s}.dash-toggle-card:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}.dash-toggle-card.tone-violet:hover{border-color:#7c5cff8c}.dash-toggle-card.tone-blue:hover{border-color:#4d7cff8c}.dash-toggle-card.tone-coral:hover{border-color:#ff6b4a8c}.dash-toggle-card.tone-mint:hover{border-color:#3dcf9a8c}.dash-toggle-icon{background:#ffffff0f;border-radius:12px;place-items:center;width:36px;height:36px;margin-bottom:.55rem;font-size:.95rem;display:grid}.tone-violet .dash-toggle-icon{color:#c4b5fd;background:#7c5cff38}.tone-blue .dash-toggle-icon{color:#93b4ff;background:#4d7cff38}.tone-coral .dash-toggle-icon{color:#ffb39f;background:#ff6b4a38}.tone-mint .dash-toggle-icon{color:#7eebc0;background:#3dcf9a38}.dash-toggle-label{font-weight:700;display:block}.dash-toggle-hint{color:var(--muted);margin-top:.15rem;font-size:.8rem;display:block}.dash-usage-card{grid-template-columns:auto 1fr;align-items:center;gap:1.25rem;padding:1.25rem 1.35rem;display:grid}.dash-dial{--dial-deg:90deg;width:150px;height:150px;position:relative}.dash-dial-ring{background:conic-gradient(from 225deg, var(--blue) 0deg, var(--violet) var(--dial-deg), #ffffff14 var(--dial-deg), #ffffff14 270deg, transparent 270deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 14px),#000 calc(100% - 13px));mask:radial-gradient(farthest-side,#0000 calc(100% - 14px),#000 calc(100% - 13px))}.dash-dial-core{background:var(--bg-2);border:1px solid var(--line);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex;position:absolute;inset:22px}.dash-dial-core strong{letter-spacing:-.02em;font-size:1.45rem;font-weight:800}.dash-dial-core span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.dash-usage-meta{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.dash-usage-meta strong{color:var(--ink)}.dash-continue-label{color:var(--muted);margin:0 0 .45rem;font-size:.8rem;font-weight:600}.dash-continue-rail{gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.dash-continue-tile{appearance:none;cursor:pointer;background:var(--bg-2);border:0;border-radius:10px;flex:none;width:56px;height:84px;padding:0;overflow:hidden}.dash-continue-tile img,.dash-continue-tile .ph{object-fit:cover;place-items:center;width:100%;height:100%;font-weight:700;display:grid}.dash-search-wrap{padding:.65rem .85rem}.dash-search-wrap input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:none}.dash-search-wrap input::placeholder{color:var(--muted)}.dash-device-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.dash-device{appearance:none;text-align:left;color:#fff;cursor:pointer;font:inherit;box-shadow:var(--shadow);border:0;border-radius:18px;flex-direction:column;gap:.2rem;padding:1rem .9rem;transition:transform .15s,filter .15s;display:flex}.dash-device:hover{filter:brightness(1.06);transform:translateY(-2px)}.dash-device span{font-family:Nunito,system-ui,sans-serif;font-weight:800}.dash-device small{opacity:.85;font-size:.75rem}.dash-device.violet{background:linear-gradient(145deg,#8b6bff,#5b3fd4)}.dash-device.blue{background:linear-gradient(145deg,#5b8cff,#2f5fd4)}.dash-device.coral{background:linear-gradient(145deg,#ff845f,#e24a2f)}.dash-device.mint{background:linear-gradient(145deg,#4fe0ad,#1faa74)}.dash-members{flex-direction:column;gap:.25rem;padding:.55rem;display:flex}.dash-member{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:.7rem;width:100%;padding:.55rem .5rem;display:flex}.dash-member:hover{background:#ffffff0a}.dash-avatar{background:linear-gradient(145deg, var(--violet), var(--blue));color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:.8rem;font-weight:800;display:grid}.dash-member-meta{flex-direction:column;min-width:0;display:flex}.dash-member-meta strong{font-size:.92rem}.dash-member-meta small{color:var(--muted);font-size:.8rem}.dash-empty-cta{appearance:none;border:1px dashed var(--line);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:14px;width:100%;padding:1rem}.dash-chart{padding:.85rem 1rem 1rem}.dash-spark{width:100%;height:auto;display:block}.dash-chart-labels{color:var(--muted);justify-content:space-between;margin-top:.35rem;font-size:.72rem;display:flex}@media (width<=980px){.dash-home{grid-template-columns:1fr}.dash-toggle-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-frame{grid-template-rows:auto 1fr;grid-template-columns:1fr}.dash-sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:row;gap:.35rem;width:100%;height:auto;padding:.55rem .65rem;position:sticky;top:0}.dash-sidebar-brand{margin:0}.dash-sidebar-mark{border-radius:12px;width:36px;height:36px;font-size:1rem}.dash-sidebar-nav{flex-direction:row;flex:1;overflow-x:auto}.dash-sidebar-nav button{min-width:58px;padding:.4rem .35rem}.dash-nav-label{display:none}.dash-sidebar-logout{margin:0}.dash-stage{padding:1rem 1rem 2.5rem}.dash-usage-card{text-align:center;grid-template-columns:1fr;justify-items:center}.dash-welcome{grid-template-columns:1fr}.dash-weather-panel{max-width:none}.dash-welcome-art{display:none}.dash-setup-form{grid-template-columns:1fr}}.shell{width:min(1100px,100% - 1.75rem);margin:0 auto;padding:2rem 0 4rem}.shell.zone-workshop{width:min(1200px,100% - 1.5rem)}.hero{margin-bottom:1.35rem}.brand{letter-spacing:-.03em;color:#c5d4ff;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:clamp(2.2rem,6vw,3.1rem);font-weight:800}.hero h1{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:.15rem 0 .35rem;font-family:Outfit,system-ui,sans-serif;font-size:1rem;font-weight:700}.lede{max-width:36rem;color:var(--muted);margin:0}.hero-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.login-shell{width:min(440px,100% - 1.75rem);padding-top:4rem}.login-hero .brand{font-size:clamp(2.4rem,8vw,3.2rem)}.login-panel{margin-top:.5rem}.zone-nav{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1rem;display:grid}@media (width<=720px){.zone-nav{grid-template-columns:1fr}}.zone-nav button{appearance:none;text-align:left;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow);background:#ffffff14;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.85rem 1rem;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.zone-nav button:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}.zone-nav button.active{background:var(--accent);color:var(--accent-ink);border-color:#0000}.zone-label{font-family:Nunito,system-ui,sans-serif;font-size:1.05rem;font-weight:800}.zone-hint{opacity:.78;font-size:.8rem;font-weight:500;line-height:1.3}.zone-library .hero-compact{margin-bottom:.75rem}.zone-library .hero-copy{flex-wrap:wrap;align-items:baseline;gap:.55rem 1rem;display:flex}.zone-library .brand{font-size:clamp(1.55rem,4vw,1.9rem)}.zone-library .hero-meta{flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;display:flex}.zone-library .hero h1{margin:0;font-size:.78rem}.zone-library .lede{font-size:.85rem}.zone-library .zone-nav{border:1px solid var(--line);width:auto;max-width:100%;box-shadow:none;background:#ffffff14;border-radius:999px;grid-template-columns:none;gap:.25rem;margin-bottom:.85rem;padding:.3rem;display:inline-flex}.zone-library .zone-nav button{box-shadow:none;background:0 0;border:none;border-radius:999px;flex-direction:row;align-items:center;padding:.45rem .95rem}.zone-library .zone-nav button:hover{box-shadow:none;background:#2a7d8c14;transform:none}.zone-library .zone-nav button.active{background:var(--accent);color:var(--accent-ink)}.zone-library .zone-label{font-size:.92rem}.zone-library .library-tabs{border-bottom:1px solid var(--line);gap:.35rem;margin-bottom:1.1rem;padding-bottom:.65rem}.zone-library .library-tabs button{color:var(--muted);box-shadow:none;background:0 0;border:none;border-radius:0;margin-right:1rem;padding:.35rem .15rem}.zone-library .library-tabs button.active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);background:0 0}.library-home{gap:1.35rem;display:grid}.library-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:1rem .85rem;display:grid}.library-grid.album-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.library-tile{appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.4rem;padding:0;display:flex}.library-tile img,.library-tile .ph{aspect-ratio:2/3;object-fit:cover;background:#d7ebf3;border-radius:12px;width:100%;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 18px #1f5f741a}.library-grid.album-grid .library-tile img,.library-grid.album-grid .library-tile .ph{aspect-ratio:1}.library-tile .ph{color:var(--ink);place-items:center;font-family:Nunito,system-ui,sans-serif;font-size:1.85rem;font-weight:800;display:grid}.library-tile:hover img,.library-tile:hover .ph{transform:translateY(-3px);box-shadow:0 14px 26px #1f5f7429}.library-tile-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.library-tile-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:-.15rem;font-size:.75rem;line-height:1.2;overflow:hidden}.library-empty{grid-column:1/-1}.continue-row{margin:0}.continue-title{color:var(--ink);margin:0 0 .55rem;font-family:Nunito,system-ui,sans-serif;font-size:.95rem;font-weight:800}.continue-rail{scrollbar-width:thin;grid-auto-columns:88px;grid-auto-flow:column;gap:.65rem;padding-bottom:.25rem;display:grid;overflow-x:auto}.continue-rail.album-rail{grid-auto-columns:96px}.continue-rail.video-rail{grid-auto-columns:minmax(168px,200px)}.continue-tile{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:0;position:relative;overflow:hidden}.continue-tile img,.continue-tile .ph{aspect-ratio:2/3;object-fit:cover;background:#d7ebf3;border-radius:10px;width:100%;display:block}.continue-rail.album-rail .continue-tile img,.continue-rail.album-rail .continue-tile .ph{aspect-ratio:1}.continue-rail.video-rail .continue-tile img,.continue-rail.video-rail .continue-tile .ph{aspect-ratio:16/9}.continue-tile .ph{color:var(--ink);place-items:center;font-family:Nunito,system-ui,sans-serif;font-weight:800;display:grid}.continue-tile .progress-bar{background:#ffffff73;border-radius:999px;height:3px;position:absolute;bottom:.35rem;left:.35rem;right:.35rem;overflow:hidden}.continue-tile .progress-bar>span{background:var(--panel);height:100%;display:block}.zone-intro{margin:0 0 1rem}.zone-intro h2{color:var(--ink);margin:0 0 .25rem;font-family:Nunito,system-ui,sans-serif;font-size:1.35rem;font-weight:800}.zone-intro p{margin:0}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;margin-bottom:1.15rem;padding:1.25rem 1.4rem 1.5rem}.panel h2{color:var(--ink);margin:0;font-family:Nunito,system-ui,sans-serif;font-size:1.25rem;font-weight:800}.panel-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.count,.hint{color:var(--muted);font-size:.9rem}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600;display:block}.ok{color:var(--mint)}.blocked{color:var(--danger)}.rules,.search{flex-wrap:wrap;align-items:end;gap:.85rem;display:flex}.search{margin-bottom:1.25rem}label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}input,select,textarea{background:var(--bg-2);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:12px;min-width:10rem;padding:.65rem .8rem}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.search input{flex:1;min-width:16rem}button{background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.65rem 1.1rem;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{color:var(--ink);border:1px solid var(--line);background:#ffffff0f}.muted{color:var(--muted)}.poster-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;display:grid}.poster{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:.65rem;padding:.65rem;display:flex}.poster.allowed{border-color:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent)}.poster img,.ph{aspect-ratio:2/3;object-fit:cover;background:#d7ebf3;border-radius:12px;width:100%}.ph{color:var(--ink);place-items:center;font-family:Nunito,system-ui,sans-serif;font-size:2rem;font-weight:800;display:grid}.poster-meta h3{margin:0 0 .15rem;font-size:.95rem;line-height:1.25}.poster-meta .muted{margin:0 0 .55rem;font-size:.8rem}.poster-meta button{width:100%;padding:.5rem .75rem;font-size:.85rem}.banner.error{background:color-mix(in srgb, var(--danger) 18%, var(--panel));border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:#ffc4c4;border-radius:14px;margin-bottom:1rem;padding:.75rem 1rem;font-weight:600}.login{gap:1rem;max-width:22rem;display:grid}.kids-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.kid-card{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:16px;gap:.65rem;padding:1rem;display:grid}.kid-card h3{margin:0;font-family:Nunito,system-ui,sans-serif;font-weight:800}.pin-row{flex-wrap:wrap;gap:.5rem;display:flex}.pin-row input{flex:1;min-width:8rem}.tip{margin:0 0 1rem}.tip code{color:var(--accent);font-weight:600}.tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tabs button{color:var(--muted);border:1px solid var(--line);background:#ffffff0f;border-radius:999px;padding:.5rem 1rem;font-weight:600}.tabs button.active{background:var(--accent);color:var(--accent-ink);border-color:#0000}.media-tabs{margin-top:-.25rem}.kid-card.selected{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:color-mix(in srgb, var(--accent) 16%, var(--panel))}.kid-select{appearance:none;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.kid-select h3{margin:0 0 .25rem}.app-tabs,.sub-tabs{margin-bottom:1.25rem}.back-btn{margin-bottom:1rem}.player-title{color:var(--ink);margin:0 0 1rem;font-family:Nunito,system-ui,sans-serif;font-size:clamp(1.4rem,4vw,2rem);font-weight:800}.player{background:#0f1a1e;border-radius:16px;width:100%;max-height:70vh}.player-shell{width:min(1100px,100% - 2rem)}.player-sub{color:var(--muted);margin:-.35rem 0 .75rem;font-weight:600}.watch-next{justify-content:flex-end;margin-top:1rem;display:flex}.watch-next button{appearance:none;background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.75rem 1.15rem;font-weight:700}.progress-meta{color:var(--muted);margin-top:-.2rem;font-size:.8rem;display:block}.audio-wrap{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;justify-items:center;gap:1rem;padding:1.5rem;display:grid}.audio-art{aspect-ratio:1;object-fit:cover;border-radius:14px;width:min(280px,70vw)}.audio-player{width:min(420px,100%)}.book-frame{background:var(--panel);border:none;border-radius:16px;width:100%;min-height:70vh}.epub-reader{background:var(--panel);border:1px solid var(--line);width:100%;height:min(75vh,900px);min-height:70vh;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.epub-stage{background:var(--panel-2);flex:auto;width:100%;height:100%;min-height:0;position:relative}.epub-stage .epub-container,.epub-stage .epub-view,.epub-stage iframe{border:0;width:100%!important;height:100%!important}.epub-controls{border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;display:flex}.epub-fallback{text-align:center;height:auto;min-height:auto;padding:1.25rem}.pdf-reader{gap:.75rem;width:min(900px,100%);margin:0 auto;display:grid}.pdf-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pdf-page-label{font-variant-numeric:tabular-nums;font-size:.95rem}.pdf-zoom{color:var(--muted);align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.pdf-stage{background:#1a2226;border-radius:12px;place-items:start center;min-height:50vh;max-height:75vh;padding:.75rem;display:grid;overflow:auto}.pdf-stage canvas{max-width:100%;height:auto;margin:0 auto;display:block}.pdf-hint{text-align:center;margin:0;font-size:.8rem}.pdf-fallback,.pdf-loading{text-align:center;padding:2rem 1rem}.play-grid .poster-btn{appearance:none;border:1px solid var(--line);background:var(--panel);text-align:left;color:inherit;font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;gap:.55rem;padding:.65rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 8px 20px #1f5f7412}.play-grid .poster-btn:hover{box-shadow:var(--shadow-strong);transform:translateY(-3px)}.play-grid .poster-btn img,.play-grid .poster-btn .ph{aspect-ratio:2/3;object-fit:cover;background:#d7ebf3;border-radius:12px;width:100%}.play-grid .poster-btn .ph{color:var(--ink);place-items:center;font-family:Nunito,system-ui,sans-serif;font-size:2rem;font-weight:800;display:grid}.play-grid .poster-btn span{font-size:.95rem;font-weight:700}.collection-title{color:var(--ink);margin:0 0 1rem;font-family:Nunito,system-ui,sans-serif;font-weight:800}.games-panel{background:var(--panel);color:var(--ink)}.mm-layout{grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr);gap:1.25rem;display:grid}@media (width<=860px){.mm-layout{grid-template-columns:1fr}}.mm-path{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.mm-path code{color:var(--muted);font-size:.9rem}.mm-lib-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.mm-lib-tabs button{padding:.35rem .7rem;font-size:.85rem}.mm-lib-tabs button.active{background:color-mix(in srgb, var(--accent,#3ecf9a) 22%, transparent);border-color:color-mix(in srgb, var(--accent,#3ecf9a) 55%, var(--line))}.mm-dir-row{align-items:stretch;gap:.35rem;display:flex}.mm-dir-row>button:first-child{flex:1;width:auto}.mm-dir-edit{white-space:nowrap;flex:none;width:auto!important}.mm-audio-preview{width:100%;margin:.75rem 0}.mm-tracks{margin:.75rem 0 1rem}.mm-tracks h4{margin:0 0 .4rem;font-size:.95rem}.mm-list{border:1px solid var(--line);background:var(--panel-2);max-height:70vh;color:var(--ink);border-radius:12px;margin:0;padding:0;list-style:none;overflow:auto}.mm-list>li{color:var(--ink)}.mm-list>li.muted{color:var(--muted);padding:.7rem .85rem}.mm-list li button{appearance:none;border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;display:flex}.mm-list li button:hover,.mm-list li button.active{background:color-mix(in srgb, var(--accent) 18%, var(--panel));border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.mm-meta{color:var(--muted);font-size:.8rem}.mm-file-title{margin:0 0 .35rem;font-family:Nunito,system-ui,sans-serif;font-size:1.25rem}.mm-preview{background:#1a2226;border-radius:12px;width:100%;max-height:42vh;margin:.75rem 0 1rem}.mm-toolbar,.mm-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.mm-section-row{grid-template-columns:1fr 5.5rem 5.5rem auto auto;align-items:center;gap:.4rem;margin-bottom:.45rem;display:grid}.mm-section-row input{font:inherit;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);border-radius:8px;padding:.45rem .55rem}.mm-time{font-variant-numeric:tabular-nums}.mm-check{color:var(--muted);align-items:center;gap:.5rem;margin:.5rem 0 1rem;font-size:.95rem;display:flex}.mm-job{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:12px;padding:.85rem 1rem}.mm-job-bar{background:#ffffff14;border-radius:999px;height:8px;margin-top:.55rem;overflow:hidden}.mm-job-bar>span{border-radius:inherit;background:var(--accent,#3ecf9a);height:100%;transition:width .4s;display:block}.mm-job.done{border-color:#3ecf9a73}.mm-job.error{border-color:#ff6b6b73}.mm-job ul{margin:.5rem 0 0;padding-left:1.1rem}.mm-clean-ok{background:color-mix(in srgb, var(--accent) 18%, var(--panel));color:var(--accent);border-radius:10px;margin:0 0 1rem;padding:.65rem .85rem;font-weight:600}.mm-yt{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:14px;margin:0 0 1.25rem;padding:1rem 1.1rem}.mm-yt h3{color:var(--ink);margin:0 0 .35rem;font-family:Nunito,system-ui,sans-serif;font-size:1.2rem}.mm-yt-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:.75rem 0;display:grid}.mm-yt-field{color:var(--muted);gap:.35rem;font-size:.9rem;display:grid}.mm-yt-field input,.mm-yt-field select{font:inherit;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem}.mm-yt-field input::placeholder,.mm-yt-field textarea::placeholder{color:var(--muted-dim)}.mm-yt-folder-tip{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mm-yt-use-folder{margin-left:.25rem}.mm-yt-info{background:#ffffff14;border-radius:12px;grid-template-columns:96px 1fr;align-items:center;gap:.85rem;margin-top:.85rem;padding:.65rem;display:grid}.mm-yt-info img{object-fit:cover;border-radius:8px;width:96px;height:54px}.mm-yt-info strong{margin-bottom:.2rem;display:block}.mm-yt .mm-actions{margin-top:.75rem;margin-bottom:0}.mm-yt-field textarea{border:1px solid var(--line);background:var(--bg-2);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:8px;margin-top:.35rem;padding:.5rem .65rem}.mm-meta-hits{gap:.5rem;max-height:320px;margin:.75rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.mm-meta-hit{text-align:left;appearance:none;border:1px solid var(--line);background:var(--panel);width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:10px;grid-template-columns:48px 1fr;align-items:center;gap:.65rem;padding:.45rem .55rem;display:grid}.mm-meta-hit:hover{border-color:color-mix(in srgb, var(--accent,#3ecf9a) 55%, var(--line))}.mm-meta-hit img,.mm-meta-hit-ph{object-fit:cover;background:var(--bg-2);border-radius:4px;width:48px;height:72px}.mm-meta-hit-ph{opacity:.45;place-items:center;font-weight:700;display:grid}.mm-meta-hit strong{display:block}.mm-meta-hit em{opacity:.85;font-style:normal}.ops-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.ops-row{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:10px;padding:.85rem 1rem}.ops-row.ok strong{color:var(--mint)}.ops-row.bad strong{color:var(--danger)}.speed-test-controls{margin-bottom:.75rem}.speed-test-results{margin-top:.75rem}.speed-test-results strong{font-size:1.25rem}.ops-row span{opacity:.8;margin-left:.5rem;font-size:.8rem;display:inline-block}.ops-row p{margin:.35rem 0 0;font-size:.85rem}.report-bars{align-items:flex-end;gap:3px;height:36px;margin-top:.35rem;display:flex}.report-bars span{background:var(--accent,#3ecf9a);opacity:.85;border-radius:2px 2px 0 0;flex:1;min-height:2px}.schedule-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem;margin:.75rem 0;display:grid}.mm-tools{gap:1rem;margin-top:1.25rem;display:grid}.mm-issue-list{max-height:220px;font-size:.85rem;overflow:auto}.mm-issue-list label{align-items:flex-start;gap:.5rem;margin:.25rem 0;display:flex}.ab-player{gap:1rem;width:min(520px,100%);margin:0 auto;display:grid}.ab-main{text-align:center;justify-items:center;gap:.85rem;display:grid}.ab-cover{aspect-ratio:1;object-fit:cover;border-radius:12px;width:min(240px,70vw);display:block;box-shadow:0 12px 28px #1f5f741f}.ab-cover-ph{background:color-mix(in srgb, var(--accent) 18%, #d7ebf3);place-items:center;font-size:4rem;font-weight:700;display:grid}.ab-title{margin:0;font-size:1.35rem}.ab-sub{margin:.15rem 0 0}.ab-resume{margin:.35rem 0 0;font-size:.85rem}.ab-audio{width:100%}.ab-controls{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.65rem 1rem;display:flex}.ab-skip{gap:.4rem;display:flex}.ab-field{color:var(--muted,#888);gap:.2rem;font-size:.8rem;display:grid}.ab-field select{border-radius:8px;min-width:4.5rem;padding:.35rem .5rem}.ab-sleep-left{align-self:center;font-size:.85rem}.ab-chapters{text-align:left;border-top:1px solid color-mix(in srgb, var(--muted,#888) 30%, transparent);max-height:280px;padding-top:.75rem;overflow:auto}.ab-chapters h3{margin:0 0 .5rem;font-size:.95rem}.ab-chapters ol{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.ab-chapters li button{text-align:left;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;width:100%;padding:.45rem .6rem;display:grid}.ab-chapters li button.active{background:color-mix(in srgb, var(--accent,#3ecf9a) 22%, transparent)}.ab-ch-idx{opacity:.55;font-variant-numeric:tabular-nums;min-width:1.5rem}.ab-ch-now{color:var(--accent);font-size:.75rem}.comic-reader{gap:.75rem;width:min(900px,100%);margin:0 auto;display:grid}.comic-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.comic-page-label{font-variant-numeric:tabular-nums;font-size:.95rem}.comic-stage{cursor:pointer;background:#1a2226;border:none;border-radius:12px;place-items:center;min-height:50vh;max-height:75vh;padding:0;display:grid;position:relative;overflow:auto}.comic-stage img{max-width:100%;height:auto;display:block}.comic-img-loading{position:absolute;top:1rem}.comic-hint{text-align:center;margin:0;font-size:.8rem}.comic-fallback,.comic-loading{text-align:center;padding:2rem 1rem}.album-grid .poster-btn img,.album-grid .poster-btn .ph{aspect-ratio:1}.album-grid.play-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.album-browser{gap:1.25rem;width:min(720px,100%);display:grid}.album-hero{grid-template-columns:minmax(120px,200px) 1fr;align-items:start;gap:1rem 1.25rem;display:grid}@media (width<=560px){.album-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.album-hero-top{justify-content:center}}.album-hero-art{aspect-ratio:1;object-fit:cover;border-radius:14px;width:100%;max-width:200px;box-shadow:0 10px 24px #1f5f741f}.album-hero-ph{background:color-mix(in srgb, var(--accent) 18%, #d7ebf3);place-items:center;font-size:3.5rem;font-weight:700;display:grid}.album-hero-meta{min-width:0}.album-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem .75rem;display:flex}.album-hero-title{margin:0;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.15}.album-hero-sub{margin:.35rem 0 0}.album-hero-overview{max-width:42rem;margin:.65rem 0 0;font-size:.92rem;line-height:1.45}.album-hero-count{margin:.5rem 0 0;font-size:.85rem}.album-tag-btn{white-space:nowrap}.album-track-list h3{margin:0 0 .55rem;font-size:1rem}.album-track-list ol{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.album-track{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.55rem .7rem;display:grid}.album-track:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 14%, var(--panel));border-color:var(--line)}.album-track.active{background:color-mix(in srgb, var(--accent) 14%, transparent)}.album-track-idx{opacity:.5;font-variant-numeric:tabular-nums;min-width:1.75rem}.album-track-name{min-width:0}.album-track-now{color:var(--accent);font-size:.75rem}.ab-player-music{width:min(560px,100%)}.ab-player-music .ab-cover{width:min(320px,78vw)}.ab-player-music .ab-chapters{max-height:360px}.abook{border:1px solid var(--line);background:var(--panel);width:min(640px,100%);box-shadow:var(--shadow-strong);border-radius:24px;margin:0 auto;overflow:hidden}.abook-hero{color:#fff;background:linear-gradient(165deg,#6eb8d4 0%,#4a9bb8 55%,#3a7f98 100%);padding:1.25rem 1.25rem 2.25rem;position:relative}.abook-hero-inner{grid-template-columns:110px 1fr;align-items:start;gap:1rem;display:grid}.abook-cover{aspect-ratio:2/3;object-fit:cover;border-radius:14px;width:110px;box-shadow:0 12px 28px #1f5f7424}.abook-cover-ph{background:color-mix(in srgb, var(--accent) 22%, #d7ebf3);place-items:center;font-size:2.4rem;font-weight:700;display:grid}.abook-hero-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.abook-title{margin:0;font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.2}.abook-author{color:#ffffffe6;margin:.35rem 0 0}.abook-stats{margin:.45rem 0 0;font-size:.85rem}.abook-fab-row{gap:.55rem;display:flex;position:absolute;bottom:-1.35rem;right:1.25rem}.abook-fab-play{background:var(--panel);width:3.4rem;height:3.4rem;color:var(--ink);cursor:pointer;border:none;border-radius:999px;font-size:1.1rem;box-shadow:0 10px 24px #1f5f7424}.abook-body{gap:1.25rem;padding:2rem 1.25rem 1.25rem;display:grid}.abook-about h3,.abook-chapters h3{margin:0 0 .45rem;font-size:1rem}.abook-about p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.abook-chapters-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.abook-chapters ol{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.abook-ch{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .65rem;display:flex}.abook-ch:hover:not(:disabled){background:color-mix(in srgb, var(--bg) 55%, transparent);border-color:var(--line)}.abook-ch.active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.abook-ch-main{gap:.15rem;min-width:0;display:grid}.abook-ch-title{font-weight:600}.abook-ch-dur{font-size:.82rem}.abook-ch-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.abook-ch-done{color:var(--accent);font-weight:700}.abook-ch-play{background:color-mix(in srgb, var(--accent) 22%, transparent);border-radius:999px;place-items:center;width:2rem;height:2rem;font-size:.7rem;display:grid}.abook-start{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;width:100%;padding:.9rem 1.25rem;font-size:1.05rem;font-weight:700}.abook-now{text-align:center;justify-items:center;gap:1rem;width:min(420px,100%);margin:0 auto;padding:1rem 0 1.5rem;display:grid}.abook-now-art-wrap{width:min(280px,75vw)}.abook-now-art{aspect-ratio:1;object-fit:cover;border-radius:18px;width:100%;display:block;box-shadow:0 16px 36px #1f5f7429}.abook-now-ph{background:color-mix(in srgb, var(--accent) 22%, #d7ebf3);place-items:center;font-size:4rem;font-weight:700;display:grid}.abook-now-meta{width:100%}.abook-now-chapter{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.85rem}.abook-now-title{margin:.25rem 0 0;font-size:1.35rem}.abook-now-sub{margin:.25rem 0 0}.abook-now-audio{display:none}.abook-now-progress{cursor:pointer;background:#ffffff2e;border-radius:999px;width:100%;height:6px;overflow:hidden}.abook-now-progress-fill{background:var(--accent);border-radius:inherit;height:100%}.abook-now-times{justify-content:space-between;width:100%;margin-top:-.35rem;font-size:.8rem;display:flex}.abook-now-tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem 1rem;display:flex}.abook-now-speed{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .75rem;font-weight:700}.abook-now-sleep{color:var(--muted);text-align:left;gap:.15rem;font-size:.75rem;display:grid}.abook-now-sleep select{border-radius:8px;padding:.3rem .45rem}.abook-now-controls{justify-content:center;align-items:center;gap:1.25rem;margin-top:.25rem;display:flex}.abook-now-skip{border:1px solid var(--line);width:3rem;height:3rem;color:inherit;cursor:pointer;background:0 0;border-radius:999px;font-weight:700}.abook-now-toggle{background:var(--panel);width:4.4rem;height:4.4rem;color:var(--ink);cursor:pointer;border:none;border-radius:999px;font-size:1.15rem;box-shadow:0 12px 28px #1f5f741f}.abook-now-list{text-align:left;border-top:1px solid var(--line);width:100%;max-height:240px;padding-top:.85rem;overflow:auto}.abook-now-list h3{margin:0 0 .45rem;font-size:.95rem}.abook-now-list ol{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.epub-status{margin:0 0 .5rem;padding:0 .25rem}body{margin:0}
