:root{--peach:#f4a984;--peach-2:#f7bb9c;--peach-ink:#3a1d10;--lavender:#c4b1d4;--lavender-deep:#9b7fbf;--mint:#a8d8c8;--mint-ink:#0f2a21;--blush:#e8a0b4;--cream:#fdf6ec;--cream-warm:#f5ead6;--peach-deep:#e0774b;--accent:#c4613a;--mint-text:#2e7d64;--lavender-text:#7c5fa6;--blush-text:#b9486a;--bg:#faf5ee;--bg-2:#f4ede4;--surface:#fff;--surface-2:#fcf8f3;--surface-3:#fff;--ink:45, 36, 51;--line:rgba(var(--ink), .09);--line-strong:rgba(var(--ink), .16);--fill-1:rgba(var(--ink), .03);--fill-2:rgba(var(--ink), .05);--fill-3:rgba(var(--ink), .08);--fill-4:rgba(var(--ink), .14);--text:#2d2433;--text-2:#6a5c70;--text-3:#968a9b;--peach-soft:var(--peach-2);--bg-card:var(--surface);--bg-card-hover:var(--surface-2);--text-muted:var(--text-2);--text-dim:var(--text-3);--shadow-glow:#f4a9841f;--font-logo:"Caveat", "Segoe Print", "Bradley Hand", cursive;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--shadow-card:0 1px 2px rgba(var(--ink), .04), 0 8px 24px -14px rgba(var(--ink), .18);--shadow-pop:0 24px 60px -16px rgba(var(--ink), .28), 0 0 0 1px rgba(var(--ink), .06);--topbar-h:60px;--tabbar-h:60px;--content-w:1100px;--gutter:24px;--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{overscroll-behavior-y:contain}html{text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-size:15px;line-height:1.5;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}img,svg{vertical-align:middle;display:inline-block}.icon{flex:none}:focus-visible{outline:2px solid var(--lavender-deep);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:#f4a98466}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--fill-4);border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ambient{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient:before{content:"";background:radial-gradient(at 15% 85%,#f4a98412 0%,#0000 50%),radial-gradient(at 85% 15%,#c4b1d40f 0%,#0000 50%),radial-gradient(#a8d8c808 0%,#0000 60%);position:absolute;inset:0}.paw{opacity:0;pointer-events:none;filter:blur(.5px);font-size:16px;animation:linear infinite floatPaw;position:absolute}@keyframes floatPaw{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:.15}90%{opacity:.15}to{opacity:0;transform:translateY(-10vh)rotate(360deg)}}.sparkle{background:var(--peach);opacity:0;border-radius:50%;width:3px;height:3px;animation:4s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:.3;transform:scale(1.2)}}.kitesurf-cat{z-index:0;pointer-events:none;width:120px;height:150px;animation:3s ease-in-out infinite bobOnWater;position:fixed;bottom:16px;left:24px}@keyframes bobOnWater{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-3px)rotate(.5deg)}70%{transform:translateY(2px)rotate(-.5deg)}}.kite{animation:4s ease-in-out infinite kiteFloat;position:absolute;top:0;left:50%;transform:translate(-50%)}@keyframes kiteFloat{0%,to{transform:translate(-50%)translate(0)rotate(-2deg)}25%{transform:translate(-50%)translate(4px,-3px)rotate(1deg)}50%{transform:translate(-50%)translate(-2px,-5px)rotate(-3deg)}75%{transform:translate(-50%)translate(-5px,-2px)rotate(0)}}.kite-body{clip-path:polygon(50% 0%,100% 40%,50% 100%,0% 40%);filter:drop-shadow(0 0 6px #4da6ff4d);background:linear-gradient(135deg,#4da6ff 0%,#2979cc 50%,#1a5fa0 100%);width:28px;height:22px;position:relative}.kite-body:before{content:"";clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:#ffffff59;width:50%;height:30%;position:absolute;top:35%;left:25%}.kite-tail{transform-origin:top;background:linear-gradient(#4da6ff,#0000);width:2px;height:14px;animation:1.5s ease-in-out infinite tailDance;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.kite-tail:after{content:"";border-bottom:2px solid #4da6ff80;border-right:2px solid #0000;border-radius:0 0 50%;width:6px;height:6px;animation:1.2s ease-in-out infinite reverse tailDance;position:absolute;bottom:-4px;left:-2px}@keyframes tailDance{0%,to{transform:translate(-50%)rotate(-8deg)}50%{transform:translate(-50%)rotate(8deg)}}.kite-lines{opacity:.6;width:120px;height:140px;position:absolute;top:5px;left:0}.surf-cat{position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.cat-head{z-index:2;background:#f5ead6;border-radius:50% 50% 42% 42%;width:20px;height:18px;margin:0 auto;position:relative}.surf-cat .cat-ear-l,.surf-cat .cat-ear-r{border-bottom:9px solid #5c4033;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;top:-6px}.surf-cat .cat-ear-l{left:-1px;transform:rotate(-10deg)}.surf-cat .cat-ear-r{right:-1px;transform:rotate(10deg)}.surf-cat .cat-ear-l:after,.surf-cat .cat-ear-r:after{content:"";border-bottom:4px solid #e8a0b4;border-left:2px solid #0000;border-right:2px solid #0000;position:absolute;top:4px;left:-2px}.cat-face-mask{opacity:.7;background:radial-gradient(#5c4033 0%,#6b4c3b 60%,#0000 100%);border-radius:40% 40% 50% 50%;width:12px;height:9px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.cat-eyes{z-index:1;justify-content:center;gap:5px;padding-top:5px;display:flex;position:relative}.cat-eye{background:radial-gradient(circle,#7ec8e3 30%,#4da6ff 70%,#2979cc 100%);border-radius:50%;width:5px;height:5px;animation:4s ease-in-out infinite eyeBlink;position:relative;box-shadow:0 0 3px #4da6ff99,0 0 6px #4da6ff33}.cat-pupil{background:#1a1520;border-radius:50%;width:2px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes eyeBlink{0%,42%,48%,to{transform:scaleY(1)}45%{transform:scaleY(.1)}}.cat-nose{z-index:1;background:#e8a0b4;border-radius:50% 50% 40% 40%;width:3px;height:2px;margin:1px auto 0;position:relative}.cat-mouth{text-align:center;color:#e8a0b4;z-index:1;margin-top:-1px;font-size:5px;line-height:1;position:relative}.cat-whiskers{z-index:1;position:absolute;top:10px;left:0;right:0}.whisker{border-top:.5px solid var(--fill-4);width:8px;height:0;position:absolute}.whisker-l1{top:0;left:-4px;transform:rotate(-8deg)}.whisker-l2{top:3px;left:-3px;transform:rotate(5deg)}.whisker-r1{top:0;right:-4px;transform:rotate(8deg)}.whisker-r2{top:3px;right:-3px;transform:rotate(-5deg)}.cat-blush{z-index:1;background:#e8a0b459;border-radius:50%;width:4px;height:3px;position:absolute;top:10px}.cat-blush-l{left:1px}.cat-blush-r{right:1px}.cat-torso{background:linear-gradient(#f5ead6,#e8dcc8);border-radius:4px 4px 2px 2px;width:14px;height:16px;margin:0 auto;position:relative}.cat-arm-back{transform-origin:bottom;background:linear-gradient(#f5ead6,#5c4033);border-radius:2px;width:3px;height:18px;position:absolute;bottom:38px;left:50%;transform:translate(8px)rotate(-25deg)}.cat-arm-front{transform-origin:bottom;z-index:3;background:linear-gradient(#e8dcc8,#5c4033);border-radius:2px;width:3px;height:18px;position:absolute;bottom:38px;left:50%;transform:translate(-8px)rotate(25deg)}.cat-legs{width:18px;height:6px;margin:0 auto;position:relative}.cat-legs:before,.cat-legs:after{content:"";background:linear-gradient(#e8dcc8,#5c4033);border-radius:0 0 2px 2px;width:4px;height:6px;position:absolute;bottom:0}.cat-legs:before{left:2px}.cat-legs:after{right:2px}.cat-tail-surf{transform-origin:0;border:2px solid #0000;border-right-color:#5c4033;border-radius:0 50% 50% 0;width:18px;height:8px;animation:1.5s ease-in-out infinite surfTailWag;position:absolute;bottom:30px;left:50%;transform:translate(8px)}@keyframes surfTailWag{0%,to{transform:translate(8px)rotate(-10deg)}50%{transform:translate(8px)rotate(10deg)}}.surfboard{background:linear-gradient(90deg, var(--peach), #e8937a);border-radius:12px 12px 4px 4px;width:48px;height:6px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #f4a9844d}.surfboard:before{content:"";background:#ffffff4d;border-radius:2px;height:2px;position:absolute;top:1px;left:4px;right:4px}.water{height:16px;position:absolute;bottom:8px;left:-10px;right:-10px;overflow:hidden}.wave{opacity:.35;border-radius:50%;height:8px;position:absolute;bottom:0}.wave-1{background:radial-gradient(at top,#4da6ff,#0000);width:40px;animation:2.5s ease-in-out infinite waveMove;left:-5px}.wave-2{background:radial-gradient(at top,#4da6ff,#0000);width:50px;animation:3s ease-in-out .5s infinite waveMove;left:30px}.wave-3{background:radial-gradient(at top,#4da6ff,#0000);width:35px;animation:2s ease-in-out 1s infinite waveMove;left:70px}@keyframes waveMove{0%,to{opacity:.35;transform:translate(0)scaleY(1)}50%{opacity:.5;transform:translate(3px)scaleY(1.4)}}.spray{background:#4da6ff66;border-radius:50%;width:4px;height:4px;animation:1.8s ease-out infinite sprayUp;position:absolute;bottom:6px;left:10px}.spray:before,.spray:after{content:"";background:#4da6ff4d;border-radius:50%;position:absolute}.spray:before{width:3px;height:3px;animation:2s ease-out .3s infinite sprayUp;top:2px;left:8px}.spray:after{width:2px;height:2px;animation:1.5s ease-out .7s infinite sprayUp;top:1px;left:16px}@keyframes sprayUp{0%{opacity:.5;transform:translateY(0)}50%{opacity:.3;transform:translateY(-6px)}to{opacity:0;transform:translateY(-10px)}}@media (width<=640px){.kitesurf-cat{display:none}}.northshore{z-index:1;pointer-events:none;height:190px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.northshore svg{width:100%;height:100%;display:block;position:absolute;bottom:0;left:0}.ridge-far{fill:#9b7fbf24}.ridge-near{fill:#9b7fbf38}.sunset-glow{z-index:0;pointer-events:none;background:radial-gradient(70% 100% at 22% 100%,#f4a98421 0%,#0000 62%),radial-gradient(50% 80% at 78% 100%,#e8a0b414 0%,#0000 60%);height:320px;position:fixed;bottom:60px;left:0;right:0}.petal{opacity:0;pointer-events:none;background:linear-gradient(135deg,#e8a0b48c,#f8c4a859);border-radius:100% 0;width:9px;height:9px;animation:linear infinite floatPetal;position:absolute}@keyframes floatPetal{0%{opacity:0;transform:translateY(-10vh)rotate(0)}12%{opacity:.5}88%{opacity:.5}to{opacity:0;transform:translate(70px,100vh)rotate(420deg)}}@media (prefers-reduced-motion:reduce){.petal,.paw,.sparkle,.kitesurf-cat,.kite,.kite-tail,.cat-tail-surf,.wave,.spray,.card-cat{animation:none!important}.petal,.paw,.sparkle{opacity:.18}}@media (width<=640px){.northshore,.sunset-glow{display:none}}.screen{z-index:1000;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.screen.hidden{display:none}.screen-box{z-index:1;text-align:center;width:100%;max-width:440px;animation:appear .7s var(--ease-out);position:relative}@keyframes appear{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.brand-lockup{color:var(--peach);flex-direction:column;align-items:center;gap:10px;margin-bottom:26px;display:flex}.brand{font-family:var(--font-logo);color:var(--peach-deep);font-size:clamp(2.6rem,8vw,3.4rem);font-weight:700;line-height:1}.brand-sub{color:var(--text-2);font-size:.95rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);text-align:center;padding:32px 30px 28px;position:relative}.card h2{font-family:var(--font-display);color:var(--text);margin-bottom:6px;font-size:1.5rem;font-weight:500}.card>p{color:var(--text-2);margin-bottom:22px;font-size:.92rem;line-height:1.55}.card .field{text-align:left}.error-msg{min-height:1.3em;color:var(--blush-text);opacity:0;margin-top:10px;font-size:.82rem;transition:opacity .25s}.error-msg.show{opacity:1}#app{z-index:1;position:relative}.topbar{z-index:100;height:var(--topbar-h);backdrop-filter:blur(16px)saturate(140%);border-bottom:1px solid var(--line);background:#faf5eedb;position:sticky;top:0}.topbar-inner{max-width:calc(var(--content-w) + var(--gutter) * 2);height:100%;padding:0 var(--gutter);align-items:center;gap:16px;margin:0 auto;display:flex}.topbar .brand{color:var(--peach-deep);font-family:var(--font-logo);white-space:nowrap;align-items:center;gap:9px;font-size:1.7rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.topbar .brand .paw-mark{color:var(--peach)}.nav{background:var(--fill-1);border:1px solid var(--line);border-radius:999px;align-items:center;gap:2px;margin:0 auto;padding:3px;display:flex}.nav-link{height:34px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.nav-link:hover{color:var(--text);background:var(--fill-2)}.nav-link.active{color:var(--peach-ink);background:var(--peach)}.nav-link.active .icon{stroke-width:2px}.topbar-right{align-items:center;gap:6px;margin-left:auto;display:flex}.icon-btn{width:38px;height:38px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:inline-grid}.icon-btn:hover{color:var(--text);background:var(--fill-2)}.icon-btn.active{color:var(--accent);background:#f4a9841f}.avatar{width:32px;height:32px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:700;line-height:1;display:inline-grid}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.who{cursor:pointer;height:40px;color:var(--text-2);border-radius:999px;align-items:center;gap:9px;padding:0 4px 0 12px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.who:hover,.menu[open] .who{background:var(--fill-2);color:var(--text)}.menu-pop{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);min-width:230px;box-shadow:var(--shadow-pop);animation:appear .18s var(--ease-out);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.menu-head{border-bottom:1px solid var(--line);align-items:center;gap:11px;margin-bottom:6px;padding:10px 10px 12px;display:flex}.menu-title{font-size:14px;font-weight:600}.menu-sub{color:var(--text-3);font-size:12px}.menu-item{border-radius:var(--r-sm);width:100%;color:var(--text-2);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px;font-size:14px;text-decoration:none;transition:background .12s,color .12s;display:flex}.menu-item:hover{background:var(--fill-2);color:var(--text)}.tabbar{display:none}.main{max-width:calc(var(--content-w) + var(--gutter) * 2);padding:28px var(--gutter) 72px;margin:0 auto}.page-head{animation:appear .5s var(--ease-out);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:22px;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.7rem,3.2vw,2.1rem);font-weight:500;line-height:1.15}.page-title em,.page-title .hl{color:var(--accent);font-style:normal;font-weight:600}.page-sub{color:var(--text-2);margin-top:4px;font-size:.93rem}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.welcome{animation:appear .5s var(--ease-out);margin-bottom:24px}.welcome h1{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.9rem,4vw,2.5rem);font-weight:500;line-height:1.15}.welcome h1 .hl{color:var(--accent);font-style:italic;font-weight:400}.welcome p{color:var(--text-2);margin-top:6px}.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;margin:26px 0 12px;font-size:12.5px;font-weight:600;display:flex}.section-title:after{content:"";background:var(--line);flex:1;height:1px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:20px}.panels{animation:appear .6s var(--ease-out) 50ms both;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.panel-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-ico{width:32px;height:32px;color:var(--text-2);background:var(--fill-2);border-radius:10px;flex:none;place-items:center;display:grid}.panel-ico.peach{color:var(--accent);background:#f4a98421}.panel-ico.lavender{color:var(--lavender-text);background:#c4b1d424}.panel-ico.mint{color:var(--mint-text);background:#a8d8c821}.panel-ico.blush{color:var(--blush-text);background:#e8a0b421}.panel-label{letter-spacing:-.005em;font-size:15px;font-weight:600}.panel-note{color:var(--text-3);margin-left:auto;font-size:12.5px}.rows{flex-direction:column;display:flex}.row{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:48px;padding:8px 4px;display:flex}.row:first-child{border-top:none}.row .grow{flex:1;min-width:0}.empty{color:var(--text-3);padding:18px 4px;font-size:14px}.cal-empty{color:var(--text-3);font-size:13.5px}.hint,.cal-hint{color:var(--text-3);margin-top:10px;font-size:12.5px;line-height:1.5}.hint a,.cal-hint a{color:var(--accent)}.btn{border-radius:var(--r-md);letter-spacing:.005em;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn-peach{background:var(--peach);color:var(--peach-ink)}.btn-peach:hover{background:var(--peach-2)}.btn-mint{background:var(--mint);color:var(--mint-ink)}.btn-mint:hover{background:#b9e3d5}.btn-ghost,.link-cancel{border:1px solid var(--line-strong);border-radius:var(--r-md);height:42px;color:var(--text-2);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-ghost:hover,.link-cancel:hover{color:var(--text);background:var(--fill-2)}.btn-danger{color:var(--blush-text);border-color:#e8a0b459}.btn-danger:hover{color:var(--blush-text);background:#e8a0b41a}.btn-sm{border-radius:10px;height:34px;padding:0 12px;font-size:13px}.btn-block{width:100%}.row-action{border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-3);background:0 0;border:none;flex:none;place-items:center;transition:color .12s,background .12s;display:inline-grid}.row-action:hover{color:var(--text);background:var(--fill-2)}.row-action.danger:hover{color:var(--blush-text);background:#e8a0b41f}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.field label,.label{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--fill-1);width:100%;height:44px;color:var(--text);padding:0 14px;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.field textarea,textarea.input{resize:vertical;height:auto;min-height:84px;padding:11px 14px;line-height:1.5}.field select,select.input{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b6a9be' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.field input::placeholder,.input::placeholder,.field textarea::placeholder{color:var(--text-3)}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--accent);background:var(--fill-2);outline:none;box-shadow:0 0 0 3px #f4a9842e}input[type=date],input[type=time]{color-scheme:light}.form-row{align-items:stretch;gap:8px;display:flex}.form-row .input{flex:1;min-width:0}.form-row .btn{height:44px}.seg,.cal-tabs,.input-toggle{border-radius:var(--r-md);background:var(--fill-2);border:1px solid var(--line);gap:3px;padding:3px;display:flex}.seg-btn,.cal-tab,.tog{height:36px;color:var(--text-2);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.seg-btn:hover,.cal-tab:hover,.tog:hover{color:var(--text)}.seg-btn.active,.seg-btn[aria-selected=true],.cal-tab.active,.cal-tab[aria-selected=true],.tog.active{background:var(--surface-3);color:var(--text);box-shadow:0 1px 3px rgba(var(--ink), .12), 0 0 0 1px rgba(var(--ink), .05)}.cal-check{border-radius:var(--r-md);border:1px solid var(--line);background:var(--fill-1);width:100%;color:var(--text);cursor:pointer;user-select:none;align-items:center;gap:12px;margin-bottom:14px;padding:11px 14px;font-size:14px;transition:border-color .15s,background .15s;display:flex}.cal-check:hover{border-color:var(--line-strong)}.cal-check input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.cal-check .switch{background:var(--fill-4);border-radius:999px;flex:none;width:42px;height:24px;transition:background .2s;display:block;position:relative}.cal-check .switch:after{content:"";background:var(--text-2);width:18px;height:18px;transition:transform .2s var(--ease-out), background .2s ease;border-radius:50%;position:absolute;top:3px;left:3px}.cal-check input:checked+.switch{background:var(--peach)}.cal-check input:checked+.switch:after{background:var(--peach-ink);transform:translate(18px)}.cal-check input:focus-visible+.switch{outline:2px solid var(--lavender);outline-offset:3px}.cal-check-text{flex-direction:column;gap:1px;line-height:1.35;display:flex}.cal-check-sub{color:var(--text-3);font-size:12px}.keys{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.key-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:6px 0;font-size:14px;display:flex}.key-name{color:var(--text-2)}.key-val{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.kbd{border:1px solid var(--line-strong);background:var(--fill-2);min-width:26px;color:var(--text);letter-spacing:.04em;text-align:center;border-bottom-width:2px;border-radius:7px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge{background:var(--fill-2);height:24px;color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.badge.mint{color:var(--mint-text);background:#a8d8c824}.badge.blush{color:var(--blush-text);background:#e8a0b424}.badge.peach{color:var(--accent);background:#f4a98424}.badge.lavender{color:var(--lavender-text);background:#c4b1d429}.dialog,.cal-dialog,.link-dialog{border:1px solid var(--line-strong);border-radius:var(--r-xl);background:var(--surface-2);width:min(500px,100vw - 24px);max-height:min(90vh,900px);color:var(--text);box-shadow:var(--shadow-pop);margin:auto;padding:0;overflow:hidden}.dialog[open],.cal-dialog[open],.link-dialog[open]{animation:dialogIn .24s var(--ease-out)}@keyframes dialogIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.dialog::backdrop,.cal-dialog::backdrop,.link-dialog::backdrop{background:rgba(var(--ink), .32);backdrop-filter:blur(4px)}.dialog-inner,.cal-dialog-inner,.link-dialog-inner{max-height:min(90vh,900px);padding:24px 22px 20px;overflow-y:auto}.dialog h2,.cal-dialog h2,.link-dialog h2{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:2px;font-size:1.5rem;font-weight:500}.dialog-sub,.cal-dialog-sub{color:var(--text-2);margin-bottom:16px;font-size:13.5px}.dialog-actions,.cal-actions,.link-dialog-actions{gap:10px;margin-top:18px;display:flex}.dialog-actions .btn,.cal-actions .btn,.link-dialog-actions .btn{flex:1}@media (width<=640px){.dialog,.cal-dialog,.link-dialog{border-radius:var(--r-xl) var(--r-xl) 0 0;border-bottom:none;width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0}.dialog-inner,.cal-dialog-inner,.link-dialog-inner{padding-bottom:calc(20px + env(safe-area-inset-bottom))}@keyframes dialogIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}}.toast{bottom:calc(24px + env(safe-area-inset-bottom));z-index:9999;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--line-strong);color:var(--text);box-shadow:var(--shadow-pop);animation:appear .25s var(--ease-out);pointer-events:none;white-space:nowrap;padding:10px 18px;font-size:14px;position:fixed;left:50%;transform:translate(-50%)}.emu-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);animation:appear .6s var(--ease-out) 50ms both;margin-bottom:16px;overflow:hidden}.emu-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 16px;display:flex}.emu-bar-left{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.dot-live{background:var(--mint);border-radius:50%;width:8px;height:8px;animation:2.5s ease-in-out infinite pulse;box-shadow:0 0 0 3px #a8d8c82e}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.emu-bar-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bar-btn{border:1px solid var(--line-strong);height:32px;color:var(--text-2);background:0 0;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.bar-btn:hover{background:var(--fill-2);color:var(--text)}.cloud-pill{height:26px;color:var(--mint-text);background:#a8d8c81f;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.cloud-pill.offline{color:var(--blush-text);background:#e8a0b41f}#emulator-container{aspect-ratio:4/3;background:#0b090f;width:100%;position:relative}.loading-overlay{z-index:10;background:radial-gradient(#1f1928 0%,#0b090f 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-overlay.hidden{display:none}.load-cat{margin-bottom:14px;font-size:52px}.load-title{font-family:var(--font-display);color:#f3ece4;margin-bottom:4px;font-size:1.35rem}.load-sub{color:#f3ece48c;font-size:.85rem}.spinner{border:3px solid var(--fill-3);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:16px auto 8px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gp-status{border-radius:var(--r-md);align-items:center;gap:8px;padding:9px 12px;font-size:13.5px;display:flex}.gp-status.on{color:var(--mint-text);background:#a8d8c81a}.gp-status.off{color:var(--blush-text);background:#e8a0b414}.saves{flex-direction:column;gap:8px;display:flex}.sv-btn{border:1px solid var(--line-strong);border-radius:var(--r-md);height:44px;color:var(--text);text-align:left;background:0 0;align-items:center;gap:10px;padding:0 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.sv-btn:hover{background:var(--fill-2)}.sv-btn .icon{color:var(--text-2)}.slot-list{flex-direction:column;margin-top:14px;display:flex}.slot-list-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px;font-size:12px;font-weight:600}.slot-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:8px 0;font-size:13.5px;display:flex}.slot-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.slot-name{font-weight:500}.slot-date{color:var(--text-3);font-size:12px}.slot-load-btn{height:32px;color:var(--mint-text);white-space:nowrap;background:#a8d8c81a;border:1px solid #a8d8c859;border-radius:9px;flex:none;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s}.slot-load-btn:hover{background:#a8d8c833}.slot-list-loading{color:var(--text-3);align-items:center;gap:8px;padding:10px 0;font-size:13px;display:flex}.mini-spinner{border:2px solid var(--fill-3);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.mobile-launch{display:none}@media (width<=768px),(height<=500px) and (orientation:landscape) and (hover:none) and (pointer:coarse){.emu-shell{display:none}.mobile-launch{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);animation:appear .6s var(--ease-out) 50ms both;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-bottom:16px;padding:36px 22px 28px;display:flex}.mobile-launch-icon{width:64px;height:64px;color:var(--lavender-text);background:#c4b1d424;border-radius:20px;place-items:center;margin-bottom:10px;display:grid}.mobile-launch-title{font-family:var(--font-display);font-size:1.45rem}.mobile-launch-sub{color:var(--text-2);margin-bottom:18px;font-size:.9rem}.mobile-launch .btn{width:100%;max-width:320px;height:48px}}.emu-shell.mobile-fullscreen{z-index:10000!important;background:#0b090f!important;border:none!important;border-radius:0!important;width:100vw!important;height:100dvh!important;margin:0!important;display:block!important;position:fixed!important;inset:0!important}.emu-shell.mobile-fullscreen .emu-bar{display:none}.emu-shell.mobile-fullscreen #emulator-container{width:100%;height:100%;aspect-ratio:unset}.mobile-fs-overlay{z-index:10001;padding:calc(6px + env(safe-area-inset-top)) 10px 6px;pointer-events:none;justify-content:flex-end;display:flex;position:fixed;top:0;left:0;right:0}.mobile-fs-overlay.hidden{display:none}.mobile-fs-bar{pointer-events:auto;gap:6px;display:flex}.mobile-fs-btn{backdrop-filter:blur(8px);color:#f3ece4cc;background:#17131dd9;border:1px solid #ffffff24;border-radius:9px;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:12.5px;font-weight:500;display:inline-flex}.mobile-fs-btn:active{color:#f3ece4;background:#ffffff1a}.mobile-fs-exit{color:var(--blush);border-color:#e8a0b459}@media (width<=900px){.nav-link span{display:none}.nav-link{padding:0 11px}}@media (width<=680px){:root{--gutter:16px;--topbar-h:54px}.nav,.who-name{display:none}.who{padding:0 4px}.main{padding-top:20px;padding-bottom:calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom))}.tabbar{z-index:100;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);backdrop-filter:blur(16px)saturate(140%);border-top:1px solid var(--line);background:#faf5eeeb;justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{min-width:0;color:var(--text-3);letter-spacing:.01em;border-radius:var(--r-md);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:10.5px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.tab .icon{transition:transform .2s var(--ease-out)}.tab.active{color:var(--accent)}.tab.active .icon{stroke-width:2px;transform:translateY(-1px)}.tab:active .icon{transform:scale(.92)}.toast{bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom))}.panel{border-radius:18px;padding:16px}.panels{gap:12px}.keys{grid-template-columns:1fr;gap:0}}.cal-nav{border-radius:var(--r-md);border:1px solid var(--line);background:var(--fill-1);align-items:center;gap:2px;padding:3px;display:inline-flex}.cal-nav a{min-width:34px;height:34px;color:var(--text-2);border-radius:9px;justify-content:center;align-items:center;padding:0 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.cal-nav a.cal-nav-icon{padding:0}.cal-nav a:hover{color:var(--text);background:var(--fill-2)}.cal-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);animation:appear .5s var(--ease-out) 50ms both;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.cal-dow{background:var(--surface-2);text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:10px 6px;font-size:11px;font-weight:600}.cal-day{background:var(--surface);text-align:left;min-height:112px;font:inherit;color:inherit;cursor:pointer;border:none;flex-direction:column;gap:5px;padding:8px 7px 9px;transition:background .15s;display:flex;position:relative}.cal-day:hover{background:var(--surface-2)}.cal-day.out{background:var(--bg-2)}.cal-day.out:hover{background:var(--surface)}.cal-day.out .cal-daynum{color:var(--text-3)}.cal-day.weekend .cal-daynum{color:var(--lavender-text)}.cal-daynum{font-variant-numeric:tabular-nums;width:26px;height:26px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.cal-day.today .cal-daynum{background:var(--peach);color:var(--peach-ink)}.cal-items{flex-direction:column;gap:3px;display:flex;overflow:hidden}.cal-event{background:var(--fill-2);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;border:none;border-radius:7px;align-items:center;gap:6px;padding:3px 7px;font-size:12px;line-height:1.35;display:flex}.cal-event:hover{background:var(--fill-3)}.cal-dot{border-radius:50%;flex:none;width:7px;height:7px}.cal-event-time{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none}.cal-event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-repeat{color:var(--lavender-text);flex:none;margin-left:auto;font-size:10px}.cal-meal{color:var(--mint-text);text-overflow:ellipsis;white-space:nowrap;background:#a8d8c847;border-radius:7px;align-items:center;gap:5px;padding:3px 7px;font-size:12px;line-height:1.35;display:flex;overflow:hidden}.cal-more{color:var(--text-3);padding-left:7px;font-size:11px}.cal-legend{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;font-size:13px;display:flex}.cal-legend span{align-items:center;gap:7px;display:inline-flex}.cal-legend .cal-legend-hint{color:var(--text-3);margin-left:auto}.cal-agenda{display:none}.agenda-day{border-top:1px solid var(--line);cursor:pointer;gap:14px;padding:12px 0;display:flex}.agenda-day:first-of-type{border-top:none}.agenda-date{text-align:center;flex:none;width:42px;line-height:1.1}.agenda-dow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600;display:block}.agenda-num{width:32px;height:32px;font-family:var(--font-display);border-radius:50%;place-items:center;margin:3px auto 0;font-size:18px;font-weight:500;display:grid}.agenda-day.today .agenda-num{background:var(--peach);color:var(--peach-ink)}.agenda-items{flex-direction:column;flex:1;gap:6px;min-width:0;padding-top:3px;display:flex}.agenda-item{align-items:center;gap:9px;min-width:0;font-size:14px;display:flex}.agenda-item .agenda-time{width:68px;color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;font-size:12.5px}.agenda-item .agenda-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.agenda-item.meal{color:var(--mint-text)}.cal-group{border-radius:var(--r-md);background:var(--fill-1);border:1px solid var(--line);margin-bottom:14px;padding:13px 14px}.cal-group-head{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;font-weight:600;display:flex}.cal-group-head:after{content:"";background:var(--line);flex:1;height:1px}.cal-group .field:last-child{margin-bottom:0}.cal-days{flex-wrap:wrap;gap:6px;display:flex}.cal-days label{cursor:pointer;margin:0}.cal-days input{opacity:0;pointer-events:none;position:absolute}.cal-days span{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--text-2);border-radius:50%;place-items:center;font-size:12.5px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:grid}.cal-days label:hover span{border-color:var(--accent);color:var(--text)}.cal-days input:checked+span{background:var(--peach);border-color:var(--accent);color:var(--peach-ink);font-weight:600}.cal-days input:focus-visible+span{outline:2px solid var(--lavender);outline-offset:2px}.repeat-badge{color:var(--lavender-text);white-space:nowrap;background:#c4b1d429;border-radius:20px;align-items:center;gap:4px;padding:1px 7px;font-size:11px;display:inline-flex}.cal-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.cal-daylist{flex-direction:column;margin-bottom:16px;display:flex}.cal-daylist-item{border-top:1px solid var(--line);align-items:center;gap:10px;min-height:44px;padding:6px 2px;font-size:14px;display:flex}.cal-daylist-item:first-child{border-top:none}.cal-daylist-item .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cal-daylist-item button{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-3);cursor:pointer;background:0 0;border:none;place-items:center;font-size:15px;line-height:1;display:inline-grid}.cal-daylist-item button:hover{color:var(--blush-text);background:#e8a0b41f}@media (width<=720px){.cal-day{gap:3px;min-height:64px;padding:5px 4px 6px}.cal-daynum{width:24px;height:24px;font-size:12.5px}.cal-event-title,.cal-event-time,.cal-repeat{display:none}.cal-event{background:0 0;justify-content:center;padding:0}.cal-items{flex-flow:wrap;gap:3px;padding:0 2px}.cal-dot{width:7px;height:7px}.cal-meal{background:0 0;padding:0;font-size:11px}.cal-meal .cal-meal-title,.cal-more{display:none}.cal-dow{letter-spacing:.04em;padding:8px 2px;font-size:10px}.cal-legend .cal-legend-hint{display:none}.cal-agenda{margin-top:8px;display:block}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:inline-flex}.tone-lavender .sys-glyph{color:var(--lavender-text)}.tone-mint .sys-glyph{color:var(--mint-text)}.tone-peach .sys-glyph{color:var(--accent)}.topbar-tag{height:28px;color:var(--lavender-text);background:#c4b1d433;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:600;display:inline-flex}.topbar-signin{height:36px}.guest-avatar{background:var(--mint);color:var(--mint-ink)}.arcade-hero{animation:appear .5s var(--ease-out);margin-bottom:20px}.arcade-hero .page-title{font-size:clamp(2rem,4.4vw,2.75rem)}.arcade-hero .page-sub{max-width:60ch;font-size:1rem}.arcade-gate{animation:appear .55s var(--ease-out) 30ms both;margin-bottom:18px}.player-form:not(.compact){border:1px solid var(--line);border-radius:var(--r-xl);background:radial-gradient(120% 140% at 0% 0%, #f4a98424, transparent 55%), var(--surface);max-width:580px;box-shadow:var(--shadow-card);padding:20px 22px 16px}.player-form-head{align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.player-form-ico{width:44px;height:44px;color:var(--accent);background:#f4a9842e;border-radius:14px;flex:none;place-items:center;display:grid}.player-form h2{font-family:var(--font-display);font-size:1.35rem;font-weight:500;line-height:1.2}.player-form-head p{color:var(--text-2);margin-top:2px;font-size:14px}.player-form .form-row .input,.player-form .form-row .btn{height:46px}.player-form .form-row .btn{padding:0 18px}.player-form .error-msg{text-align:left;min-height:0;margin-top:6px}.player-form .error-msg:not(.show){display:none}.player-form-foot{margin-top:10px}.play-gate .player-form{max-width:620px}.finder{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-card);animation:appear .55s var(--ease-out) 50ms both;flex-direction:column;gap:12px;padding:14px;display:flex}.search-field{align-items:center;display:flex;position:relative}.search-field input{border:1px solid var(--line-strong);background:var(--fill-1);width:100%;height:54px;color:var(--text);border-radius:14px;padding:0 56px 0 50px;font-size:16.5px;transition:border-color .15s,box-shadow .15s,background .15s}.search-field input::placeholder{color:var(--text-3)}.search-field input:focus{border-color:var(--accent);background:var(--surface);outline:none;box-shadow:0 0 0 4px #f4a9842e}.search-field input::-webkit-search-cancel-button{appearance:none}.search-field input::-webkit-search-decoration{appearance:none}.search-icon{color:var(--text-3);pointer-events:none;transition:color .15s;position:absolute;left:17px}.search-field:focus-within .search-icon{color:var(--accent)}.search-kbd{pointer-events:none;color:var(--text-3);position:absolute;right:16px}.search-field:focus-within .search-kbd,.search-field:has(.search-clear:not([hidden])) .search-kbd{display:none}@media (hover:none){.search-kbd{display:none}}.search-clear{background:var(--fill-2);width:34px;height:34px;color:var(--text-2);border:none;border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid;position:absolute;right:10px}.search-clear:hover{background:var(--fill-3);color:var(--text)}.filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--text-2);border-radius:999px;align-items:center;gap:7px;padding:0 7px 0 12px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.chip:has(.sys-glyph){padding-left:10px}.chip:hover{background:var(--fill-2);color:var(--text)}.chip-count{background:var(--fill-2);min-width:22px;height:22px;color:var(--text-3);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;display:inline-grid}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:#fff}.chip.tone-lavender[aria-pressed=true]{background:var(--lavender);border-color:var(--lavender);color:#2f2140}.chip.tone-mint[aria-pressed=true]{background:var(--mint);border-color:var(--mint);color:var(--mint-ink)}.chip.tone-peach[aria-pressed=true]{background:var(--peach);border-color:var(--peach);color:var(--peach-ink)}.chip[aria-pressed=true] .sys-glyph{color:currentColor}.chip[aria-pressed=true] .chip-count{color:inherit;background:#fff6}.filter-selects{flex-wrap:wrap;gap:6px;display:flex}.select-pill select{appearance:none;border:1px solid var(--line-strong);background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23968a9b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 10px center / 14px;max-width:190px;height:36px;color:var(--text-2);text-overflow:ellipsis;cursor:pointer;border-radius:999px;padding:0 30px 0 13px;font-size:13.5px;font-weight:500;transition:background-color .15s,color .15s}.select-pill select:hover{background-color:var(--fill-1);color:var(--text)}.shelf{animation:appear .4s var(--ease-out);margin-top:22px}.shelf .section-title{margin-top:0}.shelf-row{scroll-snap-type:x mandatory;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:12px;margin:-2px -2px 0;padding:2px 2px 8px;display:grid;overflow-x:auto}@media (width>=900px){.shelf-row{grid-auto-columns:calc(33.3333% - 8px)}}.shelf-item{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);color:inherit;scroll-snap-align:start;transition:transform .2s var(--ease-out), border-color .2s ease;align-items:center;gap:12px;padding:10px 14px 10px 10px;text-decoration:none;display:flex}.shelf-item:hover{border-color:var(--line-strong);transform:translateY(-2px)}.shelf-item .game-art{border-radius:10px;flex:none;width:52px}.shelf-item .art-title,.shelf-item .art-system{display:none}.shelf-item .art-watermark{opacity:.45;width:76%;top:22%;right:12%}.shelf-text{flex-direction:column;flex:1;min-width:0;display:flex}.shelf-title{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.shelf-when{color:var(--text-3);font-size:12.5px}.shelf-go{color:var(--accent);background:#f4a98424;border-radius:999px;flex:none;padding:5px 11px;font-size:12.5px;font-weight:600}.results-bar{justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin:22px 2px 12px;display:flex}.results-count{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:12.5px;font-weight:600}.link-btn{color:var(--accent);background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:13px;font-weight:600;display:inline-flex}.link-btn:hover{background:var(--fill-2)}.game-grid{animation:appear .6s var(--ease-out) 80ms both;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 18px;display:grid}.game-card{color:inherit;border-radius:var(--r-lg);outline-offset:4px;flex-direction:column;gap:10px;text-decoration:none;display:flex}.game-card-art{border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(var(--ink), .06), 0 14px 28px -20px rgba(var(--ink), .5);transition:transform .25s var(--ease-out), box-shadow .25s ease;position:relative;overflow:hidden}.game-card:hover .game-card-art,.game-card:focus-visible .game-card-art{box-shadow:0 2px 4px rgba(var(--ink), .06), 0 24px 40px -22px rgba(var(--ink), .55);transform:translateY(-4px)}.game-art{aspect-ratio:4/3;background:linear-gradient(160deg, var(--art-from), var(--art-to));position:relative;overflow:hidden;container-type:inline-size}.game-art.has-cover:before{content:"";background:var(--cover) center / cover;filter:blur(18px)saturate(1.2);opacity:.6;position:absolute;inset:-12%}.game-art img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.art-generated{color:var(--art-ink);flex-direction:column;justify-content:flex-end;padding:9cqi 9cqi 8cqi;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff59}.art-generated:before{content:"";pointer-events:none;background:radial-gradient(110% 70% at 0 0,#fff9,#0000 60%),repeating-linear-gradient(135deg,#ffffff12 0 2px,#0000 2px 9px);position:absolute;inset:0}.art-watermark{opacity:.2;width:70%;height:auto;color:var(--art-ink);position:absolute;top:-8%;right:-12%}.art-title{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;overflow-wrap:anywhere;font-weight:500;line-height:1.04;position:relative}.art-title-lg{font-size:17cqi}.art-title-md{font-size:13.5cqi}.art-title-sm{font-size:11cqi}.art-title-xs{font-size:9cqi}.art-system{letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-top:5cqi;font-size:max(9px,5.6cqi);font-weight:700;position:relative}@container (width<=110px){.art-system{display:none}.art-generated{padding:8px}}.sys-badge{backdrop-filter:blur(6px);height:24px;box-shadow:0 1px 2px rgba(var(--ink), .1);color:var(--text);letter-spacing:.04em;background:#ffffffe6;border-radius:999px;align-items:center;gap:5px;padding:0 9px 0 7px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.game-card-art:has(.has-cover) .sys-badge{top:auto;bottom:10px}.game-card.sys-n64 .game-card-art:has(.has-cover) .sys-badge{left:auto;right:10px}.played-badge{backdrop-filter:blur(6px);height:24px;box-shadow:0 1px 2px rgba(var(--ink), .1);color:var(--mint-text);white-space:nowrap;background:#ffffffe6;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:10px;right:10px}.played-badge:before{content:"";background:var(--mint-text);border-radius:50%;width:6px;height:6px}.play-hover{background:var(--peach);width:46px;height:46px;color:var(--peach-ink);opacity:0;transition:opacity .2s ease, transform .25s var(--ease-out);border-radius:50%;place-items:center;padding-left:2px;display:grid;position:absolute;bottom:12px;right:12px;transform:translateY(8px)scale(.9);box-shadow:0 10px 24px -8px #c4613a99}.game-card:hover .play-hover,.game-card:focus-visible .play-hover{opacity:1;transform:none}@media (hover:none){.play-hover{display:none}}.game-card-info{padding:0 2px}.game-card-title{letter-spacing:-.005em;font-size:15px;font-weight:600;line-height:1.3}.game-card-meta{color:var(--text-3);margin-top:2px;font-size:12.5px}.library-empty{border:1px dashed var(--line-strong);border-radius:var(--r-xl);background:var(--surface);text-align:center;animation:appear .4s var(--ease-out);padding:48px 20px 52px}.library-empty-art{width:64px;height:64px;color:var(--lavender-text);background:#c4b1d42e;border-radius:20px;place-items:center;margin:0 auto 14px;display:grid}.library-empty h2{font-family:var(--font-display);margin-bottom:4px;font-size:1.4rem;font-weight:500}.library-empty p{color:var(--text-2);margin-bottom:16px}.crumbs{margin-bottom:14px}.crumbs a{color:var(--text-2);border-radius:999px;align-items:center;gap:6px;margin-left:-8px;padding:6px 12px 6px 8px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.crumbs a:hover{background:var(--fill-2);color:var(--text)}.play-head{animation:appear .5s var(--ease-out);align-items:center;gap:18px;margin-bottom:20px;display:flex}.play-cover{width:88px;box-shadow:0 1px 2px rgba(var(--ink), .08), 0 12px 26px -16px rgba(var(--ink), .55);border-radius:12px;flex:none;overflow:hidden}.play-head-text{min-width:0}.play-head .eyebrow{color:var(--text-3);margin-bottom:4px}.play-head .page-sub strong{color:var(--text);font-weight:600}#ejs-player{width:100%;height:100%}.load-retry{margin-top:16px}.slot-actions{flex:none;align-items:center;gap:4px;display:flex}.slot-kind{letter-spacing:.05em;text-transform:uppercase;vertical-align:1px;border-radius:999px;margin-right:4px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.slot-kind.auto{background:var(--fill-2);color:var(--text-3)}.slot-kind.manual{color:var(--mint-text);background:#a8d8c833}.slot-kind.damaged{color:var(--blush-text,#a4405c);background:#e8a0b438}.slot-item.damaged .slot-load-btn[disabled]{opacity:.45;cursor:not-allowed}.starter-list{margin-top:18px}@media (width<=680px){.finder{border-radius:18px;padding:12px}.search-field input{height:50px;font-size:16px}.filter-row{flex-flow:column;align-items:stretch}.chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -12px;padding:0 12px 2px;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{flex:none}.filter-selects{scrollbar-width:none;flex-wrap:nowrap;margin:0 -12px;padding:0 12px 2px;overflow-x:auto}.filter-selects::-webkit-scrollbar{display:none}.select-pill{flex:none}.select-pill select{max-width:none}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.game-card-title{font-size:14px}.sys-badge,.played-badge{height:22px;font-size:10.5px;top:8px}.sys-badge{left:8px}.game-card-art:has(.has-cover) .sys-badge{top:auto;bottom:8px}.game-card.sys-n64 .game-card-art:has(.has-cover) .sys-badge{left:auto;right:8px}.played-badge{right:8px}.topbar-signin{width:38px;padding:0}.topbar-signin span{display:none}.player-form:not(.compact){padding:18px 16px 14px}.player-form .form-row{flex-direction:column}.player-form .form-row .input{flex:none}.play-head{gap:14px}.play-cover{border-radius:10px;width:64px}}@media (width<=380px){.topbar-tag{display:none}}
