@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51ncANwr.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51fcANwr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51bcANwr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51jcAA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51ncANwr.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51fcANwr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51bcANwr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51jcAA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51ncANwr.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51fcANwr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51bcANwr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/baloo2/v23/wXKrE3kTposypRyd51jcAA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7azYYmg8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7YjYYmg8.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7aDYYmg8.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7ZjYY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7azYYmg8.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7YjYYmg8.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7aDYYmg8.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7ZjYY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cardSlideLeft{0%{opacity:0;transform:translate(-28px) scale(.94) rotate(var(--tilt, 0deg))}to{opacity:1;transform:translate(0) scale(1) rotate(var(--tilt, 0deg))}}@keyframes cardSlideRight{0%{opacity:0;transform:translate(28px) scale(.94) rotate(var(--tilt, 0deg))}to{opacity:1;transform:translate(0) scale(1) rotate(var(--tilt, 0deg))}}@keyframes cardPop{0%{opacity:0;transform:translateY(14px) scale(.88) rotate(var(--tilt, 0deg))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--tilt, 0deg))}}@keyframes bannerBreath{0%,to{text-shadow:0 1px 3px rgba(0,0,0,.5)}50%{text-shadow:0 1px 8px rgba(200,160,100,.25)}}@keyframes badgePulse{0%,to{box-shadow:0 0 4px #ffb43c40}50%{box-shadow:0 0 10px #ffb43c80}}.location-screen{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:var(--space-md);max-width:1200px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.location-screen::-webkit-scrollbar{display:none}.location-banner{position:relative;width:100%;height:350px;margin:0 auto var(--space-md);padding:24px 28px;border-radius:var(--radius-xl);display:flex;flex-direction:column;flex-shrink:0;animation:cardFadeIn .35s ease-out both}.sky-bg-on .location-banner{border:1px solid rgba(255,255,255,.22);box-shadow:0 0 0 1px #00000073,inset 0 1px #ffffff1a}.banner-back{position:absolute;top:8px;left:14px;font-size:.7rem;color:#ffffffb3;cursor:pointer;padding:2px 8px;border-radius:var(--radius-sm);background:#ffffff1a;transition:all var(--transition-fast)}.banner-back:hover{background:#fff3;color:#fff}.banner-back--sticky{position:sticky;top:calc(2px + var(--sticky-gap, 0px));left:auto;z-index:30;align-self:flex-start;width:fit-content;margin:-6px 0 -28px 28px;background:var(--sticky-header-bg);backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000059}.banner-back--sticky:hover{background:var(--sticky-header-bg-hover)}.sticky-back-bar{position:sticky;top:var(--sticky-gap, 0px);z-index:30;background:var(--sticky-header-bg);backdrop-filter:blur(8px);padding-top:8px;padding-bottom:8px;border-radius:var(--radius-md)}.banner-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;flex:1;gap:4px;padding:0 0 8px}.banner-title{font-size:1.4rem;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.85),0 0 12px rgba(0,0,0,.5);text-align:left;animation:bannerBreath 4s ease-in-out infinite;background:linear-gradient(to right,rgba(0,0,0,.55),transparent);padding:6px 16px 6px 10px;border-radius:var(--radius-sm);letter-spacing:.5px}.banner-sub{font-size:.7rem;color:#fffc;text-shadow:0 1px 3px rgba(0,0,0,.85);background:#0006;padding:4px 10px;border-radius:var(--radius-sm)}.subarea-view{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--space-md);padding:var(--space-md) 0}.sky-bg-on .subarea-view{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(180,160,255,.07) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 15% 100%,rgba(120,140,220,.05) 0%,transparent 65%),linear-gradient(160deg,#1e1c30eb,#121220f7 60%,#0e0e1a);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff12,inset 0 -1px #0000004d,0 4px 24px #00000040;padding:var(--space-md)}.npc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.npc-encounter{margin-bottom:var(--space-sm);border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.sky-bg-on .npc-encounter{background:var(--bg-secondary);border:1.5px solid rgba(255,255,255,.1);box-shadow:0 2px 12px #0000004d}.npc-encounter--active{border-color:var(--accent-primary);box-shadow:0 0 14px #ffb43c2e}.npc-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);background:linear-gradient(135deg,#281e3cb3,#1e1932cc);cursor:pointer;transition:all var(--transition-fast)}.sky-bg-on .npc-card{background:var(--bg-secondary);border:1.5px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff0f,0 2px 12px #0000004d}.npc-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.npc-encounter--active .npc-card:hover{transform:none}.npc-card-pfp{width:48px;height:48px;border-radius:50%;background-size:cover;background-position:center top;border:2px solid var(--accent-primary);flex-shrink:0}.npc-card-info{flex:1;display:flex;flex-direction:column;gap:2px}.npc-card-name{font-size:.85rem;font-weight:700;color:#f0e6d2;line-height:1.2}.npc-card-role{font-size:.7rem;color:#ffffff80;text-transform:capitalize}.npc-card-hint{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0f;color:#ffffff73;flex-shrink:0;transition:all var(--transition-fast)}.npc-card-hint lucide-icon{width:16px;height:16px;display:flex}.npc-card:hover .npc-card-hint{background:#ffb43c1f;color:var(--accent-primary)}.npc-card-hint--close{background:#ff50501f;color:#ff5050b3}.npc-card:hover .npc-card-hint--close{background:#ff50502e;color:#ff6060}.npc-actions{padding:0 12px 12px;display:flex;flex-direction:column;gap:4px;margin-top:12px}.npc-action-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.npc-action-btn:hover:not(.npc-action-btn--disabled){background:#ffffff0f;border-color:#ffffff1a}.npc-action-btn--disabled{opacity:.4;cursor:not-allowed}.npc-action-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffb43c1a;color:var(--accent-primary);flex-shrink:0}.npc-action-btn--disabled .npc-action-icon{background:#ffffff0a;color:#ffffff4d}.npc-action-icon lucide-icon{width:16px;height:16px;display:flex}.npc-action-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.npc-action-label{font-size:.8rem;font-weight:600;color:#f0e6d2}.npc-action-btn--disabled .npc-action-label{color:#ffffff59}.npc-action-desc{font-size:.68rem;color:#ffffff73}.npc-action-arrow{font-size:1.2rem;color:#ffffff4d;flex-shrink:0;transition:transform var(--transition-fast)}.npc-action-btn:hover:not(.npc-action-btn--disabled) .npc-action-arrow{transform:translate(3px);color:var(--accent-primary)}.location-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1;align-content:start;width:100%}.room-card{position:relative;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:all var(--transition-fast);display:flex;align-items:flex-end;min-height:150px;animation:cardSlideLeft .22s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--card-index, 0) * 55ms)}.room-card:nth-child(3n+2){animation-name:cardPop}.room-card:nth-child(3n){animation-name:cardSlideRight}.room-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:65%;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 50%,transparent 100%);z-index:0;pointer-events:none}.room-card:hover:not(.room-card--locked){border-color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.room-card--locked{cursor:not-allowed;opacity:.75}.room-card--locked:before{content:"";position:absolute;inset:0;background:#0000008c;z-index:1;pointer-events:none;border-radius:inherit}.room-card--locked .room-lock-label,.room-card--locked .room-card-content{z-index:2}.room-card--locked:hover{transform:none;box-shadow:none}.sky-bg-on .room-card{border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px #ffffff14}.room-card-content{width:100%;padding:8px 10px;background:transparent;display:flex;flex-direction:column;gap:1px;z-index:1}.room-label{font-size:.72rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.room-desc{font-size:.6rem;color:#ffffffb3;line-height:1.2}.room-effects{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.effect-tag{font-size:.52rem;font-weight:600;padding:1px 5px;border-radius:3px;background:#ffffff1f;color:#ffffffbf;letter-spacing:.01em;white-space:nowrap}.effect-tag--pos{background:#50c86438;color:#7ef5a0}.effect-tag--neg{background:#dc505038;color:#f5a07e}.room-lock-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;font-size:.65rem;font-weight:700;color:#ffffffd9;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;z-index:2;background:#000000a6;border:1px solid rgba(255,255,255,.12);padding:5px 12px;border-radius:var(--radius-sm);backdrop-filter:blur(4px)}.room-event-badge{position:absolute;top:8px;right:8px;background:#ffb43ce0;color:#1a0a00;padding:2px 8px;border-radius:var(--radius-sm);font-size:.55rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;z-index:3;animation:badgePulse 2.5s ease-in-out infinite;pointer-events:none}.room-npc-badge{position:absolute;top:8px;right:8px;background:#64b4ffcc;color:#0a1a2a;padding:2px 8px;border-radius:var(--radius-sm);font-size:.55rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;z-index:3;animation:badgePulse 3s ease-in-out infinite;pointer-events:none}.room-npc-pfp-wrapper{position:absolute;top:8px;left:10px;display:flex;gap:6px;z-index:3;pointer-events:none}.room-npc-pfp-badge{width:28px;height:28px;min-width:28px;border-radius:50%;background-size:cover;background-position:center top;background-color:#222;border:2px solid var(--accent-primary);box-shadow:0 0 8px #ffb43c59;display:inline-block;flex-shrink:0;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.room-npc-pfp-badge:hover{transform:scale(1.15);box-shadow:0 0 14px #ffb43c8c}.room-version-badge{position:absolute;top:8px;left:8px;background:#ffb43c26;color:#ffffff8c;padding:1px 8px;border-radius:var(--radius-sm);font-size:.5rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;z-index:3;border:1px solid rgba(255,180,60,.2);pointer-events:none}.room-card--npc-here{border-color:#64b4ff66;box-shadow:0 0 8px #64b4ff26}.room-card--npc-here:hover:not(.room-card--locked){border-color:#64b4ffb3;box-shadow:0 0 14px #64b4ff4d}.banner-npcs{display:flex;gap:6px;margin-top:4px;align-items:center}.npc-pfp{width:28px;height:28px;min-width:28px;border-radius:50%;background-size:cover;background-position:center top;border:2px solid var(--accent-primary);box-shadow:0 0 6px #ffb43c59;display:inline-block;flex-shrink:0}@media (max-width: 660px){.location-banner{height:auto;min-height:200px}.location-rooms{grid-template-columns:repeat(2,1fr)}}.toon-ui{--toon-ink: #06060c;--toon-shadow: #2f2150;--toon-shadow-2: #4a1f38;--toon-shadow-3: #1d3a42;--toon-shadow-4: #43331a}.toon-ui h1,.toon-ui h2,.toon-ui h3,.toon-ui .btn,.toon-ui .badge,.toon-ui .choice-btn,.toon-ui .banner-title,.toon-ui .banner-back{font-family:"Baloo 2","Trebuchet MS",var(--font-primary)}.toon-ui .banner-title,.toon-ui .location-banner .banner-title,.toon-ui .screen-title,.toon-ui .page-title{font-family:Caveat,"Baloo 2",cursive;font-weight:700;font-size:2rem;letter-spacing:.5px}.toon-ui .card{border:3px solid var(--toon-ink);border-radius:20px 9px;box-shadow:6px 6px 0 var(--toon-shadow),0 10px 22px #00000073}.toon-ui .card:hover{box-shadow:9px 10px 0 var(--toon-shadow),0 16px 30px #0000008c}.toon-ui .room-label,.toon-ui .npc-card-name,.toon-ui .event-label{font-family:Caveat,"Baloo 2",cursive;font-weight:700;font-size:1.3rem;letter-spacing:.4px;-webkit-text-stroke:.9px var(--toon-ink);paint-order:stroke fill}.toon-ui .room-label{font-size:1.45rem;-webkit-text-stroke:1.1px var(--toon-ink)}.toon-ui .card-title,.toon-ui .card>h2,.toon-ui .card>h3{font-family:"Baloo 2","Trebuchet MS",var(--font-primary);font-weight:800}.toon-ui .btn{border:3px solid var(--toon-ink);border-radius:15px 12px 16px 11px;font-weight:800;box-shadow:0 5px 0 var(--toon-shadow),inset 0 2px #ffffff38}.toon-ui .btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--toon-shadow),inset 0 2px #ffffff2e}.toon-ui .btn.btn-primary{box-shadow:0 5px color-mix(in srgb,var(--accent-primary) 50%,#000),inset 0 2px #ffffff73}.toon-ui .btn.btn-primary:active{box-shadow:0 1px color-mix(in srgb,var(--accent-primary) 50%,#000)}.toon-ui .btn.btn-secondary{box-shadow:0 5px color-mix(in srgb,var(--accent-secondary) 50%,#000),inset 0 2px #ffffff73}.toon-ui .btn.btn-secondary:active{box-shadow:0 1px color-mix(in srgb,var(--accent-secondary) 50%,#000)}.toon-ui .btn.btn-ghost{border:2.5px solid var(--toon-ink);box-shadow:0 4px #0006}.toon-ui .btn.btn-ghost:active{transform:translateY(3px);box-shadow:0 1px #0006}.toon-ui .btn.btn-sm.btn-ghost{margin-left:8px}.toon-ui .banner-back,.toon-ui .sticky-back-bar{border:2.5px solid var(--toon-ink);border-radius:12px 8px;box-shadow:3px 3px 0 var(--toon-shadow);font-weight:800;color:#fff}.toon-ui .badge{border:2.5px solid var(--toon-ink);box-shadow:2px 3px 0 var(--toon-shadow);transform:rotate(-2deg);transition:transform .12s ease}.toon-ui .badge:hover{transform:rotate(0) scale(1.05)}.toon-ui .choice-btn{border:3px solid var(--toon-ink);border-radius:14px 11px 15px 10px;font-weight:700;box-shadow:0 5px 0 var(--toon-shadow)}.toon-ui .choice-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--toon-shadow)}.toon-ui .stat-bar-container{height:13px;background:#100d18;border:2.5px solid var(--toon-ink)}.toon-ui .stat-bar-container .stat-bar-fill{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-primary) 75%,#fff) 0%,var(--accent-primary) 45%,var(--accent-secondary) 100%);box-shadow:inset 0 3px #fff6,inset 0 -3px 5px #00000047}.toon-ui .stat-bar-container .stat-bar-fill:after{content:"";position:absolute;inset:2px 5px auto;height:3px;border-radius:99px;background:#ffffff80}.toon-ui .subarea-view{background:var(--bg-secondary);border:3px solid var(--toon-ink);border-radius:20px 10px;box-shadow:6px 6px 0 var(--toon-shadow),inset 0 2px #ffffff0d;padding:var(--space-md)}@keyframes toonSlideLeft{0%{opacity:0;transform:translate(-28px) scale(.92) rotate(var(--tilt, -1deg))}to{opacity:1;transform:translate(0) scale(1) rotate(var(--tilt, -1deg))}}@keyframes toonPop{0%{opacity:0;transform:translateY(16px) scale(.86) rotate(var(--tilt, -1deg))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--tilt, -1deg))}}@keyframes toonSlideRight{0%{opacity:0;transform:translate(28px) scale(.92) rotate(var(--tilt, -1deg))}to{opacity:1;transform:translate(0) scale(1) rotate(var(--tilt, -1deg))}}.toon-ui .room-card{--tilt: -1deg;border:3px solid var(--toon-ink);border-radius:16px 8px;box-shadow:5px 5px 0 var(--toon-shadow);animation-name:toonSlideLeft;transform:rotate(var(--tilt));transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease}.toon-ui .room-card:nth-child(3n+2){animation-name:toonPop}.toon-ui .room-card:nth-child(3n){animation-name:toonSlideRight}.toon-ui .room-card:nth-child(4n+1){--tilt: -1.4deg}.toon-ui .room-card:nth-child(4n+2){--tilt: 1.2deg;box-shadow:5px 5px 0 var(--toon-shadow-2)}.toon-ui .room-card:nth-child(4n+3){--tilt: -.8deg;box-shadow:5px 5px 0 var(--toon-shadow-3)}.toon-ui .room-card:nth-child(4n+4){--tilt: 1.5deg;box-shadow:5px 5px 0 var(--toon-shadow-4)}.toon-ui .room-card:hover:not(.room-card--locked){transform:rotate(0) translateY(-5px) scale(1.02);box-shadow:9px 11px 0 var(--toon-shadow)}.toon-ui .location-banner{border:3px solid var(--toon-ink);border-radius:22px 10px;box-shadow:7px 7px 0 var(--toon-shadow),0 12px 26px #00000080}.toon-ui .room-event-badge,.toon-ui .room-npc-badge,.toon-ui .room-version-badge{border:2px solid var(--toon-ink);box-shadow:2px 2px #0009;transform:rotate(-3deg)}.toon-ui .effect-tag{border:1.5px solid var(--toon-ink)}.toon-ui .npc-card{border:2.5px solid var(--toon-ink);border-radius:14px 9px;box-shadow:4px 4px 0 var(--toon-shadow)}.toon-ui .npc-card-pfp,.toon-ui .room-npc-pfp-badge,.toon-ui .npc-pfp{border:2.5px solid var(--toon-ink);box-shadow:2px 2px 0 var(--toon-shadow)}.toon-ui .event-card{border:3px solid var(--toon-ink);border-radius:20px 10px;box-shadow:7px 7px 0 var(--toon-shadow);transform:rotate(-1deg)}.toon-ui .event-card:hover:not(.event-card--locked){transform:rotate(0) translateY(-4px);box-shadow:10px 12px 0 var(--toon-shadow)}.toon-ui .event-tag{border:2.5px solid var(--toon-ink);border-radius:10px 6px;box-shadow:2px 2px #0009;transform:rotate(-3deg);font-family:"Baloo 2","Trebuchet MS",var(--font-primary)}.toon-ui .event-label{font-family:Caveat,"Baloo 2",cursive;font-weight:700;font-size:1.5rem;-webkit-text-stroke:.8px var(--toon-ink);paint-order:stroke fill}.toon-ui .modal-card{border:3px solid var(--toon-ink);border-radius:22px 12px;box-shadow:8px 8px 0 var(--toon-shadow),0 18px 40px #0009;font-family:"Baloo 2","Trebuchet MS",var(--font-primary)}.toon-ui .modal-card h1,.toon-ui .modal-card h2,.toon-ui .modal-card h3,.toon-ui .modal-card h4,.toon-ui .modal-card button,.toon-ui .modal-card label,.toon-ui .modal-card span,.toon-ui .modal-card strong,.toon-ui .modal-card b{font-family:"Baloo 2","Trebuchet MS",var(--font-primary)}.toon-ui .modal-header{border-bottom:3px solid var(--toon-ink)}@media (max-width: 767px){.toon-ui .modal-card{border-radius:20px 20px 0 0;border-bottom:none;box-shadow:0 -8px 30px #00000080}}.toon-ui .modal-title{font-family:Caveat,"Baloo 2",cursive;font-weight:700;font-size:1.55rem;-webkit-text-stroke:.7px var(--toon-ink);paint-order:stroke fill}.toon-ui .toast{border:3px solid var(--toon-ink);border-left-width:6px;border-radius:15px 9px;box-shadow:6px 6px 0 var(--toon-shadow),0 12px 26px #00000080}.toon-ui .toast--success{box-shadow:6px 6px color-mix(in srgb,var(--accent-success) 55%,#000),0 12px 26px #00000080}.toon-ui .toast--error{box-shadow:6px 6px color-mix(in srgb,var(--accent-danger) 55%,#000),0 12px 26px #00000080}.toon-ui .toast--warning{box-shadow:6px 6px color-mix(in srgb,var(--accent-warning) 55%,#000),0 12px 26px #00000080}.toon-ui .toast-msg{font-weight:700}.toon-ui .toast-close{border:2px solid var(--toon-ink);box-shadow:1.5px 1.5px #00000080}.toon-ui[data-weather=rain] .location-banner{overflow:hidden}.toon-ui[data-weather=rain] .location-banner>.banner-label{position:relative;z-index:2}.toon-ui[data-weather=rain] .location-banner:before,.toon-ui[data-weather=rain] .room-card:not(.room-card--locked):before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;box-shadow:inset 0 5px 7px -6px #cee2f873,inset 0 1.5px #ebf5ff47;background-image:radial-gradient(ellipse 5px 7px at 50% 40%,rgba(224,238,255,.8),rgba(206,226,248,.22) 60%,transparent 72%),radial-gradient(ellipse 4px 6px at 50% 40%,rgba(224,238,255,.7),rgba(206,226,248,.18) 60%,transparent 72%);background-repeat:no-repeat;background-size:11px 16px,9px 13px;background-position:34% -8px,70% -8px;animation:toonRainDrip 5.5s cubic-bezier(.55,0,.85,.4) infinite;will-change:background-position}.toon-ui[data-weather=rain] .room-card:nth-child(2n):before{animation-duration:6.4s;animation-delay:-2.1s}.toon-ui[data-weather=rain] .room-card:nth-child(3n):before{animation-duration:5s;animation-delay:-3.7s}.toon-ui[data-weather=rain] .room-card:nth-child(4n):before{animation-duration:7s;animation-delay:-1.2s}.toon-ui[data-weather=rain] .location-banner:before{animation-duration:7.5s}.toon-ui[data-weather=windy] .room-card:not(.room-card--locked){transform-origin:50% 120%;animation:toonWindSwayCard 5s ease-in-out infinite;animation-delay:calc(var(--card-index, 0) * -.6s)}.toon-ui[data-weather=windy] .room-card:not(.room-card--locked):hover{animation-play-state:paused}.toon-ui[data-weather=windy] .location-banner{transform-origin:50% 0;animation:toonWindSwayBanner 6s ease-in-out infinite}@keyframes toonRainDrip{0%{background-position:34% -8px,70% -8px}35%{background-position:34% 125%,70% -8px}50%{background-position:34% 125%,70% -8px}85%{background-position:34% 125%,70% 122%}to{background-position:34% 125%,70% 122%}}@keyframes toonWindSwayCard{0%,to{transform:rotate(var(--tilt, -1deg))}35%{transform:rotate(calc(var(--tilt, -1deg) + .5deg))}70%{transform:rotate(calc(var(--tilt, -1deg) - .35deg))}}@keyframes toonWindSwayBanner{0%,to{transform:rotate(0)}50%{transform:rotate(.22deg) translate(1px)}}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a26;--bg-card: #16161f;--bg-elevated: #1e1e2c;--bg-glass: rgba(18, 18, 26, .85);--sticky-header-bg: rgba(10, 10, 15, .5);--sticky-header-bg-hover: rgba(10, 10, 15, .7);--accent-primary: #d4a5ff;--accent-secondary: #ff6b9d;--accent-tertiary: #00d4aa;--accent-warning: #ffb347;--accent-danger: #ff4757;--accent-success: #2ed573;--kw-text: #ffd479;--text-primary: #f0e6ff;--text-secondary: #a89bc4;--text-muted: #6b6080;--text-inverse: #0a0a0f;--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(212, 165, 255, .15);--font-primary: "Segoe UI", "Roboto", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Cascadia Code", "Fira Code", "JetBrains Mono", monospace;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--nav-height: 56px;--phone-height: 100dvh;--phone-width: 390px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-primary);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}body{overscroll-behavior:none}*{scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--bg-secondary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent-primary),var(--accent-secondary));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent-secondary),var(--accent-primary))}::-webkit-scrollbar-corner{background:var(--bg-secondary)}.sidebar,.modal-card,.main-scroll{scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar,.modal-card::-webkit-scrollbar,.main-scroll::-webkit-scrollbar{width:0;height:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:1.75rem;letter-spacing:-.01em}h2{font-size:1.4rem}h3{font-size:1.15rem}p{color:var(--text-secondary)}small{font-size:.8rem;color:var(--text-muted)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 20px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn:active{transform:scale(.97)}.btn.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse);font-weight:600}.btn.btn-primary:hover{background:#e0bfff}.btn.btn-secondary{background:var(--accent-secondary);border-color:var(--accent-secondary);color:#fff;font-weight:600}.btn.btn-ghost{background:transparent;border-color:transparent}.btn.btn-ghost:hover{background:var(--bg-elevated)}.btn.btn-sm{padding:6px 14px;font-size:.8rem;border-radius:var(--radius-sm)}.btn.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius-lg)}.btn.btn-block{width:100%}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.icon-close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-full);background:#ffffff0f;color:#ffffffa6;cursor:pointer;transition:all var(--transition-fast)}.icon-close-btn:hover{background:#ffffff24;border-color:#ffffff47;color:#fff}.icon-close-btn:active{transform:scale(.92)}.icon-close-btn--sm{width:22px;height:22px}.toon-ui .icon-close-btn--sm{border-width:2px}.toon-ui .icon-close-btn{border:2.5px solid var(--toon-ink, #06060c);background:#ffffff14;box-shadow:2px 2px 0 var(--toon-shadow, #2f2150);color:#ffffffd9;transition:transform .15s ease,box-shadow .15s ease,background var(--transition-fast)}.toon-ui .icon-close-btn:hover{transform:rotate(8deg) scale(1.08);background:#ffffff24}.toon-ui .icon-close-btn:active{transform:translateY(2px) rotate(0);box-shadow:0 0 0 var(--toon-shadow, #2f2150)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-glow)}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.phone-frame{width:var(--phone-width);height:var(--phone-height);max-height:100vh;background:var(--bg-secondary);border:2px solid var(--border-strong);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.stat-bar-container{width:100%;background:var(--bg-tertiary);border-radius:var(--radius-full);height:8px;overflow:hidden}.stat-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow);background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary))}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge.badge-masc{background:#00d4aa26;color:var(--accent-tertiary)}.badge.badge-fem{background:#ff6b9d26;color:var(--accent-secondary)}.badge.badge-premium{background:#ffb34726;color:var(--accent-warning)}.badge.badge-locked{background:#6b608026;color:var(--text-muted)}.badge.badge-done{background:#2ed57326;color:var(--accent-success)}.badge.badge-new{background:#d4a5ff26;color:var(--accent-primary)}.choice-btn{display:block;width:100%;padding:12px 18px;margin-bottom:var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);text-align:left}.choice-btn:hover{background:var(--bg-elevated);border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.choice-btn:active{transform:scale(.98)}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalCardIn{0%{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;animation:modalOverlayIn .18s ease both}.modal-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:720px;max-width:96vw;max-height:90vh;overflow-y:auto;animation:modalCardIn .22s cubic-bezier(.22,1,.36,1)}@media (max-width: 767px){.modal-overlay{align-items:flex-end}.modal-card{width:100%!important;max-width:100%!important;max-height:88dvh;border-radius:20px 20px 0 0;border-left:none;border-right:none;border-bottom:none;animation:modalSheetIn .26s cubic-bezier(.22,1,.36,1)}.modal-card.modal-card--dragging{transition:none}.modal-card.modal-card--expanded{max-height:96dvh;transition:max-height .22s cubic-bezier(.22,1,.36,1)}}.modal-header{position:sticky;top:0;z-index:2;background:var(--bg-card);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-subtle)}.modal-title{display:flex;align-items:center;gap:var(--space-sm);min-width:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.modal-title span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width: 767px){.modal-header{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:var(--space-sm);touch-action:none;padding-top:10px;border-radius:20px 20px 0 0}.modal-header:before{content:"";grid-column:1/-1;justify-self:center;width:36px;height:4px;margin-bottom:8px;border-radius:var(--radius-full);background:var(--border-strong)}}.modal-title-icon{opacity:.7;flex-shrink:0}.modal-close-btn{flex-shrink:0}@media (max-width: 767px){.modal-close-btn{display:none}}.modal-body{padding:var(--space-lg)}.modal-body>.btn-primary.btn-block:last-child{position:sticky;bottom:var(--space-md);z-index:1;filter:drop-shadow(0 -6px 8px rgba(0,0,0,.4))}.screen-fade-in{animation:fadeIn var(--transition-base) ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-primary)}.text-danger{color:var(--accent-danger)}.text-success{color:var(--accent-success)}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.1rem}.fw-bold{font-weight:700}.fw-semibold{font-weight:600}.kw{color:var(--kw-text);font-weight:800;font-style:normal}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-gap-sm{gap:var(--space-sm)}.flex-gap-md{gap:var(--space-md)}.flex-gap-lg{gap:var(--space-lg)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-gap-sm{gap:var(--space-sm)}.grid-gap-md{gap:var(--space-md)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.m-0{margin:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.hidden{display:none!important}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-stack{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:380px;width:100%;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastSlideIn .3s ease both;cursor:pointer;font-size:.875rem;line-height:1.4;overflow:hidden}.toast--success{border-left:3px solid var(--accent-success);background:color-mix(in srgb,var(--accent-success) 12%,var(--bg-elevated));box-shadow:var(--shadow-lg),0 0 12px #2ed57314}.toast--error{border-left:3px solid var(--accent-danger);background:color-mix(in srgb,var(--accent-danger) 12%,var(--bg-elevated));box-shadow:var(--shadow-lg),0 0 12px #ff475714}.toast--info{border-left:3px solid var(--accent-primary)}.toast--warning{border-left:3px solid var(--accent-warning)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast--success .toast-icon{color:var(--accent-success)}.toast--error .toast-icon{color:var(--accent-danger)}.toast--info .toast-icon{color:var(--accent-primary)}.toast--warning .toast-icon{color:var(--accent-warning)}.toast-msg{flex:1;min-width:0;color:var(--text-secondary);word-break:break-word}.toast--success .toast-msg{color:#86efac}.toast--error .toast-msg{color:#fca5a5}.toast-close{pointer-events:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.toast:hover .toast-close{color:var(--text-primary);background:var(--bg-tertiary)}@media (max-width: 767px){.toast-stack{top:10px;right:10px;left:10px;max-width:none;width:auto;gap:6px}.toast{padding:9px 11px;gap:8px;font-size:.8rem}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.toast--leave{animation:toastSlideOut .28s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0);max-height:200px}60%{opacity:0;transform:translate(60px);max-height:200px}to{opacity:0;transform:translate(60px);max-height:0;padding-top:0;padding-bottom:0;margin-bottom:-8px;border-width:0}}img{-webkit-user-drag:none;user-drag:none}lucide-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.confirm-modal{max-width:420px}.confirm-modal-body{text-align:center;padding:var(--space-xl) var(--space-lg) var(--space-lg)}.confirm-modal-icon{font-size:2.5rem;margin-bottom:var(--space-md);color:var(--accent-warning);display:flex;justify-content:center}.confirm-modal-message{font-size:1rem;color:var(--text-primary);margin-bottom:var(--space-lg);line-height:1.5}.confirm-modal-actions{display:flex;gap:var(--space-sm);justify-content:center}.range-slider{-webkit-appearance:none;appearance:none;width:120px;height:6px;border-radius:var(--radius-full);background:var(--bg-tertiary);outline:none;cursor:pointer;transition:background var(--transition-fast)}.range-slider:hover{background:#d4a5ff26}.range-slider:disabled{opacity:.35;cursor:not-allowed;background:var(--bg-secondary)}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:var(--radius-full);background:var(--accent-primary);border:2px solid var(--bg-elevated);box-shadow:0 0 8px #d4a5ff66;cursor:pointer;transition:all var(--transition-fast)}.range-slider::-webkit-slider-thumb:hover{background:#e0c0ff;box-shadow:0 0 16px #d4a5ff99;transform:scale(1.1)}.range-slider::-webkit-slider-thumb:active{background:#c090ff;transform:scale(1.15)}.range-slider:disabled::-webkit-slider-thumb{background:var(--text-muted);box-shadow:none;transform:none}.range-slider::-moz-range-thumb{width:18px;height:18px;border-radius:var(--radius-full);background:var(--accent-primary);border:2px solid var(--bg-elevated);box-shadow:0 0 8px #d4a5ff66;cursor:pointer;transition:all var(--transition-fast)}.range-slider::-moz-range-thumb:hover{background:#e0c0ff;box-shadow:0 0 16px #d4a5ff99}.range-slider:disabled::-moz-range-thumb{background:var(--text-muted);box-shadow:none}.range-slider::-moz-range-track{height:6px;border-radius:var(--radius-full);background:var(--bg-tertiary)}.range-value{font-size:.75rem;color:var(--text-muted);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.btn-mute{font-size:.75rem;padding:4px 10px;border-radius:var(--radius-sm)}.btn-mute.muted{color:var(--accent-danger);border-color:var(--accent-danger)}video::-webkit-media-controls-panel{background:none!important;background-image:none!important;box-shadow:none!important}video::-webkit-media-controls-enclosure{background:transparent!important;box-shadow:none!important}
