html:not(.fa-ready) i[class^=fa-],html:not(.fa-ready) i[class*=" fa-"]{display:inline-block;width:1em}:root,[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #e2e8f0;--card-bg: rgba(255, 255, 255, .85);--card-border: rgba(0, 0, 0, .08);--card-hover-border: rgba(139, 92, 246, .45);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent-primary: #8b5cf6;--accent-secondary: #7c3aed;--accent-cyan: #a855f7;--accent-dark: #0f051d;--accent-gradient: linear-gradient(135deg, #c084fc 0%, #8b5cf6 30%, #4c1d95 70%, #0f051d 100%);--accent-gradient-vibrant: linear-gradient(135deg, #a855f7 0%, #7c3aed 35%, #4c1d95 75%, #0f051d 100%);--accent-glow: rgba(139, 92, 246, .35);--success: #10b981;--success-glow: rgba(16, 185, 129, .25);--warning: #f59e0b;--danger: #ef4444;--danger-glow: rgba(239, 68, 68, .25);--shadow-sm: 0 2px 4px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.06);--shadow-lg: 0 10px 25px rgba(0,0,0,.1);--shadow-glow: 0 0 35px rgba(139, 92, 246, .22);--glass-backdrop: blur(16px);--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-code: "JetBrains Mono", "Fira Code", monospace;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--transition-spring: all .4s cubic-bezier(.34, 1.56, .64, 1);--cat-pdf: #ef4444;--cat-developer: #8b5cf6;--cat-media: #7c3aed;--cat-generator: #a855f7;--cat-writing: #f59e0b;--cat-security: #10b981;--cat-calculator: #8b5cf6;--cat-converter: #f97316;--cat-data: #14b8a6;--cat-design: #a855f7;--cat-devops: #0ea5e9;--cat-game: #ec4899;--cat-game-runner: #2a78d6;--cat-game-puzzle: #eb6834;--cat-game-brain: #1baf7a;--cat-game-aim: #eda100;--cat-game-retro: #e87ba4;--cat-game-flappy: #4a3aa7;--cat-game-tetris: #e34948}[data-theme=dark]{--bg-primary: #0b0f19;--bg-secondary: #111827;--bg-tertiary: #1f293d;--card-bg: rgba(17, 24, 39, .75);--card-border: rgba(255, 255, 255, .08);--card-hover-border: rgba(139, 92, 246, .45);--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-muted: #6b7280;--shadow-sm: 0 2px 4px rgba(0,0,0,.2);--shadow-md: 0 4px 20px rgba(0,0,0,.35);--shadow-lg: 0 10px 30px rgba(0,0,0,.5);--shadow-glow: 0 0 40px rgba(139, 92, 246, .3);--cat-game-runner: #3987e5;--cat-game-puzzle: #d95926;--cat-game-brain: #199e70;--cat-game-aim: #c98500;--cat-game-retro: #d55181;--cat-game-flappy: #9085e9;--cat-game-tetris: #e66767}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:12px;scrollbar-gutter:stable;width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (max-width: 768px){html{font-size:13px}}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;min-height:100dvh;width:100%;max-width:100%;display:flex;flex-direction:column;overflow-x:hidden;transition:background-color .3s ease,color .3s ease;position:relative}img,svg,video,iframe{max-width:100%;height:auto}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}a{color:var(--accent-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent-secondary)}ul{list-style:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.movie-intro-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#030014;z-index:999999;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),background-color .3s ease}[data-theme=dark] .movie-intro-screen,.movie-intro-screen[data-theme=dark]{background:#030014}[data-theme=light] .movie-intro-screen,.movie-intro-screen[data-theme=light]{background:#f8fafc}.movie-intro-screen.dissolve-out{opacity:0;transform:scale(1.08);pointer-events:none}.movie-intro-content{text-align:center;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:16px}.movie-tagline{font-family:var(--font-code);font-size:.82rem;font-weight:600;color:var(--accent-cyan);letter-spacing:.5em;text-transform:uppercase;opacity:0;transform:translateY(15px);animation:fadeInTagline 1s cubic-bezier(.16,1,.3,1) .2s forwards;transition:color .3s ease}[data-theme=dark] .movie-tagline,.movie-intro-screen[data-theme=dark] .movie-tagline{color:var(--accent-cyan)}[data-theme=light] .movie-tagline,.movie-intro-screen[data-theme=light] .movie-tagline{color:#4f46e5}@keyframes fadeInTagline{to{opacity:.9;transform:translateY(0)}}.movie-title-wrapper{position:relative;display:inline-block;overflow:hidden;padding:10px 20px}.movie-title{font-family:var(--font-heading);font-size:clamp(3.5rem,10vw,8.5rem);font-weight:900;letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#e2e8f0 40%,#94a3b8,#00f0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:0;filter:blur(25px);transform:scale(1.18);animation:movieTitleReveal 1.6s cubic-bezier(.16,1,.3,1) .5s forwards;transition:background .3s ease}[data-theme=dark] .movie-title,.movie-intro-screen[data-theme=dark] .movie-title{background:linear-gradient(135deg,#fff,#e2e8f0 40%,#94a3b8,#00f0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] .movie-title,.movie-intro-screen[data-theme=light] .movie-title{background:linear-gradient(135deg,#0f172a,#1e293b 40%,#4338ca,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@keyframes movieTitleReveal{to{opacity:1;filter:blur(0px);transform:scale(1);letter-spacing:.06em}}.lens-flare-streak{position:absolute;top:50%;left:-100%;width:100%;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(0,240,255,.8) 50%,rgba(112,66,248,.9) 70%,transparent 100%);box-shadow:0 0 25px #00f0ff,0 0 50px #7042f8cc;transform:translateY(-50%);animation:lensSweep 1.8s ease-in-out 1.2s forwards;pointer-events:none;transition:background .3s ease,box-shadow .3s ease}[data-theme=dark] .lens-flare-streak,.movie-intro-screen[data-theme=dark] .lens-flare-streak{background:linear-gradient(90deg,transparent 0%,rgba(0,240,255,.8) 50%,rgba(112,66,248,.9) 70%,transparent 100%);box-shadow:0 0 25px #00f0ff,0 0 50px #7042f8cc}[data-theme=light] .lens-flare-streak,.movie-intro-screen[data-theme=light] .lens-flare-streak{background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.8) 50%,rgba(168,85,247,.9) 70%,transparent 100%);box-shadow:0 0 25px #6366f1b3,0 0 50px #a855f780}@keyframes lensSweep{0%{left:-100%;opacity:0}30%{opacity:1}to{left:100%;opacity:0}}.movie-sub{font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--text-secondary);letter-spacing:.25em;text-transform:uppercase;opacity:0;animation:fadeInSub 1s ease 1.2s forwards;transition:color .3s ease}[data-theme=dark] .movie-sub,.movie-intro-screen[data-theme=dark] .movie-sub{color:#94a3b8}[data-theme=light] .movie-sub,.movie-intro-screen[data-theme=light] .movie-sub{color:#475569}.studio-wrapper{display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);min-height:min(620px,85dvh);min-width:0;transition:background-color .3s ease,border-color .3s ease}.studio-ribbon-bar{background:var(--bg-secondary);border-bottom:1px solid var(--card-border);display:flex;flex-direction:column;min-width:0;transition:background-color .3s ease,border-color .3s ease}.studio-ribbon-tabs{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem 0;border-bottom:1px solid var(--card-border);background:var(--bg-primary);overflow-x:auto;transition:background-color .3s ease}.ribbon-tab{padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:var(--transition);white-space:nowrap}.ribbon-tab:hover,.ribbon-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.studio-ribbon-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;flex-wrap:wrap}.ribbon-tool-group{display:flex;align-items:center;gap:.35rem}@media (max-width: 768px){.ribbon-context-group{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}.ribbon-divider{width:1px;height:24px;background:var(--card-border);margin:0 .4rem}.ribbon-btn{height:34px;padding:0 .65rem;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--card-border);font-size:.825rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:var(--transition)}.ribbon-btn:hover{background:#6366f126;border-color:var(--accent-primary);color:var(--accent-primary)}@media (pointer: coarse){.ribbon-btn{min-height:40px;min-width:40px}.sidebar-tab-btn{min-height:40px}.layer-toggle{padding:.5rem}.zoom-pct-label{padding:.4rem .2rem}}.ribbon-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.studio-pill-topbar{background:var(--bg-secondary);border-bottom:1px solid var(--card-border);display:flex;flex-direction:column;min-width:0;position:relative;z-index:100;transition:background-color .3s ease,border-color .3s ease}.studio-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1rem;border-bottom:1px solid var(--card-border);flex-wrap:wrap}.title-row-left{display:flex;align-items:center;gap:.65rem;min-width:0;position:relative}.title-file-btn{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--accent-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.title-file-btn:hover,.title-file-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.title-doc-name{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-row-right{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.title-icon-btn{width:30px;height:30px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition)}.title-icon-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--accent-primary);border-color:var(--card-border)}.title-icon-btn:disabled{opacity:.35;cursor:not-allowed}.studio-pill-row{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;flex-wrap:wrap;row-gap:.5rem}.pill-item-wrap{position:relative;flex-shrink:0}.pill-row-spacer{flex:1;min-width:.5rem}.studio-pill{height:38px;padding:0 .9rem;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--card-border);font-size:.8rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:var(--transition);white-space:nowrap}.studio-pill:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.studio-pill.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 0 0 4px var(--accent-glow)}.studio-pill-export{height:38px;border-radius:var(--radius-full);padding:0 1.1rem;font-size:.8rem;flex-shrink:0}.pill-flyout{position:absolute;top:calc(100% + 10px);left:0;z-index:1200;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.6rem;min-width:260px;max-width:calc(100vw - 2rem);animation:pillFlyoutIn .15s ease}@media (max-width: 640px){.studio-pill-row{position:relative}.pill-item-wrap{position:static}.pill-flyout{top:calc(100% + 6px);left:1rem;right:1rem;width:auto;max-width:none}}@keyframes pillFlyoutIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pill-flyout-grid{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:.35rem}.pill-flyout-narrow{grid-template-columns:1fr;max-width:260px}.pill-flyout-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid var(--card-border);color:var(--text-primary);font-size:.775rem;font-weight:600;cursor:pointer;transition:var(--transition);text-align:start}.pill-flyout-btn:hover{background:#8b5cf61f;border-color:var(--accent-primary);color:var(--accent-primary)}.pill-flyout-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.pill-flyout-btn.danger:hover{background:var(--danger-glow);border-color:var(--danger);color:var(--danger)}.pill-flyout-btn-wide{grid-column:1 / -1;justify-content:center}.pill-flyout-btn:disabled{opacity:.6;cursor:not-allowed}.pill-flyout-btn:disabled:hover{background:var(--bg-primary);border-color:var(--card-border);color:var(--text-primary)}.pill-flyout-divider{grid-column:1 / -1;height:1px;background:var(--card-border);margin:.3rem 0}.pill-flyout-label{grid-column:1 / -1;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 .2rem}.pill-flyout-select{grid-column:1 / -1;width:100%}.pill-flyout-note{font-size:.775rem;color:var(--text-secondary);line-height:1.5;display:flex;gap:.5rem;align-items:flex-start}.pill-flyout-note i{color:var(--accent-primary);margin-top:.15rem}.studio-main-grid{display:grid;grid-template-columns:240px 1fr 280px;min-height:min(560px,80dvh);min-width:0;position:relative}@media (max-width: 1100px){.studio-main-grid{grid-template-columns:200px 1fr}}@media (max-width: 768px){.studio-main-grid{grid-template-columns:1fr}}.studio-left-sidebar{background:var(--bg-secondary);border-inline-end:1px solid var(--card-border);display:flex;flex-direction:column;padding:.85rem .65rem;overflow-y:auto;max-height:min(750px,80dvh);transition:background-color .3s ease,border-color .3s ease}.sidebar-panel-header{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.85rem;display:flex;align-items:center;justify-content:space-between}.thumbnail-list{display:flex;flex-direction:column;gap:.6rem}.thumbnail-card{background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.4rem;cursor:pointer;text-align:center;transition:var(--transition);position:relative;display:flex;flex-direction:column;align-items:center}.thumbnail-card:hover{border-color:var(--card-hover-border)}.thumbnail-card.active{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.thumbnail-card.drag-over{border-color:var(--accent-primary);border-style:dashed;transform:translateY(2px)}.thumbnail-card canvas{width:100%;height:auto;border-radius:3px;box-shadow:0 2px 8px #00000026;display:block}.thumbnail-number{font-size:.7rem;font-weight:600;color:var(--text-muted);margin-top:.35rem}.studio-viewport{background:var(--bg-tertiary);overflow:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2.5rem 1.5rem;min-height:min(750px,80dvh);max-height:min(750px,80dvh);min-width:0;position:relative;transition:background-color .3s ease}@media (max-width: 768px){.studio-viewport{padding:1.25rem .75rem}}.studio-viewport-empty{justify-content:center}.studio-viewport-empty #studio-pages-stack{width:100%}.pdf-page-container{position:relative;margin-bottom:2.5rem;box-shadow:0 14px 45px #00000040;background:#fff;border-radius:4px;overflow:visible!important}.pdf-page-canvas{display:block;border-radius:4px}.pdf-editable-text-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:50}.pdf-text-hit-target{position:absolute;background:transparent;cursor:text;z-index:3}.pdf-text-hit-target:hover{background:#6366f112;border-radius:2px}.pdf-inline-editor{position:absolute;background:#fff;border:1.5px solid #6366f1;border-radius:3px;padding:0 4px;outline:none;z-index:20;white-space:pre;color:#0f172a;box-shadow:0 2px 12px #6366f12e;min-width:40px}.canvas-container{position:absolute!important;top:0;left:0;overflow:visible!important;z-index:20;pointer-events:none}.pdf-fabric-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:20}.studio-right-inspector{background:var(--bg-secondary);border-inline-start:1px solid var(--card-border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto;max-height:min(750px,80dvh);transition:background-color .3s ease,border-color .3s ease}@media (max-width: 1100px){.studio-right-inspector{display:none}}@media (max-width: 768px){.studio-left-sidebar{display:none}}.inspector-section{display:flex;flex-direction:column;gap:.6rem;border-bottom:1px solid var(--card-border);padding-bottom:1rem}.inspector-section:last-child{border-bottom:none}.inspector-title{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.4rem}.inspector-row{display:flex;align-items:center;gap:.5rem}.inspector-label{font-size:.775rem;color:var(--text-secondary);font-weight:600;min-width:70px}.inspector-input,.inspector-select{flex:1;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:.8rem}.studio-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:max(1.5rem,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left))}.studio-modal-card{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;max-width:620px;max-height:100%;box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.studio-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:1rem}.studio-modal-body{padding:1.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width: 480px){.studio-modal-backdrop{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.studio-modal-header,.studio-modal-body{padding:1rem}}.ribbon-file-menu-wrapper{position:relative}.ribbon-file-tab{background:var(--accent-primary)!important;color:#fff!important;border-radius:var(--radius-sm);padding:.4rem .85rem!important;margin-inline-end:.25rem}.file-menu-dropdown{position:absolute;top:100%;left:0;margin-top:4px;width:240px;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;padding:.4rem 0}.file-menu-header{padding:.6rem 1rem;font-size:.8rem;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--card-border);display:flex;align-items:center;gap:.5rem}.file-menu-item{width:100%;padding:.55rem 1rem;display:flex;align-items:center;gap:.6rem;font-size:.825rem;color:var(--text-primary);background:transparent;border:none;cursor:pointer;text-align:start;transition:var(--transition)}.file-menu-item:hover:not(.disabled){background:#6366f11f;color:var(--accent-primary)}.file-menu-item.disabled{opacity:.4;cursor:not-allowed}.file-menu-label{flex:1}.file-menu-shortcut{font-size:.725rem;color:var(--text-muted)}.file-menu-divider{height:1px;background:var(--card-border);margin:.35rem 0}.studio-status-bar{display:flex;align-items:center;justify-content:space-between;padding:.35rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--card-border);font-size:.75rem;color:var(--text-muted)}.status-left,.status-center,.status-right{display:flex;align-items:center;gap:1rem}.status-item{display:flex;align-items:center;gap:.35rem}.status-filename{font-weight:600;color:var(--text-primary)}.status-dirty-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);display:inline-block}.sidebar-tabs-strip{display:flex;gap:.25rem;width:100%}.sidebar-tab-btn{flex:1;height:32px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.sidebar-tab-btn:hover,.sidebar-tab-btn.active{background:var(--bg-primary);border-color:var(--card-border);color:var(--accent-primary)}.sidebar-panel-content{flex:1}.sidebar-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-muted);font-size:.825rem;gap:.5rem;text-align:center}.sidebar-empty-state i{font-size:2rem}.sidebar-empty-hint{font-size:.75rem;opacity:.7}.sidebar-search-panel{display:flex;flex-direction:column;gap:.75rem}.sidebar-search-input-wrap{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm)}.sidebar-search-input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.8rem;width:100%}.sidebar-search-results{display:flex;flex-direction:column;gap:.35rem}.search-results-count{font-size:.725rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.search-result-item{padding:.5rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.775rem;display:flex;flex-direction:column;gap:.2rem;transition:var(--transition)}.search-result-item:hover,.search-result-item.active{border-color:var(--accent-primary);background:#6366f114}.search-result-page{font-weight:700;color:var(--accent-primary);font-size:.7rem}.search-result-text{color:var(--text-secondary);line-height:1.3}.bookmarks-tree,.layers-list{display:flex;flex-direction:column;gap:.35rem}.bookmark-item,.layer-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-primary);cursor:pointer;width:100%;text-align:start;transition:var(--transition)}.bookmark-item:hover,.layer-item:hover{border-color:var(--accent-primary)}.bookmark-title,.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark-page{font-size:.725rem;color:var(--text-muted)}.layer-toggle{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:.15rem}.layer-toggle:hover,.layer-toggle.on{color:var(--accent-primary)}.layer-toggle.off{opacity:.3}.layer-drag-handle{color:var(--text-muted);cursor:grab;font-size:.7rem}.zoom-controls{display:flex;align-items:center;gap:.35rem}.zoom-pct-label{font-size:.8rem;font-weight:700;min-width:48px;text-align:center;color:var(--text-primary)}.zoom-page-label{font-size:.8rem;font-weight:700;color:var(--text-secondary)}.ribbon-search-compact{display:flex;align-items:center;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:0 .5rem;height:34px}.ribbon-search-input{background:transparent;border:none;color:var(--text-primary);font-size:.8rem;outline:none;width:110px}.ribbon-search-expanded{position:absolute;top:100%;right:1rem;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.75rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;width:320px;max-width:calc(100vw - 2rem)}.search-row{display:flex;align-items:center;gap:.35rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.25rem .5rem}.search-count{font-size:.725rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.search-options{display:flex;gap:.85rem;font-size:.75rem;color:var(--text-secondary)}.search-option{display:flex;align-items:center;gap:.25rem;cursor:pointer}.inspector-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.inspector-field{display:flex;flex-direction:column;gap:.25rem}.inspector-field label{font-size:.725rem;font-weight:600;color:var(--text-muted)}.inspector-color-input{width:34px;height:32px;padding:.1rem;border:1px solid var(--card-border);border-radius:var(--radius-sm);cursor:pointer;background:transparent}.inspector-color-hex{font-size:.775rem;font-family:var(--font-mono, monospace);color:var(--text-secondary)}.inspector-btn-row{display:flex;gap:.35rem}.inspector-hint{font-size:.775rem;color:var(--text-muted);line-height:1.3}.inspector-hint-active{color:var(--accent-primary);font-weight:600}.inspector-delete-btn{width:100%;color:var(--danger)!important;border-color:#ef444466!important}.inspector-delete-btn:disabled{opacity:.4;cursor:not-allowed}.studio-find-replace-modal{position:absolute;top:100px;right:300px;width:340px;max-width:calc(100vw - 2rem);max-height:70dvh;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:900;overflow:hidden;display:flex;flex-direction:column}.find-replace-header{padding:.65rem 1rem;background:var(--bg-primary);border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.find-replace-body{padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width: 900px){.studio-find-replace-modal{position:fixed;top:auto;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;right:auto;transform:translate(-50%);width:calc(100vw - 2rem)}}.studio-ruler-top{position:absolute;top:0;left:0;right:0;height:20px;background:var(--bg-secondary);border-bottom:1px solid var(--card-border);background-image:repeating-linear-gradient(90deg,var(--card-border) 0,var(--card-border) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,var(--text-muted) 0,var(--text-muted) 1px,transparent 1px,transparent 50px);background-size:10px 6px,50px 12px;background-position:left bottom,left bottom;background-repeat:repeat-x;z-index:10}.studio-ruler-left{position:absolute;top:0;left:0;bottom:0;width:20px;background:var(--bg-secondary);border-inline-end:1px solid var(--card-border);background-image:repeating-linear-gradient(0deg,var(--card-border) 0,var(--card-border) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(0deg,var(--text-muted) 0,var(--text-muted) 1px,transparent 1px,transparent 50px);background-size:6px 10px,12px 50px;background-position:right top,right top;background-repeat:repeat-y;z-index:10}.studio-page-context-menu{min-width:170px;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.35rem 0}.studio-page-context-menu button{width:100%;padding:.5rem .9rem;display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--text-primary);background:transparent;border:none;cursor:pointer;text-align:start;transition:var(--transition)}.studio-page-context-menu button:hover{background:#6366f11f;color:var(--accent-primary)}.studio-page-context-menu button.danger:hover{background:#ef44441f;color:var(--danger)}.reading-progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--accent-gradient);width:0%;z-index:2000;transition:width .1s ease-out}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:var(--radius-full);background:var(--accent-gradient);color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-lg);z-index:1800;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;pointer-events:none;transition:var(--transition)}.back-to-top.visible{opacity:1;pointer-events:auto}.back-to-top:hover{transform:translateY(-4px);box-shadow:0 6px 20px var(--accent-glow)}.breadcrumb-nav{display:flex;align-items:center;gap:.5rem;font-size:.825rem;color:var(--text-muted);margin-bottom:1rem}.breadcrumb-nav a{color:var(--text-secondary)}.breadcrumb-nav a:hover{color:var(--accent-primary)}.code-wrapper{position:relative;margin:1.5rem 0}.code-copy-btn{position:absolute;top:10px;right:10px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.25rem .6rem;font-size:.75rem;cursor:pointer;transition:var(--transition)}.code-copy-btn:hover{background:var(--accent-primary);color:#fff}.container{width:100%;max-width:1440px;margin:0 auto;padding:0 1.25rem}.navbar{position:sticky;top:0;z-index:1000;background:var(--card-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--card-border);padding:calc(.5rem + env(safe-area-inset-top)) 0 .5rem;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);transition:var(--transition)}.navbar.scrolled{box-shadow:var(--shadow-md)}.nav-container{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.brand-logo{display:flex;align-items:center;gap:.65rem;font-family:var(--font-heading);font-size:1.3rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;text-decoration:none;flex-shrink:0;line-height:1}.brand-logo i{font-size:1.5rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-badge{font-size:.62rem;font-weight:700;height:20px;padding:0 7px;border-radius:var(--radius-full, 9999px);background:#8b5cf624;color:var(--accent-primary);border:1px solid rgba(139,92,246,.28);text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.nav-links{display:flex;align-items:center;gap:4px}.nav-link{font-weight:500;font-size:.835rem;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-height:36px;max-height:36px;padding:0 12px;box-sizing:border-box;border-radius:var(--radius-full, 9999px);border:1px solid transparent;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;line-height:1;white-space:nowrap}.nav-link:hover{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff0f;transform:translateY(-1px)}.nav-link.active{color:var(--accent-primary);background:#8b5cf61f;border-color:#8b5cf640;font-weight:600;box-shadow:0 2px 8px #8b5cf61f}.nav-link.active:after{display:none}.hamburger-btn{display:none;width:36px;height:36px;min-width:36px;min-height:36px;max-height:36px;padding:0;box-sizing:border-box;border-radius:var(--radius-full, 9999px);background:var(--bg-tertiary, rgba(255, 255, 255, .04));border:1px solid var(--card-border);color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center;font-size:.95rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.hamburger-btn:hover{background:#8b5cf61f;color:var(--accent-primary);border-color:#8b5cf666;transform:translateY(-1px)}.hamburger-btn:active{transform:translateY(0) scale(.96)}.mobile-drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;opacity:0;transition:opacity .3s ease}.mobile-drawer-overlay.active{display:block;opacity:1}.mobile-drawer{position:fixed;top:0;right:-100%;width:min(280px,85vw);height:100vh;height:100dvh;background:var(--bg-secondary);border-inline-start:1px solid var(--card-border);z-index:9999;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1.5rem + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) 1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:right .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-drawer.active{right:0;box-shadow:-10px 0 40px #0003}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--card-border);margin-bottom:.5rem}.mobile-drawer .nav-link{width:100%;height:auto;min-height:42px;max-height:none;padding:.65rem 1rem;border-radius:var(--radius-md);font-size:.95rem;justify-content:flex-start}.mobile-drawer .nav-link:hover,.mobile-drawer .nav-link.active{background:#6366f11a}.nav-search-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;min-height:36px;max-height:36px;padding:0 10px 0 12px;box-sizing:border-box;background:var(--bg-tertiary, rgba(255, 255, 255, .04));border:1px solid var(--card-border);border-radius:var(--radius-full, 9999px);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;line-height:1}.nav-search-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);background:#6366f114;transform:translateY(-1px);box-shadow:0 2px 10px #6366f11f}.nav-search-btn:active{transform:translateY(0) scale(.98)}.nav-search-btn i{font-size:.8rem;opacity:.85}.nav-actions{display:flex;align-items:center;gap:7px}.nav-divider{width:1px;height:18px;background:var(--card-border);margin:0 2px;flex-shrink:0;opacity:.8}.navbar .btn-icon,.nav-actions .btn-icon{width:36px;height:36px;min-width:36px;min-height:36px;max-height:36px;padding:0;box-sizing:border-box;border-radius:var(--radius-full, 9999px);background:var(--bg-tertiary, rgba(255, 255, 255, .04));color:var(--text-secondary);border:1px solid var(--card-border);display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1}.navbar .btn-icon:hover,.nav-actions .btn-icon:hover{background:#8b5cf61f;color:var(--accent-primary);border-color:#8b5cf666;transform:translateY(-1px);box-shadow:0 2px 10px #8b5cf626}.navbar .btn-icon:active,.nav-actions .btn-icon:active{transform:translateY(0) scale(.96)}.header-ad-banner{margin:1rem auto 0;text-align:center}.ad-slot-container{width:100%;position:relative;text-align:center;margin:1rem 0;overflow:hidden;transition:opacity .25s cubic-bezier(.4,0,.2,1);min-height:100px}.ad-slot-container.leaderboard{max-width:728px;margin:.75rem auto;min-height:100px}.ad-slot-container.sidebar-ad{min-height:0}.ad-slot-container.ad-slot-empty,.header-ad-banner:has(.ad-slot-empty){min-height:0;margin:0;height:0;overflow:hidden}.ad-slot-container.sticky-footer{min-height:108px;height:108px;position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:728px;z-index:999;margin:0;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:0 -4px 20px #0000004d;padding:calc(.25rem + env(safe-area-inset-bottom)) calc(.5rem + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(.5rem + env(safe-area-inset-left))}.sticky-ad-close{position:absolute;top:4px;right:8px;background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;z-index:10}.sticky-ad-close:hover{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;border:1px solid transparent;transition:var(--transition);white-space:nowrap;position:relative;overflow:hidden;isolation:isolate}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn:active{transform:scale(.97)}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgba(255,255,255,.3) 0%,transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:-1}.btn:active:after{opacity:1}.btn-primary{background:#7c3aed;color:#fff;box-shadow:0 4px 14px #7c3aed59;border:none;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.btn-primary:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed73}.btn-primary:active{background:#581c87;transform:translateY(0) scale(.98);box-shadow:0 2px 8px #7c3aed4d}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:#8b5cf624;border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 12px var(--accent-glow)}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--card-border)}.btn-outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#8b5cf614;box-shadow:0 0 0 3px #8b5cf61f}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent;padding:.5rem .75rem;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.btn-ghost:hover{color:var(--accent-primary);background:#8b5cf61a;border-color:#8b5cf626;text-decoration:none}.btn-danger{background:#ef4444;color:#fff;box-shadow:0 4px 14px var(--danger-glow);border:none}.btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 20px var(--danger-glow)}.btn-success{background:#10b981;color:#fff;box-shadow:0 4px 14px var(--success-glow);border:none}.btn-success:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 20px var(--success-glow)}.btn-lg{padding:.85rem 1.75rem;font-size:1rem;border-radius:var(--radius-md)}.btn-sm{padding:.35rem .85rem;font-size:.8rem;border-radius:6px}.btn-xs{padding:.2rem .55rem;font-size:.72rem;border-radius:5px}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--card-border)}.btn-icon:hover{background:#6366f126;color:var(--accent-primary);border-color:var(--accent-primary);transform:rotate(15deg) scale(1.05)}.kbd-badge{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-code);font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--text-muted);line-height:1;box-shadow:0 1px 2px #0000000f}.main-wrapper{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;margin:1.25rem 0 2.5rem}.main-wrapper.full-width{grid-template-columns:1fr}.main-wrapper>*{min-width:0}.sidebar{display:flex;flex-direction:column;gap:1.25rem}.widget-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:1.1rem;-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop)}.widget-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;margin-bottom:.85rem;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.widget-title i{color:var(--accent-primary)}.hero-section{text-align:center;padding:2.25rem 1rem 1.5rem;background:transparent;border-radius:var(--radius-xl);margin-bottom:1.75rem;border:none;position:relative;overflow:visible;isolation:isolate}.hero-title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:900;line-height:1.15;margin-bottom:.75rem;letter-spacing:-.03em;position:relative;z-index:2;color:var(--text-primary);text-shadow:0 4px 24px rgba(0,0,0,.9),0 2px 8px rgba(0,0,0,.8)}[data-theme=light] .hero-title{text-shadow:0 2px 12px rgba(255,255,255,.9),0 1px 3px rgba(0,0,0,.15)}.hero-title span{display:inline-block;background:linear-gradient(90deg,#e9d5ff,#c084fc,#a855f7,#7c3aed,#c084fc,#e9d5ff);background-size:250% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none!important;animation:violetPurpleFlow 4s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(192,132,252,.8)) drop-shadow(0 0 28px rgba(139,92,246,.45))}[data-theme=light] .hero-title span{background:linear-gradient(90deg,#7c3aed,#8b5cf6,#a855f7,#6d28d9,#7c3aed);background-size:250% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none!important;animation:violetPurpleFlow 4s ease-in-out infinite;filter:drop-shadow(0 2px 8px rgba(124,58,237,.3))}@keyframes violetPurpleFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-subtitle{font-size:.95rem;color:#cbd5e1;max-width:680px;margin:0 auto 1.25rem;line-height:1.6;position:relative;z-index:2;text-shadow:0 2px 14px rgba(0,0,0,.95),0 1px 3px rgba(0,0,0,.9)}[data-theme=light] .hero-subtitle{color:#475569;text-shadow:none}.search-box{position:relative;max-width:480px;margin:0 auto;z-index:2}.search-box input{width:100%;padding:.75rem 1.1rem .75rem 2.6rem;background:#111827e0;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-full);color:#f8fafc;outline:none;transition:var(--transition);box-shadow:0 8px 28px #00000073;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:.88rem}[data-theme=light] .search-box input{background:#ffffffeb;border:1px solid rgba(0,0,0,.1);color:var(--text-primary);box-shadow:0 6px 20px #0000000f}.search-box input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-glow),0 8px 30px #0006}.search-box i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--accent-primary);font-size:.9rem}.hero-popular-pills{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.1rem;flex-wrap:wrap;position:relative;z-index:2}.hero-popular-pills .pill-label{font-size:.75rem;font-weight:700;color:#e2e8f0;text-shadow:0 2px 8px rgba(0,0,0,.9)}[data-theme=light] .hero-popular-pills .pill-label{color:var(--text-secondary);text-shadow:none}.popular-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .8rem;border-radius:var(--radius-full);background:#111827cc;border:1px solid rgba(255,255,255,.12);color:#f1f5f9;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 14px #00000059;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-shadow:0 1px 4px rgba(0,0,0,.8)}[data-theme=light] .popular-pill{background:#ffffffd9;border:1px solid rgba(0,0,0,.08);color:var(--text-secondary);box-shadow:0 4px 12px #0000000d;text-shadow:none}.popular-pill:hover{transform:translateY(-2px) scale(1.04);color:var(--accent-primary);border-color:var(--accent-primary);background:#8b5cf62e;box-shadow:0 8px 22px var(--accent-glow)}.popular-pill i{font-size:.7rem}.hero-stats{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:1.5rem;padding-top:.25rem;flex-wrap:wrap;position:relative;z-index:2}.hero-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem 1rem;background:#111827d1;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-theme=light] .hero-stat{background:#ffffffd9;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 14px #0000000f}.hero-stat:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 10px 25px var(--accent-glow);border-color:#8b5cf666}.hero-stat-value{font-family:var(--font-heading);font-size:1.35rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-stat-label{font-size:.72rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.filter-tabs{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1.75rem 0 2rem;flex-wrap:wrap}.tab-btn{padding:.5rem 1.2rem;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:.875rem;border:1px solid var(--card-border);cursor:pointer;transition:var(--transition)}.tab-btn:hover,.tab-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 4px 12px var(--accent-glow)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-title{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;display:flex;align-items:center;gap:.6rem}.section-title i{color:var(--accent-primary)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:1.15rem}.tool-card,.article-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:1.2rem;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,border-color .3s ease;display:flex;flex-direction:column;cursor:pointer;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tool-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);padding:1px;background:linear-gradient(135deg,transparent 30%,var(--accent-primary) 50%,var(--accent-secondary) 70%,transparent 100%);background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease,background-position .8s ease;pointer-events:none}.tool-card:hover:before{opacity:1;background-position:100% 100%}.tool-card:hover,.article-card:hover{transform:translateY(-5px);border-color:#8b5cf666;box-shadow:var(--shadow-md),var(--shadow-glow)}.article-card:hover{border-color:var(--card-hover-border)}.card-fav-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--card-border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;transition:var(--transition);z-index:5;opacity:0}.tool-card:hover .card-fav-btn{opacity:1}.card-fav-btn:hover{color:#ef4444;border-color:#ef444466;background:#ef444414}.card-fav-btn.favorited{opacity:1;color:#ef4444;background:#ef44441a;border-color:#ef44444d}.card-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:#6366f11f;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:.9rem;transition:var(--transition);position:relative}.tool-card:hover .card-icon{box-shadow:0 0 16px var(--accent-glow)}.card-icon[data-cat=converter],.card-icon[data-cat=pdf]{background:#ef44441a;color:var(--cat-pdf)}.card-icon[data-cat=developer]{background:linear-gradient(135deg,#8b5cf62e,#4c1d9538);color:var(--cat-developer)}.card-icon[data-cat=media]{background:#8b5cf61a;color:var(--cat-media)}.card-icon[data-cat=generator]{background:#06b6d41a;color:var(--cat-generator)}.card-icon[data-cat=writing]{background:#f59e0b1a;color:var(--cat-writing)}.card-icon[data-cat=security]{background:#10b9811a;color:var(--cat-security)}.card-icon[data-cat=calculator]{background:linear-gradient(135deg,#c084fc38,#8b5cf633 40%,#0f051d4d);color:var(--cat-calculator)}.card-icon[data-cat=data]{background:#14b8a61a;color:var(--cat-data)}.card-icon[data-cat=design]{background:#a855f71a;color:var(--cat-design)}.card-icon[data-cat=devops]{background:#0ea5e91f;color:var(--cat-devops)}.card-icon[data-cat=game]{background:#ec48991a;color:var(--cat-game)}.card-icon[data-cat=game-runner]{background:#2a78d61f;color:var(--cat-game-runner)}.card-icon[data-cat=game-puzzle]{background:#eb68341f;color:var(--cat-game-puzzle)}.card-icon[data-cat=game-brain]{background:#1baf7a1f;color:var(--cat-game-brain)}.card-icon[data-cat=game-aim]{background:#eda10024;color:var(--cat-game-aim)}.card-icon[data-cat=game-retro]{background:#e87ba424;color:var(--cat-game-retro)}.card-icon[data-cat=game-flappy]{background:#4a3aa71f;color:var(--cat-game-flappy)}.card-icon[data-cat=game-tetris]{background:#e349481f;color:var(--cat-game-tetris)}.card-meta-row{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.4rem}.card-title{display:block;font-family:var(--font-heading);font-size:1.08rem;font-weight:700;margin-bottom:.35rem;color:var(--text-primary);text-decoration:none}.tool-card:hover .card-title{color:var(--accent-primary)}.card-title:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:4px}.card-desc{font-size:.84rem;color:var(--text-secondary);line-height:1.45;margin-bottom:.95rem;flex-grow:1}.card-footer{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-muted);font-weight:600;border-top:1px solid var(--card-border);padding-top:.85rem}.card-footer span:last-child{transition:var(--transition)}.tool-card:hover .card-footer span:last-child{color:var(--accent-primary);transform:translate(3px)}.card-tag{background:#06b6d41a;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.75rem;color:var(--accent-cyan);border:1px solid rgba(6,182,212,.15)}.card-featured-badge{position:absolute;top:0;left:1.25rem;padding:.25rem .6rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-gradient);color:#fff;border-radius:0 0 6px 6px}.privacy-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.72rem;font-weight:600;background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-full)}.privacy-badge i{font-size:.68rem}.fade-in-up{opacity:0;transform:perspective(1000px) rotateX(10deg) translate3d(0,30px,-25px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.fade-in-up.visible{opacity:1;transform:perspective(1000px) rotateX(0) translateZ(0)}.tool-workspace{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1.35rem 1.6rem;-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);margin-bottom:1.5rem}@media (max-width: 480px){.tool-workspace{padding:1rem}}.tool-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--card-border)}.tool-info h1{font-family:var(--font-heading);font-size:1.45rem;font-weight:800;margin-bottom:.25rem}.tool-info p{color:var(--text-secondary);font-size:.88rem}.tool-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 850px){.tool-grid-2col{grid-template-columns:1fr}}.unit-swap-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:flex-end}@media (max-width: 480px){.unit-swap-grid{grid-template-columns:1fr}.unit-swap-grid .unit-swap-icon{justify-self:center;padding:.25rem 0!important;transform:rotate(90deg)}}.calc-category-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.calc-category-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.1rem;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.85rem;cursor:pointer;transition:var(--transition);white-space:nowrap}.calc-category-tab:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.calc-category-tab.active{background:var(--accent-primary);border-color:transparent;color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.calc-pill-bar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.85rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg)}.calc-pill{padding:.4rem 1rem;border-radius:var(--radius-full);border:1px solid var(--card-border);background:var(--bg-primary);color:var(--text-secondary);font-weight:600;font-size:.8rem;cursor:pointer;transition:var(--transition);white-space:nowrap}.calc-pill:hover{border-color:var(--accent-secondary);color:var(--accent-secondary)}.calc-pill.active{background:var(--accent-primary);border-color:transparent;color:#fff}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.4rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;transition:var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.form-textarea{font-family:var(--font-code);font-size:.875rem;resize:vertical;min-height:220px}.output-box{background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:1rem;font-family:var(--font-code);font-size:.875rem;min-height:220px;max-height:450px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.md-pdf-preview h1,.md-pdf-preview h2,.md-pdf-preview h3{font-family:var(--font-heading);margin:.75rem 0 .5rem;color:var(--text-primary)}.md-pdf-preview h1{font-size:1.5rem}.md-pdf-preview h2{font-size:1.25rem}.md-pdf-preview h3{font-size:1.05rem}.md-pdf-preview p{margin:0 0 .75rem;line-height:1.6;color:var(--text-secondary)}.md-pdf-preview ul,.md-pdf-preview ol{margin:0 0 .75rem 1.25rem;color:var(--text-secondary);line-height:1.6}.md-pdf-preview blockquote{margin:0 0 .75rem;padding:.5rem .85rem;border-inline-start:3px solid var(--accent-primary);color:var(--text-muted);font-style:italic;background:var(--bg-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.md-pdf-preview pre{margin:0 0 .75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);overflow-x:auto}.md-pdf-preview code{font-family:var(--font-code);font-size:.85em}.md-pdf-preview p code{background:var(--bg-secondary);padding:.1rem .35rem;border-radius:4px}.md-pdf-preview hr{border:none;border-top:1px solid var(--card-border);margin:1rem 0}.article-content{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:2.75rem;box-shadow:0 16px 48px #0006;position:relative;z-index:2}[data-theme=dark] .article-content{background:#0d121f;border-color:#ffffff1a;box-shadow:0 20px 50px #0009}[data-theme=light] .article-content{background:#fff;border-color:#00000014;box-shadow:0 12px 36px #0000000f}.article-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--card-border)}.article-header h1{font-family:var(--font-heading);font-size:2.2rem;font-weight:800;line-height:1.25;margin-bottom:1rem;color:var(--text-primary)}.article-meta{display:flex;align-items:center;gap:1.25rem;font-size:.88rem;color:var(--text-secondary)}.article-body h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin:2rem 0 .85rem;color:var(--text-primary);scroll-margin-top:80px}.article-body h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;margin:1.5rem 0 .75rem;color:var(--text-primary)}.article-body p{margin-bottom:1.25rem;color:var(--text-secondary);font-size:1.05rem;line-height:1.75}[data-theme=dark] .article-body p{color:#cbd5e1}[data-theme=light] .article-body p{color:#334155}.article-body ul,.article-body ol{margin:0 0 1.25rem 1.5rem;color:var(--text-secondary);line-height:1.75}[data-theme=dark] .article-body ul,[data-theme=dark] .article-body ol{color:#cbd5e1}[data-theme=light] .article-body ul,[data-theme=light] .article-body ol{color:#334155}.article-body li{margin-bottom:.5rem}.article-body blockquote{border-inline-start:4px solid var(--accent-primary);padding:1rem 1.25rem;background:#8b5cf61a;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.5rem 0;font-style:italic;color:var(--text-primary)}.article-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.article-table-wrap{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--card-border);border-radius:var(--radius-sm)}.article-body table{width:100%;border-collapse:collapse;font-size:.92rem}.article-body th,.article-body td{padding:.65rem 1rem;text-align:start;border-bottom:1px solid var(--card-border);white-space:nowrap}.article-body thead th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:700;font-family:var(--font-heading)}.article-body tbody tr:last-child td{border-bottom:none}.article-body tbody tr:hover{background:var(--accent-glow)}.article-body pre{background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:1rem 1.25rem;overflow-x:auto;margin:1.5rem 0}.article-body pre code{font-family:var(--font-code);font-size:.85rem;line-height:1.6;color:var(--text-primary);white-space:pre}.article-callout{display:flex;align-items:flex-start;gap:.85rem;margin:1.5rem 0;padding:1rem 1.25rem;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-primary)}.article-callout p{margin:0!important;color:var(--text-primary)!important}.article-callout i{margin-top:.2rem;flex-shrink:0}.article-callout.tone-tip{border-color:#10b9814d}.article-callout.tone-tip i{color:var(--success)}.article-callout.tone-info{border-color:#8b5cf64d}.article-callout.tone-info i{color:var(--accent-primary)}.article-callout.tone-warn{border-color:#f59e0b59}.article-callout.tone-warn i{color:var(--warning)}.article-faq{margin:1.5rem 0;display:flex;flex-direction:column;gap:1rem}.article-faq-item{padding:1rem 1.25rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm)}.article-faq-item h3{margin:0 0 .5rem!important;font-size:1rem!important}.article-faq-item p{margin:0!important}.article-cta{display:flex;align-items:center;gap:1.1rem;margin:2rem 0;padding:1.25rem 1.5rem;border-radius:var(--radius-md);border:1px solid rgba(139,92,246,.3);background:linear-gradient(135deg,#8b5cf614,#06b6d40f);flex-wrap:wrap}.article-cta-icon{width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-sm);background:#8b5cf626;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.article-cta-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:200px}.article-cta-text strong{color:var(--text-primary);font-family:var(--font-heading);font-size:1.02rem}.article-cta-text span{color:var(--text-secondary);font-size:.88rem}.legal-page{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:clamp(1.25rem,5vw,3rem);box-shadow:0 16px 48px #00000073;position:relative;z-index:2}[data-theme=dark] .legal-page{background:#0d121f;border-color:#ffffff1a;box-shadow:0 24px 60px #000000b3}[data-theme=light] .legal-page{background:#fff;border-color:#00000014;box-shadow:0 16px 40px #0000000f}.legal-page h1{font-family:var(--font-heading);font-size:2.2rem;font-weight:800;margin-bottom:.5rem;color:var(--text-primary)}.legal-page .last-updated{font-size:.88rem;color:var(--text-muted);margin-bottom:2rem;display:block}.legal-page h2{font-family:var(--font-heading);font-size:1.45rem;font-weight:700;margin:2rem 0 .85rem;color:var(--text-primary);border-bottom:1px solid var(--card-border);padding-bottom:.4rem}.legal-page h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;margin:1.5rem 0 .5rem;color:var(--text-primary)}.legal-page p{color:var(--text-primary);margin-bottom:1.25rem;line-height:1.75;font-size:1rem}[data-theme=dark] .legal-page p{color:#cbd5e1}[data-theme=light] .legal-page p{color:#334155}.legal-page ul,.legal-page ol{margin:1rem 0 1.5rem 1.5rem;color:var(--text-primary);line-height:1.75}[data-theme=dark] .legal-page ul,[data-theme=dark] .legal-page ol{color:#cbd5e1}[data-theme=light] .legal-page ul,[data-theme=light] .legal-page ol{color:#334155}.legal-page li{margin-bottom:.6rem}.legal-page strong{color:var(--text-primary)}[data-theme=dark] .legal-page strong{color:#fff}.legal-page a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:3px;font-weight:600}.legal-page a:hover{color:#c084fc}.legal-page .article-lead{font-size:1.15rem;line-height:1.8;color:var(--text-primary);margin-bottom:2rem}.legal-page .form-input,.legal-page .form-textarea,.legal-page .form-select{background:var(--bg-primary);border:1px solid var(--card-border);color:var(--text-primary)}[data-theme=dark] .legal-page .form-input,[data-theme=dark] .legal-page .form-textarea,[data-theme=dark] .legal-page .form-select{background:#0b0f19;border-color:#ffffff1f;color:#f8fafc}.cookie-banner{position:fixed;bottom:1.5rem;left:1.5rem;right:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom));left:calc(1.5rem + env(safe-area-inset-left));right:calc(1.5rem + env(safe-area-inset-right));max-width:600px;margin:0 auto;background:var(--bg-secondary);border:1px solid var(--accent-primary);border-radius:var(--radius-md);padding:1.25rem 1.5rem;z-index:2500;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:var(--transition)}.cookie-banner.hidden{display:none!important;opacity:0!important;pointer-events:none!important}.toast-container{position:fixed;bottom:calc(2rem + env(safe-area-inset-bottom));right:calc(2rem + env(safe-area-inset-right));left:2rem;z-index:3000;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;pointer-events:none}.toast-container>*{pointer-events:auto}@media (max-width: 480px){.toast-container{bottom:calc(1rem + env(safe-area-inset-bottom));right:calc(1rem + env(safe-area-inset-right));left:calc(1rem + env(safe-area-inset-left))}}.toast{background:var(--bg-tertiary);color:var(--text-primary);border-inline-start:4px solid var(--accent-primary);padding:.85rem 1.25rem;max-width:100%;width:fit-content;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:.9rem;display:flex;align-items:center;gap:.75rem;animation:slideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.footer{background:var(--bg-secondary);border-top:1px solid var(--card-border);padding:3.5rem 0 2rem;margin-top:auto;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}.footer-brand p{color:var(--text-secondary);font-size:.9rem;margin-top:.75rem;max-width:320px}.footer-social{display:flex;gap:.75rem;margin-top:1.25rem}.footer-social a{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:var(--transition)}.footer-social a:hover{background:#6366f126;color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-3px)}.footer-col h4{font-family:var(--font-heading);font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.footer-col ul li{margin-bottom:.6rem}.footer-col a{color:var(--text-secondary);font-size:.875rem;transition:var(--transition);position:relative}.footer-col a:hover{color:var(--accent-primary);padding-inline-start:4px}.footer-bottom{border-top:1px solid var(--card-border);padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.cmd-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;opacity:0;pointer-events:none;transition:opacity .2s ease}.cmd-palette-overlay.active{opacity:1;pointer-events:auto}.cmd-palette{width:100%;max-width:580px;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006;overflow:hidden;transform:scale(.95) translateY(-10px);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.cmd-palette-overlay.active .cmd-palette{transform:scale(1) translateY(0)}.cmd-palette-input-wrapper{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--card-border)}.cmd-palette-input-wrapper i{color:var(--accent-primary);font-size:1.1rem}.cmd-palette-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:1rem;font-family:var(--font-body)}.cmd-palette-input::placeholder{color:var(--text-muted)}.cmd-palette-results{max-height:360px;overflow-y:auto;padding:.5rem}.cmd-palette-results::-webkit-scrollbar{width:5px}.cmd-palette-results::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:5px}.cmd-result-item{display:flex;align-items:center;gap:.85rem;padding:.7rem .85rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-decoration:none;color:var(--text-primary)}.cmd-result-item:hover,.cmd-result-item.active{background:#6366f114}.cmd-result-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:#6366f11a;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.cmd-result-info{flex:1;min-width:0}.cmd-result-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-result-desc{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-result-tag{font-size:.68rem;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-full);background:#6366f11a;color:var(--accent-primary);flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.cmd-palette-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.cmd-palette-empty i{font-size:2rem;margin-bottom:.75rem;display:block;color:var(--text-muted)}.cmd-palette-footer{padding:.6rem 1rem;border-top:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--text-muted)}.section-wave-divider{width:100%;height:60px;overflow:hidden;position:relative;margin:-1px 0}.section-wave-divider svg{width:100%;height:100%}.recent-tools-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.85rem 0}.recent-tool-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--transition);white-space:nowrap;text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recent-tool-chip:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#6366f10f;transform:translateY(-2px)}.recent-tool-chip i{font-size:.75rem}.category-hero{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);margin-bottom:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.category-hero-icon{width:64px;height:64px;border-radius:var(--radius-md);background:#6366f11f;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0}.category-hero-info h1{font-family:var(--font-heading);font-size:1.6rem;font-weight:800;margin-bottom:.25rem}.category-hero-info p{color:var(--text-secondary);font-size:.9rem}.related-tools-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--card-border)}.related-tools-section h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.related-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.related-tool-card{display:flex;align-items:center;gap:.85rem;padding:.85rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-decoration:none;color:var(--text-primary)}.related-tool-card:hover{border-color:var(--accent-primary);background:#6366f10a;transform:translate(4px)}.related-tool-card .mini-icon{width:36px;height:36px;border-radius:8px;background:#6366f11a;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.related-tool-card .mini-name{font-weight:600;font-size:.85rem}.how-to-section{margin-top:2rem}.how-to-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--text-primary);transition:var(--transition)}.how-to-toggle:hover{border-color:var(--accent-primary)}.how-to-toggle i:last-child{transition:transform .3s ease}.how-to-toggle.open i:last-child{transform:rotate(180deg)}.how-to-content{display:none;padding:1.25rem;background:var(--bg-primary);border:1px solid var(--card-border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--text-secondary);font-size:.9rem;line-height:1.7}.how-to-content.open{display:block}.how-to-content ol{padding-inline-start:1.25rem;margin:.5rem 0}.how-to-content li{margin-bottom:.5rem}.share-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.share-btn:hover{background:#6366f11f;color:var(--accent-primary);border-color:var(--accent-primary)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(99,102,241,.06) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1100px){.online-radar-text{display:none}.online-radar-btn{padding:0 9px}.nav-search-btn .kbd-badge{display:none}}@media (max-width: 992px){.main-wrapper{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 960px){.nav-links{display:none}.hamburger-btn{display:inline-flex}}@media (max-width: 650px){.brand-badge{display:none}.nav-search-btn span:not(.kbd-badge){display:none}.nav-search-btn .kbd-badge{display:none}.nav-search-btn{width:36px;min-width:36px;padding:0}.nav-actions{gap:5px}.nav-divider{display:none}.hero-title{font-size:1.8rem}.hero-stats{gap:1.25rem}.hero-stat-value{font-size:1.3rem}.footer-grid{grid-template-columns:1fr}.cookie-banner{flex-direction:column;align-items:stretch}.cmd-palette{margin:0 1rem}.category-hero{flex-direction:column;text-align:center}.tool-header{flex-direction:column;gap:1rem}}.editor-theme-select-input{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.82rem;font-weight:600;cursor:pointer;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.editor-theme-select-input:hover,.editor-theme-select-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.editor-theme-picker-wrap{display:flex;align-items:center;gap:6px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:2px 8px}.tok-key{font-weight:600}.tok-string{font-style:normal}.tok-number{font-weight:500}.tok-boolean{font-weight:700}.tok-null{font-style:italic}[data-editor-theme=vscode-dark] .output-box,[data-editor-theme=vscode-dark] .code-box,.output-box.editor-theme-vscode-dark{background-color:#1e1e1e!important;color:#d4d4d4!important;border-color:#333!important;box-shadow:0 4px 20px #0006}[data-editor-theme=vscode-dark] .tok-key{color:#9cdcfe}[data-editor-theme=vscode-dark] .tok-string{color:#ce9178}[data-editor-theme=vscode-dark] .tok-number{color:#b5cea8}[data-editor-theme=vscode-dark] .tok-boolean,[data-editor-theme=vscode-dark] .tok-null{color:#569cd6}[data-editor-theme=onedark] .output-box,[data-editor-theme=onedark] .code-box,.output-box.editor-theme-onedark{background-color:#282c34!important;color:#abb2bf!important;border-color:#3e4451!important;box-shadow:0 4px 20px #282c3480}[data-editor-theme=onedark] .tok-key{color:#e06c75}[data-editor-theme=onedark] .tok-string{color:#98c379}[data-editor-theme=onedark] .tok-number{color:#d19a66}[data-editor-theme=onedark] .tok-boolean{color:#56b6c2}[data-editor-theme=onedark] .tok-null{color:#c678dd}[data-editor-theme=dracula] .output-box,[data-editor-theme=dracula] .code-box,.output-box.editor-theme-dracula{background-color:#282a36!important;color:#f8f8f2!important;border-color:#44475a!important;box-shadow:0 4px 20px #282a3699}[data-editor-theme=dracula] .tok-key{color:#ff79c6}[data-editor-theme=dracula] .tok-string{color:#f1fa8c}[data-editor-theme=dracula] .tok-number{color:#bd93f9}[data-editor-theme=dracula] .tok-boolean{color:#8be9fd}[data-editor-theme=dracula] .tok-null{color:#f55}[data-editor-theme=monokai] .output-box,[data-editor-theme=monokai] .code-box,.output-box.editor-theme-monokai{background-color:#272822!important;color:#f8f8f2!important;border-color:#3e3d32!important;box-shadow:0 4px 20px #27282299}[data-editor-theme=monokai] .tok-key{color:#f92672}[data-editor-theme=monokai] .tok-string{color:#e6db74}[data-editor-theme=monokai] .tok-number{color:#ae81ff}[data-editor-theme=monokai] .tok-boolean{color:#66d9ef}[data-editor-theme=monokai] .tok-null{color:#fd971f}[data-editor-theme=nord] .output-box,[data-editor-theme=nord] .code-box,.output-box.editor-theme-nord{background-color:#2e3440!important;color:#d8dee9!important;border-color:#434c5e!important;box-shadow:0 4px 20px #2e344080}[data-editor-theme=nord] .tok-key{color:#88c0d0}[data-editor-theme=nord] .tok-string{color:#a3be8c}[data-editor-theme=nord] .tok-number{color:#b48ead}[data-editor-theme=nord] .tok-boolean{color:#81a1c1}[data-editor-theme=nord] .tok-null{color:#ebcb8b}[data-editor-theme=tokyonight] .output-box,[data-editor-theme=tokyonight] .code-box,.output-box.editor-theme-tokyonight{background-color:#1a1b26!important;color:#c0caf5!important;border-color:#292e42!important;box-shadow:0 4px 20px #1a1b2699}[data-editor-theme=tokyonight] .tok-key{color:#7aa2f7}[data-editor-theme=tokyonight] .tok-string{color:#9ece6a}[data-editor-theme=tokyonight] .tok-number{color:#ff9e64}[data-editor-theme=tokyonight] .tok-boolean{color:#bb9af7}[data-editor-theme=tokyonight] .tok-null{color:#f7768e}[data-editor-theme=nightowl] .output-box,[data-editor-theme=nightowl] .code-box,.output-box.editor-theme-nightowl{background-color:#011627!important;color:#d6deeb!important;border-color:#1b3a4b!important;box-shadow:0 4px 20px #011627b3}[data-editor-theme=nightowl] .tok-key{color:#7fdbca}[data-editor-theme=nightowl] .tok-string{color:#ecc48d}[data-editor-theme=nightowl] .tok-number{color:#f78c6c}[data-editor-theme=nightowl] .tok-boolean{color:#82aaff}[data-editor-theme=nightowl] .tok-null{color:#c792ea}[data-editor-theme=github-dark] .output-box,[data-editor-theme=github-dark] .code-box,.output-box.editor-theme-github-dark{background-color:#0d1117!important;color:#c9d1d9!important;border-color:#30363d!important;box-shadow:0 4px 20px #0d111799}[data-editor-theme=github-dark] .tok-key{color:#79c0ff}[data-editor-theme=github-dark] .tok-string{color:#a5d6ff}[data-editor-theme=github-dark] .tok-number{color:#7ee787}[data-editor-theme=github-dark] .tok-boolean{color:#ff7b72}[data-editor-theme=github-dark] .tok-null{color:#d2a8ff}[data-editor-theme=github-light] .output-box,[data-editor-theme=github-light] .code-box,.output-box.editor-theme-github-light{background-color:#fff!important;color:#24292e!important;border-color:#e1e4e8!important;box-shadow:0 4px 20px #00000014}[data-editor-theme=github-light] .tok-key{color:#005cc5}[data-editor-theme=github-light] .tok-string{color:#032f62}[data-editor-theme=github-light] .tok-number{color:#005cc5}[data-editor-theme=github-light] .tok-boolean{color:#d73a49}[data-editor-theme=github-light] .tok-null{color:#6f42c1}[data-editor-theme=solarized-dark] .output-box,[data-editor-theme=solarized-dark] .code-box,.output-box.editor-theme-solarized-dark{background-color:#002b36!important;color:#839496!important;border-color:#073642!important;box-shadow:0 4px 20px #002b3699}[data-editor-theme=solarized-dark] .tok-key{color:#268bd2}[data-editor-theme=solarized-dark] .tok-string{color:#2aa198}[data-editor-theme=solarized-dark] .tok-number{color:#d33682}[data-editor-theme=solarized-dark] .tok-boolean{color:#cb4b16}[data-editor-theme=solarized-dark] .tok-null{color:#b58900}.snippet-tool-layout{display:flex;flex-direction:column;gap:16px}.snippet-presets-bar{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:1px solid var(--card-border);padding:10px 16px;border-radius:var(--radius-md);flex-wrap:wrap}.preset-label{font-size:.85rem;font-weight:600;color:var(--accent-primary);display:flex;align-items:center;gap:6px}.preset-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-danger-soft{color:var(--danger)!important;border-color:#ef44444d!important}.btn-danger-soft:hover{background:#ef44441a!important}.badge-pill{font-size:.72rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.badge-primary{background:#6366f126;color:var(--accent-primary);border:1px solid rgba(99,102,241,.3)}.badge-secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.snippet-toolbar-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:14px;margin-top:12px;display:flex;flex-direction:column;gap:12px}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar-label{font-size:.84rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.segmented-control{display:inline-flex;background:var(--bg-primary);padding:3px;border-radius:var(--radius-sm);border:1px solid var(--card-border);gap:2px}.seg-btn{background:transparent;border:none;font-size:.78rem;font-weight:500;color:var(--text-secondary);padding:4px 10px;border-radius:6px;cursor:pointer;transition:var(--transition)}.seg-btn:hover{color:var(--text-primary)}.seg-btn.active{background:var(--accent-primary);color:#fff;font-weight:600;box-shadow:0 2px 6px var(--accent-glow)}.options-subcard{background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:12px}.theme-selector-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.theme-pills{display:flex;gap:6px;flex-wrap:wrap}.theme-pill{background:var(--bg-secondary);border:1px solid var(--card-border);color:var(--text-primary);font-size:.76rem;font-weight:500;padding:3px 10px;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:var(--transition)}.theme-pill:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--pill-color, var(--accent-primary))}.theme-pill.active{border-color:var(--accent-primary);background:#6366f11a;font-weight:600}.custom-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.custom-checkbox-label input[type=checkbox]{accent-color:var(--accent-primary);cursor:pointer}.preview-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.preview-tabs{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--card-border)}.preview-tabs .tab-btn{background:transparent;border:none;padding:8px 16px;font-size:.82rem;font-weight:500;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px;border-bottom:2px solid transparent;transition:var(--transition)}.preview-tabs .tab-btn.active{color:var(--accent-primary);font-weight:600;background:var(--bg-primary);border-bottom-color:var(--accent-primary)}.support-nav-btn{width:36px;height:36px;min-width:36px;min-height:36px;max-height:36px;padding:0;box-sizing:border-box;border-radius:var(--radius-full, 9999px);background:#8b5cf61a;border:1px solid rgba(139,92,246,.28);color:var(--accent-primary);display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1}.support-nav-btn .rupee-icon{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.05rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.support-nav-btn:hover{background:#8b5cf633;border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 3px 12px #8b5cf647}.support-nav-btn:active{transform:translateY(0) scale(.96)}.support-nav-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.support-drawer-btn{width:100%;background:transparent;border:none;text-align:start;font:inherit;cursor:pointer}.support-footer-btn{display:inline-flex;align-items:center;gap:.4rem;margin:.75rem 0 1rem;min-height:44px}.support-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10050;display:flex;align-items:center;justify-content:center;padding:max(1.5rem,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));overflow-y:auto}.support-modal-card{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:100%;box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;animation:supportModalIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes supportModalIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.support-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:1rem}.support-modal-header h2{font-family:var(--font-heading);font-size:1.25rem;font-weight:800;color:var(--text-primary);margin:0}.support-modal-close{min-width:44px;min-height:44px}.support-modal-body{padding:1.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.support-modal-copy{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0 0 .85rem}.support-section-label{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--text-primary);margin:1.25rem 0 .75rem}.support-amount-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.support-amount-pill{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.6rem 1.1rem;border-radius:var(--radius-full);background:var(--bg-primary);border:1.5px solid var(--card-border);color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition)}.support-amount-pill:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.support-amount-pill:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.support-amount-pill.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.support-custom-pill{background:transparent}.support-field{margin-bottom:1.1rem}.support-currency-input{display:flex;align-items:center;gap:.5rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:0 .85rem}.support-currency-input span{color:var(--text-secondary);font-weight:600}.support-currency-input .form-input{border:none;padding-inline-start:0;background:transparent}.support-currency-input:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.support-field-error{color:var(--danger);font-size:.82rem;font-weight:500;margin:-.5rem 0 1rem}.support-message-textarea{min-height:90px;font-family:var(--font-body);font-size:.9rem;resize:vertical}.support-char-counter{text-align:end;font-size:.75rem;color:var(--text-muted);margin-top:.3rem}.support-char-counter.at-limit{color:var(--danger);font-weight:600}.report-issue-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.report-issue-attach-btn{width:100%;justify-content:center}.report-issue-attachment-preview{display:flex;align-items:center;gap:.75rem;border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.5rem .75rem;background:var(--bg-primary)}.report-issue-attachment-preview img{width:44px;height:44px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.report-issue-attachment-meta{display:flex;flex-direction:column;min-width:0;flex:1}.report-issue-attachment-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-issue-attachment-size{font-size:.75rem;color:var(--text-muted)}.support-cta{width:100%;min-height:48px;font-size:1rem;margin-top:.5rem}.support-cta:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.support-footer-note{text-align:center;font-size:.78rem;color:var(--text-muted);margin:.9rem 0 0}.support-state-banner{border-radius:var(--radius-md);padding:.85rem 1rem;margin-bottom:1.1rem;font-size:.85rem}.support-state-banner strong{display:block;margin-bottom:.2rem;font-size:.9rem}.support-state-banner p{margin:0;color:var(--text-secondary)}.support-state-error{background:var(--danger-glow);border:1px solid rgba(239,68,68,.35)}.support-state-error strong{color:var(--danger)}.support-state-info{background:var(--bg-tertiary);border:1px solid var(--card-border)}.support-state-info strong{color:var(--text-primary)}.support-success-screen{text-align:center;padding:1rem 0 .5rem}.support-success-icon{font-size:3rem;margin-bottom:.5rem}.support-success-screen h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;color:var(--text-primary);margin:0 0 .75rem}.support-success-screen p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 .75rem}.support-success-amount{font-family:var(--font-heading);font-weight:700;color:var(--accent-primary)!important;font-size:1.05rem!important}.support-success-subtext{font-size:.82rem!important;color:var(--text-muted)!important}.support-success-screen .btn{width:100%;min-height:48px;margin-top:.5rem}@media (max-width: 480px){.support-modal-backdrop{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.support-modal-header,.support-modal-body{padding:1rem}.support-amount-pill{padding:.55rem .9rem;font-size:.85rem}}.rd-root{display:flex;flex-direction:column;gap:1.25rem}.rd-banner{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.88rem;line-height:1.4}.rd-banner-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger)}.rd-banner-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--warning)}.rd-banner-dismiss{margin-inline-start:auto;background:none;border:none;color:inherit;cursor:pointer;opacity:.7;padding:.2rem}.rd-banner-dismiss:hover{opacity:1}.rd-top-banner{margin-bottom:.25rem}.rd-home{display:flex;flex-direction:column;gap:1.5rem}.rd-home-hero{text-align:center;padding:1.5rem 1rem}.rd-home-icon{width:64px;height:64px;margin:0 auto 1rem;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;box-shadow:var(--shadow-glow)}.rd-home-hero h2{font-size:1.4rem;margin-bottom:.6rem;color:var(--text-primary)}.rd-home-hero p{color:var(--text-secondary);max-width:640px;margin:0 auto;line-height:1.6}.rd-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 720px){.rd-home-actions{grid-template-columns:1fr}}.rd-mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.4rem;background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;text-align:start;transition:border-color .15s ease,transform .15s ease}.rd-mode-card:hover:not(:disabled){border-color:var(--accent-primary);transform:translateY(-2px)}.rd-mode-card:disabled{opacity:.5;cursor:not-allowed}.rd-mode-card i{font-size:1.4rem;color:var(--accent-primary)}.rd-mode-title{font-weight:600;font-size:1.05rem;color:var(--text-primary)}.rd-mode-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.rd-home-limits{background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:1.1rem 1.3rem}.rd-home-limits h3{font-size:.95rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;color:var(--text-primary)}.rd-home-limits ul{margin:0;padding-inline-start:1.2rem;color:var(--text-secondary);font-size:.85rem;line-height:1.7}.rd-flow{display:flex;flex-direction:column;gap:1.25rem;max-width:720px;margin:0 auto}.rd-flow-header{display:flex;align-items:center;gap:1rem}.rd-flow-header h2{font-size:1.2rem;color:var(--text-primary)}.rd-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.rd-steps>li{display:flex;gap:.9rem;padding:1rem;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--card-border);opacity:.55}.rd-steps>li.active,.rd-steps>li.done{opacity:1}.rd-steps>li.done{border-color:#10b98159}.rd-steps>li.active{border-color:var(--accent-primary)}.rd-steps strong{display:block;color:var(--text-primary);margin-bottom:.2rem}.rd-steps p{color:var(--text-secondary);font-size:.85rem;margin-bottom:.6rem}.rd-step-num{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-full);background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.rd-steps>li.done .rd-step-num{background:var(--success)}.rd-session-id{background:var(--bg-secondary);border:1px solid var(--card-border);padding:.15rem .5rem;border-radius:var(--radius-sm);font-family:SF Mono,Menlo,monospace;color:var(--accent-primary)}.rd-copy-block{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);overflow:hidden}.rd-copy-block-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--card-border);font-size:.8rem;color:var(--text-secondary)}.rd-copy-block textarea{width:100%;border:none;background:transparent;color:var(--text-primary);padding:.75rem;font-family:SF Mono,Menlo,monospace;font-size:.72rem;resize:vertical;word-break:break-all}.rd-copy-block textarea:focus{outline:none}.rd-paste-area{width:100%;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary);padding:.75rem;font-family:SF Mono,Menlo,monospace;font-size:.72rem;margin-bottom:.75rem;resize:vertical}.rd-paste-area:focus{outline:none;border-color:var(--accent-primary)}.rd-share-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-primary);margin-bottom:.5rem;cursor:pointer}.rd-share-note{display:flex;align-items:flex-start;gap:.4rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.5}.rd-code-display{text-align:center;padding:1.5rem;background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:.6rem}.rd-code-label{font-size:.85rem;color:var(--text-secondary);margin:0}.rd-code-value{font-size:2.2rem;font-weight:700;letter-spacing:.12em;font-family:SF Mono,Menlo,monospace;color:var(--accent-primary)}.rd-code-expiry{font-size:.78rem;color:var(--text-muted);margin:0}.rd-code-entry{display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center}.rd-code-entry label{font-size:.85rem;color:var(--text-secondary)}.rd-code-input{width:100%;max-width:280px;text-align:center;font-size:1.6rem;letter-spacing:.15em;font-family:SF Mono,Menlo,monospace;padding:.6rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary)}.rd-code-input:focus{outline:none;border-color:var(--accent-primary)}.rd-join-options{display:flex;flex-direction:column;gap:.3rem;align-self:flex-start}.rd-share-checkbox-sub{margin-inline-start:1.5rem}.rd-name-input{text-align:start;font-size:1rem;letter-spacing:normal;font-family:var(--font-body)}.rd-waiting-status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.rd-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.rd-status-dot.connecting,.rd-status-dot.reconnecting{background:var(--warning);animation:rd-pulse 1.4s infinite}.rd-status-dot.connected{background:var(--success)}.rd-status-dot.failed,.rd-status-dot.disconnected{background:var(--danger)}@keyframes rd-pulse{0%,to{opacity:1}50%{opacity:.35}}.rd-quality-pill{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em}.rd-quality-pill.excellent{background:#10b98126;color:var(--success)}.rd-quality-pill.good{background:#f59e0b26;color:var(--warning)}.rd-quality-pill.poor{background:#ef444426;color:var(--danger)}.rd-quality-pill.unknown{background:var(--bg-tertiary);color:var(--text-muted)}.rd-session{display:flex;flex-direction:column;gap:.9rem}.rd-session-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.rd-stats{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--text-secondary);flex-wrap:wrap}.rd-stats-state{font-weight:600;color:var(--text-primary)}.rd-stat-item{padding-inline-start:.6rem;border-inline-start:1px solid var(--card-border)}.rd-session-id-badge{font-size:.78rem;color:var(--text-muted);font-family:SF Mono,Menlo,monospace}.rd-session-body{display:grid;grid-template-columns:1fr 320px;gap:1rem;align-items:start}@media (max-width: 900px){.rd-session-body{grid-template-columns:1fr}}.rd-viewer-column{display:flex;flex-direction:column;gap:.6rem;min-width:0}.rd-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;background:#000;border-radius:var(--radius-md);overflow:hidden;padding:.6rem}.rd-tile-grid[data-count="1"]{grid-template-columns:1fr}.rd-tile{position:relative;aspect-ratio:16 / 9;background:#16181f;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center}.rd-tile video{width:100%;height:100%;object-fit:contain;background:#000;display:block}.rd-tile video.rd-tile-cam{object-fit:cover}.rd-tile-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.rd-tile-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient);color:#fff;font-size:1.4rem;font-weight:700}.rd-tile-label{position:absolute;bottom:.5rem;left:.5rem;display:flex;align-items:center;gap:.4rem;background:#0009;color:#fff;font-size:.75rem;padding:.2rem .55rem;border-radius:var(--radius-full);max-width:calc(100% - 1rem)}.rd-tile-label i{color:var(--text-muted)}.rd-tile-remove{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.rd-tile:hover .rd-tile-remove{opacity:1}.rd-tile-remove:hover{background:var(--danger)}.rd-knock-list{display:flex;flex-direction:column;gap:.5rem;background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:.9rem}.rd-knock-list h3{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-primary);margin:0}.rd-knock-list h3 i{color:var(--accent-primary)}.rd-knock-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .7rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm)}.rd-knock-name{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-primary)}.rd-knock-actions{display:flex;gap:.4rem}.rd-knocking{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;color:var(--text-secondary);text-align:center}.rd-knocking i{font-size:2rem;color:var(--accent-primary)}.rd-knocking p{font-size:1rem;color:var(--text-primary);margin:0}.rd-people-panel{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;overflow-y:auto}.rd-people-list{display:flex;flex-direction:column;gap:.4rem}.rd-people-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-primary)}.rd-people-item i{color:var(--accent-primary);margin-inline-end:.4rem}.rd-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:.5rem .75rem}.rd-toolbar-group{display:flex;align-items:center;gap:.4rem}.rd-toolbar .btn-icon.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.rd-toolbar-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--danger)}.rd-toolbar .btn-icon{position:relative}.rd-role-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-secondary);padding:.3rem .6rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm)}.rd-role-badge i{color:var(--accent-primary)}.rd-side-panel{background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:320px;max-height:560px}.rd-side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border-bottom:1px solid var(--card-border);font-size:.85rem;font-weight:600;color:var(--text-primary)}.rd-chat-panel{display:flex;flex-direction:column;flex:1;min-height:0}.rd-chat-log{flex:1;overflow-y:auto;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.5rem}.rd-chat-empty{color:var(--text-muted);font-size:.82rem;text-align:center;margin-top:1rem}.rd-chat-msg{max-width:85%;padding:.45rem .7rem;border-radius:var(--radius-sm);font-size:.85rem}.rd-chat-msg .rd-chat-author{display:block;font-size:.68rem;color:var(--text-muted);margin-bottom:.15rem}.rd-chat-msg p{margin:0;color:var(--text-primary);word-break:break-word}.rd-chat-msg.mine{align-self:flex-end;background:var(--accent-primary)}.rd-chat-msg.mine p,.rd-chat-msg.mine .rd-chat-author{color:#fff}.rd-chat-msg.theirs{align-self:flex-start;background:var(--bg-secondary);border:1px solid var(--card-border)}.rd-chat-input{display:flex;gap:.5rem;padding:.6rem;border-top:1px solid var(--card-border)}.rd-chat-input input{flex:1;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.45rem .7rem;color:var(--text-primary);font-size:.85rem}.rd-chat-input input:focus{outline:none;border-color:var(--accent-primary)}.rd-file-panel{padding:.9rem;display:flex;flex-direction:column;gap:.9rem;overflow-y:auto}.rd-dropzone{border:2px dashed var(--card-border);border-radius:var(--radius-md);padding:1.5rem 1rem;text-align:center;color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease}.rd-dropzone i{font-size:1.5rem;color:var(--accent-primary);margin-bottom:.5rem;display:block}.rd-dropzone p{font-size:.8rem;margin:0}.rd-dropzone.drag-over{border-color:var(--accent-primary);background:#8b5cf60f}.rd-file-list{display:flex;flex-direction:column;gap:.6rem}.rd-file-item{display:flex;align-items:center;gap:.6rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.55rem .7rem}.rd-file-dir{color:var(--accent-primary);flex-shrink:0}.rd-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.rd-file-name{font-size:.82rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rd-file-meta{font-size:.7rem;color:var(--text-muted)}.rd-progress{height:4px;border-radius:var(--radius-full);background:var(--bg-tertiary);overflow:hidden;margin-top:.2rem}.rd-progress-bar{height:100%;background:var(--accent-primary);transition:width .2s ease}.rd-file-done{color:var(--success)}.rd-file-cancelled{font-size:.72rem;color:var(--text-muted)}.rd-file-failed{font-size:.72rem;color:var(--danger)}.rd-clipboard-panel{padding:.9rem;display:flex;flex-direction:column;gap:1rem}.rd-clipboard-section label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.rd-clipboard-section textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary);padding:.6rem;font-size:.82rem;resize:vertical;margin-bottom:.5rem}.rd-clipboard-section textarea:focus{outline:none;border-color:var(--accent-primary)}.rd-clipboard-actions{display:flex;gap:.5rem}.rd-clipboard-warning{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.rd-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.rd-modal{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1.5rem;max-width:420px;width:100%;box-shadow:var(--shadow-lg)}.rd-modal h3{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin-bottom:.75rem;color:var(--text-primary)}.rd-modal p{color:var(--text-secondary);font-size:.88rem;margin-bottom:1rem}.rd-modal-actions{display:flex;justify-content:flex-end;gap:.6rem}@media (max-width: 640px){.rd-session-body{grid-template-columns:1fr}.rd-side-panel{max-height:420px}.rd-toolbar{justify-content:center}.rd-tile-grid{grid-template-columns:1fr}}.offline-game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-primary);background-image:radial-gradient(circle at 50% 0%,rgba(139,92,246,.18),transparent 60%)}.offline-game-panel{width:100%;max-width:640px;border:1px solid var(--bg-tertiary);border-radius:16px;background:var(--bg-secondary);box-shadow:0 20px 60px #0f051d59;overflow:hidden}.offline-game-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--bg-tertiary)}.offline-game-badge{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#f87171}.offline-game-scores{display:flex;gap:16px;font-variant-numeric:tabular-nums;color:var(--accent-primary);font-weight:600}.offline-game-canvas-wrap{position:relative;width:100%;height:280px;cursor:pointer;background:var(--bg-primary)}.offline-game-canvas{width:100%;height:100%;display:block}.offline-game-startcard{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px;background:#0f051d59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.offline-game-title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #fff)}.offline-game-subtitle{max-width:420px;color:var(--text-secondary, #cbd5e1);font-size:.92rem}.offline-game-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:999px;background:var(--accent-gradient);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.offline-game-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px var(--accent-glow)}.offline-game-hint{font-size:.78rem;color:var(--text-secondary, #94a3b8);opacity:.8}.memory-match-board{position:relative;width:100%;height:100%;padding:3%;background:radial-gradient(circle at 50% 30%,#1b1035,#0b0518 75%)}.memory-match-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:3%;width:100%;height:100%}.memory-match-card{position:relative;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;perspective:600px;padding:0;width:100%;height:100%}.memory-match-card.mismatched .memory-match-card-inner{animation:memory-match-shake .4s ease-in-out}@keyframes memory-match-shake{0%,to{transform:rotateY(180deg) translate(0)}20%{transform:rotateY(180deg) translate(-6px)}40%{transform:rotateY(180deg) translate(5px)}60%{transform:rotateY(180deg) translate(-4px)}80%{transform:rotateY(180deg) translate(3px)}}.memory-match-card:disabled{cursor:default}.memory-match-card-inner{position:relative;width:100%;height:100%;display:block;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.4,0,.2,1)}.memory-match-card:not(.flipped):not(.matched):not(:disabled):hover .memory-match-card-inner{transform:scale(1.04) translateY(-2px)}.memory-match-card.flipped .memory-match-card-inner{transform:rotateY(180deg)}.memory-match-card.just-matched .memory-match-card-inner{animation:memory-match-celebrate .45s cubic-bezier(.34,1.56,.64,1)}@keyframes memory-match-celebrate{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.15)}to{transform:rotateY(180deg) scale(1)}}.memory-match-card-back,.memory-match-card-front{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,5vw,1.6rem);border-radius:var(--radius-sm);backface-visibility:hidden;box-shadow:0 2px 8px #00000040}.memory-match-card-back{background:linear-gradient(135deg,#241454,#170b30);color:#c4b5fd80}.memory-match-card-front{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;transform:rotateY(180deg)}.memory-match-card.matched .memory-match-card-front{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.memory-match-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.memory-match-sparkle{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:#fbbf24;box-shadow:0 0 6px #fbbf24e6;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0);animation:memory-match-sparkle-fly .6s ease-out forwards}@keyframes memory-match-sparkle-fly{0%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(1);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-32px) scale(0);opacity:0}}.memory-match-idle-decor{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:20px;font-size:1.6rem;color:#c4b5fd59;pointer-events:none}.memory-match-idle-decor i{animation:memory-match-idle-float 2.4s ease-in-out infinite}.memory-match-idle-decor i:nth-child(2){animation-delay:.35s}.memory-match-idle-decor i:nth-child(3){animation-delay:.7s}@keyframes memory-match-idle-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.1)}}.reflex-arena{position:relative;width:100%;height:100%;cursor:crosshair;background:radial-gradient(circle at 50% 40%,#1b1035,#0b0518 75%);overflow:hidden}.reflex-target{position:absolute;border:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c084fc,#7c3aed 70%);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 18px #8b5cf6a6;animation:reflex-pop .18s cubic-bezier(.34,1.56,.64,1);font-size:clamp(.9rem,3vw,1.3rem);-webkit-tap-highlight-color:transparent}.reflex-target:active{transform:scale(.88)}.reflex-target-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid rgba(255,255,255,.35);animation:reflex-ring-pulse 1.1s ease-out infinite;pointer-events:none}@keyframes reflex-ring-pulse{0%{transform:scale(.85);opacity:.7}to{transform:scale(1.25);opacity:0}}.reflex-target.bad{background:radial-gradient(circle at 35% 30%,#fca5a5,#ef4444 70%);box-shadow:0 0 18px #ef4444a6}.reflex-target.bad .reflex-target-ring{border-color:#fca5a566}@keyframes reflex-pop{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}.reflex-ripple{position:absolute;width:8%;aspect-ratio:1;border-radius:50%;border:2px solid rgba(192,132,252,.8);transform:translate(-50%,-50%);animation:reflex-ripple-out .5s ease-out forwards;pointer-events:none}.reflex-ripple.bad{border-color:#f87171cc}.reflex-ripple.miss{border-color:#94a3b88c;width:5%;animation-duration:.38s}.reflex-ripple.big{border-width:3px;border-color:#fbbf24e6;animation:reflex-ripple-out-big .75s ease-out forwards}@keyframes reflex-ripple-out-big{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(-50%,-50%) scale(5);opacity:0}}@keyframes reflex-ripple-out{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(-50%,-50%) scale(3);opacity:0}}.reflex-ambient{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.reflex-ambient-orb{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%);filter:blur(2px)}.reflex-ambient-orb.o1{width:90px;height:90px;left:10%;top:20%;animation:reflex-drift-1 9s ease-in-out infinite}.reflex-ambient-orb.o2{width:60px;height:60px;right:15%;top:55%;animation:reflex-drift-2 11s ease-in-out infinite}.reflex-ambient-orb.o3{width:120px;height:120px;left:45%;bottom:8%;animation:reflex-drift-3 13s ease-in-out infinite}@keyframes reflex-drift-1{0%,to{transform:translate(0)}50%{transform:translate(30px,25px)}}@keyframes reflex-drift-2{0%,to{transform:translate(0)}50%{transform:translate(-25px,20px)}}@keyframes reflex-drift-3{0%,to{transform:translate(0)}50%{transform:translate(20px,-30px)}}.reflex-combo-banner{position:absolute;top:12%;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1c1029;font-weight:800;font-family:var(--font-heading);font-size:1.05rem;box-shadow:0 8px 24px #f59e0b80;pointer-events:none;animation:reflex-combo-pop .7s cubic-bezier(.34,1.56,.64,1) forwards;z-index:4}@keyframes reflex-combo-pop{0%{opacity:0;transform:translate(-50%) scale(.5) translateY(10px)}25%{opacity:1;transform:translate(-50%) scale(1.15) translateY(0)}40%{transform:translate(-50%) scale(1) translateY(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%) scale(1) translateY(-16px)}}.block-merge-game{--bm-panel: #241344;--bm-cell: rgba(139, 92, 246, .11);--bm-bright: #f5f3ff;width:100%;max-width:500px;margin:0 auto}.block-merge-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.block-merge-wordmark{font-family:var(--font-heading);font-weight:900;font-size:clamp(2rem,9vw,3.25rem);line-height:1;background:var(--accent-gradient-vibrant);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.block-merge-scores{display:flex;gap:8px}.block-merge-score-box{position:relative;min-width:84px;padding:8px 14px 10px;border-radius:var(--radius-sm);background:var(--bm-panel);text-align:center}.block-merge-score-label{display:block;font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#a78bfa}.block-merge-score-value{display:block;margin-top:2px;font-family:var(--font-heading);font-weight:800;font-size:1.35rem;line-height:1.1;color:var(--bm-bright)}.block-merge-score-add{position:absolute;left:0;right:0;top:8px;font-family:var(--font-heading);font-weight:800;font-size:1.3rem;color:#c084fc;pointer-events:none;animation:block-merge-score-add .6s ease-in both}@keyframes block-merge-score-add{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-46px)}}.block-merge-above{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.block-merge-intro{margin:0;font-size:.92rem;color:var(--text-secondary)}.block-merge-intro strong{color:var(--text-primary)}.block-merge-restart{flex-shrink:0;padding:10px 20px;border:none;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-family:var(--font-body);font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.block-merge-restart:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--accent-glow)}.block-merge-restart:active{transform:translateY(0)}.block-merge-board{position:relative;width:100%;aspect-ratio:1;padding:3%;border-radius:var(--radius-md);background:var(--bm-panel);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none}.block-merge-cells,.block-merge-tiles{position:absolute;top:3%;right:3%;bottom:3%;left:3%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:3%}.block-merge-cell-bg{background:var(--bm-cell);border-radius:var(--radius-sm)}.block-merge-tiles{gap:0;display:block}.block-merge-tile{position:absolute;width:22.75%;height:22.75%;left:0;top:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-family:var(--font-heading);font-weight:800;font-size:clamp(1rem,5.5vw,1.6rem);box-shadow:0 2px 8px #00000040;transition:transform .13s cubic-bezier(.34,1.2,.64,1);--cell-step: 113.19%}.block-merge-tile-lg{font-size:clamp(.85rem,4.4vw,1.3rem)}.block-merge-tile-xl{font-size:clamp(.7rem,3.6vw,1.05rem)}.block-merge-tile-xxl{font-size:clamp(.6rem,3vw,.9rem)}.block-merge-tile.spawn{animation:block-merge-spawn .2s ease .13s backwards}.block-merge-tile.merged{animation:block-merge-merge-pop .2s ease .13s backwards;z-index:20}.block-merge-tile.ghost{z-index:1}@keyframes block-merge-spawn{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}@keyframes block-merge-merge-pop{0%{scale:0}50%{scale:1.2}to{scale:1}}.block-merge-tile.glow{animation:block-merge-glow-pulse 2.2s ease-in-out infinite}.block-merge-tile.merged.glow{animation:block-merge-merge-pop .2s ease .13s backwards,block-merge-glow-pulse 2.2s ease-in-out infinite .33s}@keyframes block-merge-glow-pulse{0%,to{box-shadow:0 2px 8px #00000040,0 0 #f59e0b00}50%{box-shadow:0 2px 8px #00000040,0 0 22px #f59e0b8c}}.block-merge-message{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;border-radius:var(--radius-md);background:#1b1035e0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:block-merge-message-in .8s ease 1.2s both}.block-merge-message-won{background:#78350fe0}@keyframes block-merge-message-in{0%{opacity:0}to{opacity:1}}.block-merge-message-text{margin:0;font-family:var(--font-heading);font-weight:900;font-size:clamp(1.8rem,9vw,3rem);line-height:1.1;color:var(--bm-bright)}.block-merge-message-score{margin:0;font-size:.9rem;color:#f5f3ffb8}.block-merge-message-score strong{color:var(--bm-bright)}.block-merge-message-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.block-merge-btn{padding:11px 22px;border:none;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-family:var(--font-body);font-weight:700;font-size:.92rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.block-merge-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--accent-glow)}.block-merge-btn-muted{background:#f5f3ff24;border:1px solid rgba(245,243,255,.32)}.block-merge-btn-muted:hover{background:#f5f3ff38;box-shadow:none}.block-merge-hint{margin:14px 0 0;font-size:.82rem;text-align:center;color:var(--text-muted)}.block-merge-hint strong{color:var(--text-secondary);font-weight:700}.block-merge-celebrate{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none;z-index:6;animation:block-merge-celebrate-fade 1.4s ease-out forwards}.block-merge-celebrate-value{font-family:var(--font-heading);font-weight:900;font-size:clamp(2.5rem,16vw,4rem);color:#fbbf24;text-shadow:0 0 30px rgba(245,158,11,.8),0 4px 12px rgba(0,0,0,.4);animation:block-merge-celebrate-pop .5s cubic-bezier(.34,1.56,.64,1)}.block-merge-celebrate-label{font-weight:700;color:#fff;font-size:1rem;text-shadow:0 2px 6px rgba(0,0,0,.5)}@keyframes block-merge-celebrate-pop{0%{transform:scale(.3) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes block-merge-celebrate-fade{0%,65%{opacity:1}to{opacity:0}}@media (max-width: 480px){.block-merge-above{flex-direction:column;align-items:stretch}.block-merge-intro{text-align:center}.block-merge-restart{width:100%}.block-merge-score-box{min-width:72px;padding:7px 11px 9px}}.sudoku-board{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:10px;padding:10px;background:radial-gradient(circle at 50% 22%,#191134,#090613 75%)}.sudoku-grid{flex:1 1 auto;min-height:0;aspect-ratio:1;width:auto;max-width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);container-type:size;border:2px solid rgba(196,181,253,.5);border-radius:var(--radius-sm);overflow:hidden;background:#ffffff08}.sudoku-cell{position:relative;border:1px solid rgba(196,181,253,.14);background:transparent;color:#e2e8f0;font-family:var(--font-heading);font-size:6.4cqw;font-weight:600;line-height:1;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.sudoku-cell.edge-right{border-right:2px solid rgba(196,181,253,.5)}.sudoku-cell.edge-bottom{border-bottom:2px solid rgba(196,181,253,.5)}.sudoku-cell.given{color:#f8fafc;font-weight:800;background:#ffffff0d}.sudoku-cell.entered{color:#c4b5fd}.sudoku-cell.peer{background:#8b5cf624}.sudoku-cell.same-digit{background:#a855f74d}.sudoku-cell.selected{background:#8b5cf680;box-shadow:inset 0 0 0 2px #c084fc}.sudoku-cell.wrong{color:#fca5a5;background:#ef444438}.sudoku-cell.wrong.selected{background:#ef444466}.sudoku-cell:not(:disabled):hover{background:#8b5cf647}.sudoku-cell:disabled{cursor:default}.sudoku-value{animation:sudoku-place .22s cubic-bezier(.34,1.56,.64,1)}@keyframes sudoku-place{0%{transform:scale(.5);opacity:.2}to{transform:scale(1);opacity:1}}.sudoku-notes{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;font-size:2.5cqw;font-weight:600;color:#c4b5fdbf}.sudoku-notes span{display:flex;align-items:center;justify-content:center}.sudoku-pad{flex:0 0 auto;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(28px,50px);gap:6px}.sudoku-pad-btn{position:relative;border:1px solid rgba(196,181,253,.25);border-radius:var(--radius-sm);background:#8b5cf629;color:#ede9fe;font-family:var(--font-heading);font-size:clamp(.95rem,2.4vw,1.25rem);font-weight:700;cursor:pointer;transition:transform .12s ease,background-color .15s ease,border-color .15s ease}.sudoku-pad-btn:not(:disabled):hover{background:#8b5cf657;transform:translateY(-2px)}.sudoku-pad-btn:not(:disabled):active{transform:translateY(0) scale(.96)}.sudoku-pad-btn:disabled{opacity:.45;cursor:default}.sudoku-pad-btn.depleted{opacity:.35;background:#8b5cf60f}.sudoku-pad-count{position:absolute;top:2px;right:5px;font-size:.6rem;font-weight:600;color:#c4b5fdb3}.sudoku-pad-action{background:#ffffff14;color:#cbd5e1;font-size:.95rem}.sudoku-pad-action.active{background:linear-gradient(135deg,#a855f7,#7c3aed);border-color:#c084fc;color:#fff;box-shadow:0 0 14px #a855f780}.sudoku-difficulty{display:flex;gap:8px}.sudoku-difficulty-btn{padding:7px 16px;border-radius:var(--radius-full);border:1px solid rgba(196,181,253,.3);background:#ffffff0f;color:#cbd5e1;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.sudoku-difficulty-btn:hover{border-color:#c084fc;color:#fff}.sudoku-difficulty-btn.active{background:linear-gradient(135deg,#a855f7,#7c3aed);border-color:#c084fc;color:#fff}.sweeper-board{position:relative;width:100%;height:100%;padding:10px;background:radial-gradient(circle at 50% 25%,#14162e,#070811 75%)}.sweeper-grid{width:100%;height:100%;display:grid;gap:2px;container-type:size}.sweeper-cell{display:flex;align-items:center;justify-content:center;border:none;border-radius:3px;padding:0;font-family:var(--font-heading);font-weight:800;line-height:1;cursor:pointer;transition:background-color .12s ease,transform .12s ease}.sweeper-cols-9 .sweeper-cell{font-size:5.4cqw}.sweeper-cols-12 .sweeper-cell{font-size:4cqw}.sweeper-cols-16 .sweeper-cell{font-size:3cqw}.sweeper-cell.hidden{background:linear-gradient(160deg,#2e2359,#1d1440);box-shadow:inset 0 1px #ffffff1f;color:#fbbf24}.sweeper-cell.hidden:not(:disabled):hover{background:linear-gradient(160deg,#3d2f74,#261a55);transform:scale(1.04)}.sweeper-cell.revealed{background:#ffffff0b;box-shadow:inset 0 0 0 1px #ffffff0d;cursor:default;animation:sweeper-reveal .18s ease-out}@keyframes sweeper-reveal{0%{transform:scale(.82);opacity:.4}to{transform:scale(1);opacity:1}}.sweeper-cell.mine{background:#ef444438;color:#f87171}.sweeper-cell.exploded{background:#ef4444;color:#fff;animation:sweeper-boom .45s cubic-bezier(.34,1.56,.64,1)}@keyframes sweeper-boom{0%{transform:scale(1)}40%{transform:scale(1.45);box-shadow:0 0 24px #ef4444cc}to{transform:scale(1)}}.sweeper-cell:disabled{cursor:default}.sweeper-flag-toggle{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.18);background:#0f051dd1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#cbd5e1;font-size:.78rem;font-weight:700;cursor:pointer;z-index:4;transition:var(--transition)}.sweeper-flag-toggle:hover{border-color:#c084fc;color:#fff}.sweeper-flag-toggle.active{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf24;color:#fff;box-shadow:0 0 18px #f59e0b73}.sweeper-levels{display:flex;gap:8px}.sweeper-level-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border-radius:var(--radius-md);border:1px solid rgba(196,181,253,.3);background:#ffffff0f;color:#cbd5e1;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.sweeper-level-btn span{font-size:.65rem;font-weight:500;color:#94a3b8}.sweeper-level-btn:hover{border-color:#c084fc;color:#fff}.sweeper-level-btn.active{background:linear-gradient(135deg,#a855f7,#7c3aed);border-color:#c084fc;color:#fff}.sweeper-level-btn.active span{color:#ffffffd9}.echo-board{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:6%;background:radial-gradient(circle at 50% 45%,#1a1038,#08050f 78%)}.echo-pads{position:relative;width:100%;height:100%;max-width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:12px}.echo-pad{border:none;border-radius:var(--radius-lg);cursor:pointer;color:#ffffff8c;font-size:clamp(1.2rem,5vw,2.2rem);filter:brightness(.5) saturate(.75);transition:filter .12s ease,transform .12s ease,box-shadow .12s ease}.echo-pad-0{background:linear-gradient(150deg,#a855f7,#6d28d9);border-top-left-radius:60%}.echo-pad-1{background:linear-gradient(210deg,#22d3ee,#0e7490);border-top-right-radius:60%}.echo-pad-2{background:linear-gradient(30deg,#fb7185,#be123c);border-bottom-left-radius:60%}.echo-pad-3{background:linear-gradient(330deg,#34d399,#047857);border-bottom-right-radius:60%}.echo-pad:not(:disabled):hover{filter:brightness(.72) saturate(.9)}.echo-pad.lit{filter:brightness(1.35) saturate(1.2);transform:scale(1.03);color:#fff;box-shadow:0 0 40px #ffffff59}.echo-pad.wrong{animation:echo-pad-fail .5s cubic-bezier(.36,.07,.19,.97);filter:brightness(1) saturate(.2)}@keyframes echo-pad-fail{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(7px)}75%{transform:translate(-5px)}}.echo-pads.watching{pointer-events:none}.echo-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30%;height:30%;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1e1440,#0b0618);border:2px solid rgba(196,181,253,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none;box-shadow:0 8px 30px #0000008c}.echo-hub-value{font-family:var(--font-heading);font-size:clamp(1.1rem,5vw,1.9rem);font-weight:800;color:#fff;line-height:1}.echo-hub-label{font-size:clamp(.55rem,1.8vw,.7rem);text-transform:uppercase;letter-spacing:.06em;color:#a78bfa}.sprint-board{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:12px;padding:14px;background:radial-gradient(circle at 50% 20%,#131a34,#070810 78%)}.sprint-timer-bar{flex:0 0 auto;height:6px;border-radius:var(--radius-full);background:#ffffff14;overflow:hidden}.sprint-timer-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,#a855f7,#22d3ee);transition:width 1s linear}.sprint-question{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:var(--radius-md);background:#ffffff0b;border:1px solid rgba(255,255,255,.07);font-family:var(--font-heading);font-variant-numeric:tabular-nums;transition:background-color .2s ease,border-color .2s ease}.sprint-question.correct{background:#10b98129;border-color:#10b98180}.sprint-question.wrong{background:#ef444429;border-color:#ef444480;animation:sprint-shake .4s ease-in-out}@keyframes sprint-shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(6px)}}.sprint-expression{font-size:clamp(1.6rem,8vw,3rem);font-weight:800;color:#fff}.sprint-equals{font-size:clamp(1.4rem,6vw,2.4rem);font-weight:700;color:#a78bfa}.sprint-streak-banner{flex:0 0 auto;align-self:center;padding:5px 14px;border-radius:var(--radius-full);background:#f59e0b29;border:1px solid rgba(245,158,11,.45);color:#fbbf24;font-size:.75rem;font-weight:700;animation:sprint-banner-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes sprint-banner-in{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.sprint-choices{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sprint-choice{position:relative;padding:clamp(12px,3vh,22px) 8px;border-radius:var(--radius-md);border:1px solid rgba(196,181,253,.25);background:#8b5cf624;color:#ede9fe;font-family:var(--font-heading);font-size:clamp(1.05rem,4vw,1.5rem);font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .12s ease,background-color .15s ease,border-color .15s ease}.sprint-choice:not(:disabled):hover{background:#8b5cf64d;transform:translateY(-2px)}.sprint-choice:not(:disabled):active{transform:translateY(0) scale(.97)}.sprint-choice-key{position:absolute;top:5px;left:8px;font-size:.62rem;font-weight:600;color:#c4b5fd99}.sprint-choice.right{background:#10b98147;border-color:#10b981;color:#fff}.sprint-choice.missed{background:#ef444447;border-color:#ef4444;color:#fff}.sprint-choice.dim{opacity:.45}.sprint-choice:disabled{cursor:default}.game-frame-v2{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 130%);box-shadow:var(--shadow-md);overflow:hidden;padding:16px;display:flex;flex-direction:column;gap:12px}.game-stat-row{display:flex;gap:10px;flex-wrap:wrap}.game-stat{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--card-border);font-variant-numeric:tabular-nums;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,border-color .18s ease}.game-stat-pop{transform:scale(1.08);border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.game-stat i{color:var(--accent-primary);font-size:.85rem}.game-stat-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.game-stat-value{font-weight:800;font-family:var(--font-heading);color:var(--text-primary);font-size:.95rem}.game-stat-warning i,.game-stat-warning .game-stat-value{color:var(--warning)}.game-stat-warning{border-color:#f59e0b66}.game-stat-danger i,.game-stat-danger .game-stat-value{color:var(--danger)}.game-stat-danger{border-color:#ef444466}.game-viewport{position:relative;width:100%;margin:0 auto;background:#05070d;border-radius:var(--radius-md);overflow:hidden;touch-action:none;box-shadow:inset 0 0 0 1px #ffffff0d}.game-viewport-wide{aspect-ratio:16 / 9;max-height:62vh}.game-viewport-square{aspect-ratio:1;max-height:62vh}.game-viewport-tall{aspect-ratio:9 / 15;max-height:68vh}.game-viewport-portrait{aspect-ratio:3 / 4;max-height:65vh}.game-viewport canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;image-rendering:-webkit-optimize-contrast}.game-controls-row{display:flex;justify-content:center}@media (min-width: 640px){.game-controls-row{display:none}}.game-overlay-v2{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 50% 30%,#4c1d9559,#05070dd1 70%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:game-overlay-fade-in .35s cubic-bezier(.16,1,.3,1);z-index:5}@keyframes game-overlay-fade-in{0%{opacity:0}to{opacity:1}}.game-overlay-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;max-width:380px;animation:game-overlay-pop-in .45s cubic-bezier(.34,1.56,.64,1)}@keyframes game-overlay-pop-in{0%{opacity:0;transform:scale(.85) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.game-overlay-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:4px;animation:game-overlay-icon-float 2.4s ease-in-out infinite}@keyframes game-overlay-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.game-overlay-icon-idle{background:linear-gradient(135deg,#8b5cf640,#4c1d9559);color:#c084fc;box-shadow:0 0 30px #8b5cf659}.game-overlay-icon-over{background:linear-gradient(135deg,#ef444440,#7f1d1d59);color:#f87171;box-shadow:0 0 30px #ef44444d;animation:game-overlay-icon-shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes game-overlay-icon-shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-6px) rotate(-8deg)}40%{transform:translate(5px) rotate(7deg)}60%{transform:translate(-4px) rotate(-5deg)}80%{transform:translate(3px) rotate(3deg)}}.game-overlay-title{font-size:1.4rem;font-weight:800;font-family:var(--font-heading);color:#fff}.game-overlay-subtitle{color:#cbd5e1;font-size:.92rem;line-height:1.5}.game-overlay-stats{display:flex;gap:20px;margin:4px 0}.game-overlay-stat{display:flex;flex-direction:column;align-items:center}.game-overlay-stat-value{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;color:#fff;font-variant-numeric:tabular-nums}.game-overlay-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.game-overlay-extra{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:2px 0}.game-overlay-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border:none;border-radius:999px;background:var(--accent-gradient);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;margin-top:4px;animation:game-overlay-btn-breathe 2.6s ease-in-out infinite}@keyframes game-overlay-btn-breathe{0%,to{box-shadow:0 4px 14px var(--accent-glow)}50%{box-shadow:0 8px 24px var(--accent-glow)}}.game-overlay-btn:hover{animation-play-state:paused;transform:translateY(-2px) scale(1.03);box-shadow:0 12px 28px var(--accent-glow)}.game-overlay-btn:active{animation-play-state:paused;transform:translateY(0) scale(.98)}.game-overlay-hint{font-size:.76rem;color:#94a3b8;opacity:.85}.game-touchpad{display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,54px);gap:8px}.game-touchpad-4col{grid-template-columns:repeat(4,54px);grid-template-rows:54px}.game-touch-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:1.1rem;cursor:pointer;transition:transform .1s ease,background .15s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.game-touch-btn:hover{background:var(--accent-glow);border-color:var(--accent-primary)}.game-touch-btn:active{transform:scale(.9);background:var(--accent-primary);color:#fff}.game-touch-up{grid-column:2;grid-row:1}.game-touch-left{grid-column:1;grid-row:2}.game-touch-right{grid-column:3;grid-row:2}.game-touch-down{grid-column:2;grid-row:2}.notfound-page{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:60vh;padding:clamp(2rem,8vw,4rem) 1.5rem;overflow:hidden}.notfound-spark{position:absolute;border-radius:50%;filter:blur(2px);background:radial-gradient(circle,#8b5cf6e6,#8b5cf600 70%);pointer-events:none;animation:notfoundFloat 6s ease-in-out infinite}.notfound-spark-1{width:140px;height:140px;top:8%;left:12%;animation-delay:0s}.notfound-spark-2{width:90px;height:90px;bottom:12%;right:15%;animation-delay:1.4s;animation-duration:7s}.notfound-spark-3{width:60px;height:60px;top:55%;left:6%;animation-delay:2.6s;animation-duration:5.5s}@keyframes notfoundFloat{0%,to{transform:translateY(0) scale(1);opacity:.55}50%{transform:translateY(-24px) scale(1.08);opacity:.85}}.notfound-glitch{position:relative;font-family:var(--font-heading);font-size:clamp(5rem,18vw,10rem);font-weight:800;line-height:1;color:var(--text-primary);letter-spacing:.02em;z-index:1}.notfound-glitch:before,.notfound-glitch:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);clip-path:inset(0 0 0 0)}.notfound-glitch:before{color:#f472b6;animation:notfoundGlitchTop 3.2s infinite linear}.notfound-glitch:after{color:#7c3aed;animation:notfoundGlitchBottom 3.2s infinite linear}@keyframes notfoundGlitchTop{0%,92%,to{clip-path:inset(0 0 100% 0);transform:translate(0)}93%{clip-path:inset(0 0 65% 0);transform:translate(-4px,-2px)}95%{clip-path:inset(30% 0 40% 0);transform:translate(4px,1px)}97%{clip-path:inset(10% 0 70% 0);transform:translate(-3px,1px)}}@keyframes notfoundGlitchBottom{0%,92%,to{clip-path:inset(100% 0 0 0);transform:translate(0)}93%{clip-path:inset(60% 0 0 0);transform:translate(4px,2px)}95%{clip-path:inset(70% 0 5% 0);transform:translate(-4px,-1px)}97%{clip-path:inset(45% 0 20% 0);transform:translate(3px,-1px)}}.notfound-title{margin-top:1.5rem;font-family:var(--font-heading);font-size:clamp(1.3rem,3vw,1.75rem);font-weight:700;color:var(--text-primary);z-index:1;animation:notfoundRise .6s ease-out .1s both}.notfound-subtitle{margin-top:.6rem;max-width:480px;font-size:.98rem;color:var(--text-muted);line-height:1.6;z-index:1;animation:notfoundRise .6s ease-out .25s both}.notfound-actions{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:2rem;z-index:1;animation:notfoundRise .6s ease-out .4s both}@keyframes notfoundRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.notfound-btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--card-border)}.notfound-btn-secondary:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px)}.tool-features-section{margin-top:2rem;padding:1.75rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md, 12px)}.tool-features-section h2{font-size:1.25rem;font-weight:700;margin:0 0 1.25rem;color:var(--text-primary)}.tool-features-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.tool-features-list li{display:flex;align-items:flex-start;font-size:.925rem;line-height:1.5;color:var(--text-secondary);padding:.5rem 0}.tool-explainer-section{margin-top:2rem;padding:1.75rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md, 12px)}.tool-explainer-section h2{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:var(--text-primary)}.tool-explainer-section p{font-size:.95rem;line-height:1.75;color:var(--text-secondary);margin:0 0 1rem}.tool-explainer-section p:last-child{margin-bottom:0}.tool-faq-section{margin-top:2rem;padding:1.75rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md, 12px)}.tool-faq-section h2{font-size:1.25rem;font-weight:700;margin:0 0 1.25rem;color:var(--text-primary)}.faq-list{display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid var(--card-border)}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 0;background:none;border:none;cursor:pointer;text-align:start;font-size:.95rem;font-weight:600;color:var(--text-primary);transition:color .2s ease;gap:1rem}.faq-question:hover{color:var(--accent-primary)}.faq-question i{font-size:.75rem;color:var(--accent-primary);flex-shrink:0;transition:transform .2s ease}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0}.faq-item.open .faq-answer{max-height:500px;padding:0 0 1rem}.faq-answer p{font-size:.9rem;line-height:1.7;color:var(--text-secondary);margin:0}.editorial-section{margin-top:3rem;padding:2.5rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md, 12px)}.editorial-title{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:var(--text-primary)}.editorial-lead{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin:0 0 2rem;max-width:700px}.editorial-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.editorial-feature-card{padding:1.25rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm, 8px);transition:transform .2s ease,border-color .2s ease}.editorial-feature-card:hover{transform:translateY(-2px);border-color:var(--accent-primary)}.editorial-feature-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary, #a78bfa));display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;color:#fff;font-size:1rem}.editorial-feature-card h3{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.editorial-feature-card p{font-size:.875rem;line-height:1.6;color:var(--text-muted);margin:0}.editorial-how-it-works{padding:1.5rem;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm, 8px)}.editorial-how-it-works h3{font-size:1.1rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.editorial-how-it-works p{font-size:.925rem;line-height:1.75;color:var(--text-secondary);margin:0}@media (max-width: 600px){.editorial-section{padding:1.5rem}.tool-features-section,.tool-explainer-section,.tool-faq-section{padding:1.25rem}.tool-features-list{grid-template-columns:1fr}}.json-formatter-container:fullscreen,.json-formatter-container:-webkit-full-screen{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;padding:.75rem 1.25rem!important;background:var(--bg-primary, #0b0f19)!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.json-formatter-fullscreen{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:99999!important;background:var(--bg-primary, #0b0f19)!important;padding:.75rem 1.25rem!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.json-formatter-fullscreen .json-formatter-grid,.json-formatter-container:fullscreen .json-formatter-grid{flex:1 1 0%!important;min-height:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:1rem!important;align-items:stretch!important;margin-bottom:0!important;overflow:hidden!important}.json-formatter-fullscreen .json-formatter-column,.json-formatter-container:fullscreen .json-formatter-column{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.json-formatter-fullscreen .json-formatter-column textarea,.json-formatter-container:fullscreen .json-formatter-column textarea,.json-formatter-fullscreen .json-formatter-column .json-formatter-scroll-pane,.json-formatter-container:fullscreen .json-formatter-column .json-formatter-scroll-pane{flex:1 1 0%!important;min-height:0!important;height:100%!important;overflow-y:auto!important;overflow-x:auto!important}.cube-solver-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 950px){.cube-solver-main{grid-template-columns:1fr}}.cube-solver-input,.cube-solver-viewer{min-width:0;display:flex;flex-direction:column;gap:1rem}.cube-viewport{width:100%;aspect-ratio:1 / 1;max-height:460px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 35%,var(--bg-secondary),var(--bg-primary));overflow:hidden;touch-action:none}.cube-palette{display:flex;flex-wrap:wrap;gap:.5rem}.cube-palette-swatch{width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);border:2px solid var(--card-border);cursor:pointer;transition:var(--transition);display:grid;place-items:center;font-weight:800;font-size:.75rem;color:#0f172a8c;text-shadow:0 1px 0 rgba(255,255,255,.45)}.cube-palette-swatch:hover{transform:translateY(-2px)}.cube-palette-swatch.is-active{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.cube-net{touch-action:none;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(9,auto);gap:.35rem;padding:1.6rem .75rem .75rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow-x:auto}.cube-net-face{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.18rem;padding:.28rem;border-radius:var(--radius-sm);background:#0f172a0f}.cube-net-face.is-active{outline:2px solid var(--accent-primary)}.cube-net-label{position:absolute;top:-.9rem;left:.1rem;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.cube-net-cell{aspect-ratio:1 / 1;min-width:1.1rem;border:1px solid rgba(15,23,42,.18);border-radius:4px;cursor:pointer;padding:0;transition:transform .12s ease}.cube-net-cell:hover:not(:disabled){transform:scale(1.12);border-color:var(--accent-primary)}.cube-net-cell.is-center{cursor:default;box-shadow:inset 0 0 0 2px #0f172a59}.cube-caption{font-size:.8rem;color:var(--text-muted);line-height:1.5}.cube-caption code{font-family:var(--font-code);color:var(--text-secondary);word-break:break-word}.cube-button-row{display:flex;flex-wrap:wrap;gap:.5rem}.cube-errors{border:1px solid var(--danger);background:var(--danger-glow);border-radius:var(--radius-sm);padding:.85rem 1rem;font-size:.85rem;color:var(--text-primary)}.cube-errors ul{margin:.5rem 0 0;padding-inline-start:1.1rem}.cube-errors li{margin-bottom:.25rem}.cube-playback{display:flex;flex-direction:column;gap:.6rem}.cube-playback-controls{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.cube-speed{width:auto;padding:.5rem .75rem;font-size:.8rem}.cube-playback-status{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.82rem;color:var(--text-secondary)}.cube-phase-name{padding:.15rem .6rem;border-radius:var(--radius-full);background:var(--bg-tertiary);font-weight:600}.cube-next-move{font-family:var(--font-code);font-weight:700;color:#fff;background:var(--accent-primary);padding:.15rem .6rem;border-radius:var(--radius-sm)}.cube-solution{margin-top:1.75rem;border-top:1px solid var(--card-border);padding-top:1.25rem}.cube-solution-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.cube-solution-head h3{font-family:var(--font-heading);font-size:1.05rem;color:var(--text-primary)}.cube-phase{margin-bottom:1rem}.cube-phase-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;margin-bottom:.45rem}.cube-phase-head strong{font-size:.9rem;color:var(--text-primary)}.cube-phase-head span{font-size:.78rem;color:var(--text-muted)}.cube-move-list{display:flex;flex-wrap:wrap;gap:.3rem}.cube-move{font-family:var(--font-code);font-size:.78rem;font-weight:600;min-width:2.2rem;padding:.3rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.cube-move:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.cube-move.is-done{opacity:.45}.cube-move.is-current{background:var(--accent-primary);border-color:transparent;color:#fff;opacity:1}.cube-scan-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem}.cube-scan-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-primary);color:var(--text-secondary);font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.cube-scan-step.is-active{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.cube-scan-step.is-done{color:var(--text-primary)}.cube-scan-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:2.4rem}.cube-scan-chips i{aspect-ratio:1 / 1;border-radius:2px;border:1px solid rgba(15,23,42,.18)}.cube-scan-chips.is-empty{height:2.4rem;border:1px dashed var(--card-border);border-radius:4px}.cube-scan-stage{position:relative;width:100%;aspect-ratio:1 / 1;max-height:400px;border-radius:var(--radius-lg);border:1px solid var(--card-border);background:#0b0b10;overflow:hidden}.cube-scan-stage video{width:100%;height:100%;object-fit:cover;display:block}.cube-scan-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:1.5rem;color:#ffffffbf;font-size:.82rem}.cube-scan-placeholder i{font-size:1.9rem;color:var(--accent-primary)}.cube-scan-grid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62%;height:62%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none}.cube-scan-grid span{border:2px solid rgba(255,255,255,.85);border-radius:6px;margin:3px;box-shadow:0 0 0 1px #00000059}.cube-scan-hint{font-size:.82rem;line-height:1.55;color:var(--text-secondary)}[data-theme=dark] .cube-net-face{background:#ffffff0f}[data-theme=dark] .cube-net-cell{border-color:#ffffff29}[data-theme=dark] .cube-net-cell.is-center{box-shadow:inset 0 0 0 2px #fff6}[data-theme=dark] .cube-palette-swatch{color:#0f172ab3}.ad-root{display:flex;flex-direction:column;gap:1.25rem}.ad-banner{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.88rem;line-height:1.4}.ad-banner-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger)}.ad-banner-dismiss{margin-inline-start:auto;background:none;border:none;color:inherit;cursor:pointer;opacity:.7;padding:.2rem}.ad-banner-dismiss:hover{opacity:1}.ad-home{display:flex;flex-direction:column;gap:1.75rem}.ad-hero{text-align:center;padding:2rem 1rem 1rem}.ad-hero-icon{width:72px;height:72px;margin:0 auto 1.25rem;border-radius:var(--radius-full);background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;box-shadow:0 0 32px #8b5cf659;animation:ad-icon-glow 3s ease-in-out infinite alternate}@keyframes ad-icon-glow{0%{box-shadow:0 0 24px #8b5cf64d}to{box-shadow:0 0 48px #8b5cf68c,0 0 80px #6366f133}}.ad-hero h2{font-size:1.6rem;margin-bottom:.5rem;color:var(--text-primary);font-weight:700}.ad-hero p{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:.95rem;line-height:1.5}.ad-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 600px){.ad-cards{grid-template-columns:1fr}}.ad-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--card-bg);cursor:pointer;transition:all .25s ease;text-align:center;position:relative;overflow:hidden}.ad-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#6366f10a,#a855f70a);opacity:0;transition:opacity .25s}.ad-card:hover{border-color:#8b5cf666;transform:translateY(-2px);box-shadow:0 8px 32px #8b5cf61f}.ad-card:hover:before{opacity:1}.ad-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);position:relative}.ad-card p{font-size:.85rem;color:var(--text-secondary);position:relative;line-height:1.4}.ad-card-icon{width:52px;height:52px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#fff;position:relative}.ad-card-icon-send{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 16px #6366f14d}.ad-card-icon-recv{background:linear-gradient(135deg,#06b6d4,#3b82f6);box-shadow:0 4px 16px #3b82f64d}.ad-features{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.ad-feature{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-secondary)}.ad-feature i{color:var(--accent);font-size:.85rem}.ad-section-header{display:flex;align-items:center;gap:.75rem}.ad-section-header h3{font-size:1.15rem;font-weight:600;color:var(--text-primary)}.ad-back-btn{width:34px;height:34px;border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:.85rem}.ad-back-btn:hover{border-color:var(--accent);color:var(--accent)}.ad-dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--card-bg);position:relative}.ad-dropzone:hover,.ad-dropzone-active{border-color:#8b5cf680;background:#8b5cf60a}.ad-dropzone-active{border-style:solid;transform:scale(1.01)}.ad-dropzone-icon{font-size:2.2rem;color:var(--accent);margin-bottom:.75rem;opacity:.8}.ad-dropzone p{color:var(--text-primary);font-size:.95rem}.ad-dropzone-hint{color:var(--text-tertiary);font-size:.8rem;margin-top:.3rem;display:block}.ad-file-list{display:flex;flex-direction:column;gap:.5rem}.ad-file-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--card-bg);transition:border-color .2s}.ad-file-item:hover{border-color:var(--accent)}.ad-file-icon{font-size:1.15rem;color:var(--accent);flex-shrink:0;width:1.5rem;text-align:center}.ad-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.ad-file-name{font-size:.88rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-file-size{font-size:.75rem;color:var(--text-tertiary)}.ad-file-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;font-size:.85rem;transition:color .2s;flex-shrink:0}.ad-file-remove:hover{color:var(--danger)}.ad-file-list-footer{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-tertiary);padding:.25rem .2rem 0}.ad-clear-btn{background:none;border:none;color:var(--danger);cursor:pointer;font-size:.8rem;padding:.2rem .4rem;border-radius:var(--radius-sm);transition:background .2s}.ad-clear-btn:hover{background:#ef44441a}.ad-primary-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s;box-shadow:0 4px 16px #6366f140}.ad-primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #6366f159}.ad-primary-btn:disabled{opacity:.5;cursor:not-allowed}.ad-status{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--text-secondary)}.ad-status-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.ad-status-center p{color:var(--text-secondary);font-size:.95rem}.ad-status-waiting{justify-content:center;padding-top:.5rem}.ad-spinner{width:18px;height:18px;border:2.5px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:ad-spin .8s linear infinite;flex-shrink:0}.ad-spinner-lg{width:42px;height:42px;border-width:3.5px}@keyframes ad-spin{to{transform:rotate(360deg)}}.ad-pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);position:relative;flex-shrink:0}.ad-pulse:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--accent);animation:ad-pulse-ring 1.5s ease-out infinite}@keyframes ad-pulse-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.ad-code-display{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--card-bg)}.ad-code-label{font-size:.88rem;color:var(--text-secondary)}.ad-code-box{display:flex;align-items:center;gap:.75rem}.ad-code-digits{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:2rem;font-weight:700;letter-spacing:.15em;color:var(--text-primary);background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ad-copy-btn{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s}.ad-copy-btn:hover{border-color:var(--accent);color:var(--accent)}.ad-link-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:none;color:var(--accent);font-size:.82rem;cursor:pointer;transition:all .2s}.ad-link-btn:hover{background:#8b5cf614}.ad-receive{display:flex;flex-direction:column;gap:1.25rem}.ad-receive-form{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--card-bg)}.ad-receive-form p{font-size:.9rem;color:var(--text-secondary)}.ad-code-input-row{display:flex;gap:.75rem;align-items:stretch}.ad-code-input{flex:1;padding:.65rem .9rem;border-radius:var(--radius-md);border:1.5px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:1.3rem;font-weight:600;letter-spacing:.15em;text-align:center;transition:border-color .2s}.ad-code-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf626}.ad-code-input::placeholder{color:var(--text-tertiary);font-weight:400}.ad-connecting{display:flex;flex-direction:column;gap:1.25rem}.ad-send{display:flex;flex-direction:column;gap:1rem}.ad-transfer{display:flex;flex-direction:column;gap:1.25rem}.ad-overall{display:flex;flex-direction:column;gap:.5rem}.ad-overall-bar-track{height:8px;border-radius:4px;background:var(--border-color);overflow:hidden}.ad-overall-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7);transition:width .3s ease;position:relative;overflow:hidden}.ad-overall-bar-fill:after{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:ad-shimmer 2s linear infinite}.ad-overall-bar-done{background:linear-gradient(90deg,#22c55e,#10b981)}.ad-overall-bar-done:after{animation:none}@keyframes ad-shimmer{0%{transform:translate(-50%)}to{transform:translate(50%)}}.ad-overall-info{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-tertiary)}.ad-transfer-list{display:flex;flex-direction:column;gap:.5rem}.ad-transfer-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--card-bg);transition:all .3s}.ad-transfer-complete{border-color:#22c55e4d}.ad-transfer-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.ad-transfer-name-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ad-transfer-status{font-size:.75rem;font-weight:600;color:var(--accent);flex-shrink:0}.ad-transfer-complete .ad-transfer-status{color:var(--success)}.ad-transfer-bar-track{height:4px;border-radius:2px;background:var(--border-color);overflow:hidden}.ad-transfer-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .15s ease}.ad-transfer-footer-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ad-file-download-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--radius-sm);border:1px solid rgba(139,92,246,.4);background:#8b5cf61a;color:var(--accent);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.ad-file-download-btn:hover{background:#8b5cf633;border-color:var(--accent);transform:translateY(-1px)}.ad-room-pill{display:inline-block;padding:.3rem .8rem;border-radius:999px;background:#8b5cf61f;color:var(--accent);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.85rem;font-weight:600;letter-spacing:.05em}.ad-complete-actions{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:1.5rem 0}.ad-complete-buttons{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.ad-secondary-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.ad-secondary-btn:hover{border-color:var(--accent);color:var(--accent);background:#8b5cf60d}.ad-complete-note{display:flex;align-items:center;gap:.5rem;font-size:.92rem;font-weight:500;color:var(--success)}.ad-complete-note i{font-size:1.1rem}.morse-sample-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.morse-sample-label{font-size:.8rem;color:var(--text-muted);font-weight:600}.morse-hint{color:var(--text-muted);font-size:.8rem;margin-top:.75rem;line-height:1.5}.morse-hint code{background:var(--bg-secondary);border-radius:4px;padding:.05rem .35rem}.morse-warning{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.65rem .85rem;background:#eab3081f;border:1px solid rgba(234,179,8,.35);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8rem;line-height:1.5}.morse-warning i{color:#eab308;margin-top:.15rem}.morse-output{font-size:1.05rem;letter-spacing:.02em;line-height:1.9}.morse-letter{display:inline-block;border-radius:4px;transition:background-color .1s ease,color .1s ease}.morse-letter.active{background:var(--accent-primary);color:#fff;box-shadow:0 0 0 3px var(--accent-glow)}.morse-sep{white-space:pre}.morse-audio-card{margin-top:1.5rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.morse-audio-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.morse-audio-title{font-family:var(--font-heading);font-size:1.05rem;display:flex;align-items:center;gap:.5rem;margin:0}.morse-audio-title i{color:var(--accent-primary)}.morse-audio-meta{font-size:.78rem;color:var(--text-muted);font-family:var(--font-code)}.morse-transport{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.morse-lamp{width:2rem;height:2rem;border-radius:50%;background:var(--bg-primary);border:2px solid var(--card-border);box-shadow:inset 0 0 6px #00000040;transition:background-color .05s ease,box-shadow .05s ease;flex-shrink:0}.morse-lamp.on{background:#f97316;border-color:#f97316;box-shadow:0 0 16px 4px #f97316a6}.morse-sliders{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem 1.5rem}@media (max-width: 640px){.morse-sliders{grid-template-columns:1fr}}.morse-slider .form-label{display:flex;justify-content:space-between;align-items:baseline}.morse-slider .form-label span{color:var(--accent-primary);font-family:var(--font-code);font-weight:700}.morse-slider input[type=range]{width:100%;accent-color:var(--accent-primary)}.morse-slider-hint{font-size:.75rem;color:var(--text-muted);margin-top:.35rem}.morse-reference{margin-top:1.5rem;border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden}.morse-reference-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg-secondary);border:none;color:var(--text-primary);font-weight:700;font-family:var(--font-heading);cursor:pointer;transition:var(--transition)}.morse-reference-toggle:hover{color:var(--accent-primary)}.morse-reference-toggle i:first-child{margin-inline-end:.5rem;color:var(--accent-primary)}.morse-reference-body{padding:1.25rem;display:grid;gap:1.5rem;background:var(--bg-primary)}.morse-reference-heading{font-family:var(--font-heading);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .65rem}.morse-chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem}.morse-chart-cell{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .35rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm)}.morse-chart-char{font-weight:700;font-size:.9rem}.morse-chart-code{font-family:var(--font-code);font-size:.78rem;color:var(--accent-primary);letter-spacing:.05em}.morse-prosign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.morse-prosign-cell{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .75rem;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-sm)}.morse-prosign-meaning{font-size:.72rem;color:var(--text-muted);margin-top:.15rem}.hex-racer-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab}.hex-racer-stage:active{cursor:grabbing}.hex-racer-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0}.hex-racer-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,#0000 42%,#02040cb8)}.hex-racer-damage{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:none;background:radial-gradient(ellipse at 50% 50%,#ef444400 35%,#ef44448c),linear-gradient(180deg,#ef44442e,#ef444400)}.hex-racer-gauges{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:16px;padding:14px 18px;pointer-events:none}.hex-racer-gauge{display:flex;flex-direction:column;gap:5px;width:min(38%,210px)}.hex-racer-gauge-speed{align-items:flex-end}.hex-racer-gauge-label{font-family:var(--font-heading);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e2f0ffbf;text-shadow:0 1px 6px rgba(0,0,0,.8);font-variant-numeric:tabular-nums}.hex-racer-bar{height:9px;width:100%;border-radius:999px;background:#060a1ab8;border:1px solid rgba(148,180,255,.28);overflow:hidden}.hex-racer-bar-fill{height:100%;width:100%;transform:scaleX(0);transform-origin:left center}.hex-racer-gauge-speed .hex-racer-bar-fill{transform-origin:right center}.hex-racer-speed{background:linear-gradient(90deg,#38bdf8,#a855f7 65%,#f472b6);box-shadow:0 0 14px #a855f799}.hex-racer-shield{background:linear-gradient(90deg,#22d3ee,#4ade80);box-shadow:0 0 14px #22d3ee8c;transition:background .3s ease}.hex-racer-shield[data-low=true]{background:linear-gradient(90deg,#f97316,#ef4444);box-shadow:0 0 16px #ef4444b3;animation:hex-racer-shield-alarm .7s ease-in-out infinite}@keyframes hex-racer-shield-alarm{50%{opacity:.45}}.hex-racer-boost{position:absolute;top:16px;left:50%;transform:translate(-50%);padding:7px 18px;border-radius:999px;background:#fb923c2e;border:1px solid rgba(251,146,60,.65);color:#ffd8a8;font-family:var(--font-heading);font-weight:800;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;box-shadow:0 0 26px #fb923c73}.hex-racer-countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:clamp(4rem,16vw,9rem);font-weight:800;color:#f4f8ff;text-shadow:0 0 40px rgba(139,92,246,.9);pointer-events:none}.hex-racer-countdown[data-tick="3"],.hex-racer-countdown[data-tick="2"],.hex-racer-countdown[data-tick="1"],.hex-racer-countdown[data-tick="0"]{animation:hex-racer-tick 1s ease-out}@keyframes hex-racer-tick{0%{transform:scale(1.5);opacity:0}25%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:.35}}.hex-racer-message{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;color:#cbd5e1;font-size:.9rem;background:#040610cc}.hex-racer-setup{display:flex;flex-direction:column;align-items:center;gap:10px}.hex-racer-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none}.hex-racer-toggle input{accent-color:var(--accent-primary);width:15px;height:15px;cursor:pointer}.hex-racer-touch{display:grid;grid-template-columns:repeat(5,minmax(48px,60px));grid-auto-rows:54px;gap:8px}.hex-racer-touch .hex-racer-thrust{background:var(--accent-gradient);color:#fff;border-color:transparent}.hex-racer-touch .hex-racer-brake{color:var(--warning)}.board-game-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media (min-width: 1024px){.board-game-layout{grid-template-columns:minmax(0,1fr) 260px}}.board-3d{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:grab}.board-3d:active{cursor:grabbing}.board-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--text-secondary);background:#05070de6;z-index:4}.board-fallback i{font-size:1.8rem;color:var(--warning)}.board-thinking{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-full);background:#05070dc7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);color:#e2e8f0;font-size:.82rem;font-weight:600;z-index:4;pointer-events:none}.board-thinking i{color:var(--accent-primary)}.game-sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-inline-start:auto;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--accent-primary);cursor:pointer;transition:var(--transition)}.game-sound-toggle:hover{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.game-sound-toggle.is-muted{color:var(--text-muted)}.board-side{display:flex;flex-direction:column;gap:12px}.board-side-block{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);padding:12px 14px}.board-side-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-family:var(--font-heading);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.board-side-title i{color:var(--accent-primary)}.captured-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;min-height:22px}.captured-label{flex:0 0 auto;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.captured-glyphs{display:flex;flex-wrap:wrap;gap:1px;color:var(--text-muted);font-size:.8rem}.cap-glyph{font-size:1.15rem;line-height:1}.cap-light{color:#e8e2d4;text-shadow:0 0 2px rgba(0,0,0,.55)}.cap-dark{color:#3f3f4d;text-shadow:0 0 2px rgba(255,255,255,.25)}.move-log{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto;font-family:var(--font-code);font-size:.78rem}.move-log-empty{color:var(--text-muted);font-family:var(--font-body);font-size:.8rem}.move-log-row{display:grid;grid-template-columns:26px 1fr 1fr;gap:6px;padding:3px 4px;border-radius:5px}.move-log-row:nth-child(odd){background:#8b5cf60f}.move-no{color:var(--text-muted)}.move-san{color:var(--text-primary);font-weight:600}.board-resign{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.35);background:#ef444414;color:var(--danger);font-weight:700;font-size:.85rem;cursor:pointer;transition:var(--transition)}.board-resign:hover{background:#ef444429;border-color:var(--danger)}.promo-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 22px;border-radius:var(--radius-lg);background:#0a0c14f0;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px #00000080;animation:game-overlay-pop-in .3s cubic-bezier(.34,1.56,.64,1)}.promo-title{margin:0;font-family:var(--font-heading);font-weight:700;color:#e2e8f0;font-size:.9rem}.promo-options{display:flex;gap:8px}.promo-btn{display:flex;flex-direction:column;align-items:center;gap:4px;width:68px;padding:10px 4px;border-radius:var(--radius-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#f1f5f9;cursor:pointer;transition:var(--transition)}.promo-btn:hover{background:#8b5cf640;border-color:var(--accent-primary);transform:translateY(-2px)}.promo-glyph{font-size:1.9rem;line-height:1}.promo-name{font-size:.68rem;font-weight:600;letter-spacing:.02em}.promo-cancel{background:none;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;text-decoration:underline}.game-overlay-card:has(.board-setup){max-width:580px;width:100%;max-height:100%;overflow-y:auto}.board-setup{width:100%;display:flex;flex-direction:column;gap:14px}.mp-picker{display:flex;flex-direction:column;gap:12px;width:100%}.mp-mode-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mp-mode-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border-radius:var(--radius-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#e2e8f0;cursor:pointer;transition:var(--transition)}.mp-mode-btn i{font-size:1.05rem;color:#a78bfa;margin-bottom:2px}.mp-mode-btn:hover{border-color:var(--accent-primary);background:#8b5cf629}.mp-mode-btn.is-active{border-color:var(--accent-primary);background:#8b5cf647;box-shadow:0 0 0 3px var(--accent-glow)}.mp-mode-label{font-weight:700;font-size:.82rem;font-family:var(--font-heading)}.mp-mode-blurb{font-size:.66rem;color:#94a3b8;line-height:1.3}.mp-level-row{display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap}.mp-level-caption{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.mp-level-btns{display:flex;gap:6px}.mp-level-btn{padding:7px 15px;border-radius:var(--radius-full);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#e2e8f0;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition)}.mp-level-btn:hover{border-color:var(--accent-primary)}.mp-level-btn.is-active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.mp-room{display:flex;flex-direction:column;gap:10px;width:100%;text-align:start}.mp-error{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:var(--radius-sm);background:#ef444424;border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:.78rem;line-height:1.4}.mp-field{display:flex;flex-direction:column;gap:5px}.mp-field-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.mp-input{width:100%;padding:10px 13px;border-radius:var(--radius-sm);background:#ffffff12;border:1px solid rgba(255,255,255,.15);color:#f1f5f9;font-size:.88rem;font-family:var(--font-body)}.mp-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.mp-input::placeholder{color:#64748b}.mp-code-input{font-family:var(--font-code);letter-spacing:.22em;text-align:center}.mp-room-actions{display:flex;gap:8px}.mp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#f1f5f9;font-weight:700;font-size:.83rem;cursor:pointer;transition:var(--transition)}.mp-btn:hover:not(:disabled){border-color:var(--accent-primary);background:#8b5cf633}.mp-btn:disabled{opacity:.45;cursor:not-allowed}.mp-btn-primary{flex:1;background:var(--accent-gradient-vibrant);border-color:transparent;color:#fff}.mp-btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow)}.mp-btn-ghost{background:none}.mp-btn-icon{padding:10px 13px}.mp-divider{display:flex;align-items:center;gap:10px;color:#64748b;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.mp-divider:before,.mp-divider:after{content:"";flex:1;height:1px;background:#ffffff1f}.mp-join-row{display:flex;gap:8px}.mp-join-row .mp-input{flex:1}.mp-code-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;border-radius:var(--radius-md);background:#8b5cf624;border:1px solid rgba(139,92,246,.35)}.mp-code-caption{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#c4b5fd}.mp-code-value{display:flex;align-items:center;gap:10px}.mp-code-value strong{font-family:var(--font-code);font-size:1.65rem;letter-spacing:.16em;color:#fff}.mp-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#e9d5ff;cursor:pointer;transition:var(--transition)}.mp-copy-btn:hover{background:#fff3}.mp-code-hint{font-size:.7rem;color:#a5b4fc;text-align:center}.mp-state-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mp-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;background:#ffffff1a;color:#cbd5e1}.mp-badge-connected{background:#10b98133;color:#6ee7b7}.mp-badge-waiting,.mp-badge-connecting,.mp-badge-joining,.mp-badge-creating{background:#f59e0b2e;color:#fcd34d}.mp-badge-peer-left,.mp-badge-error{background:#ef44442e;color:#fca5a5}.mp-ping{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:#94a3b8;font-variant-numeric:tabular-nums}.mp-leave{margin-inline-start:auto;font-size:.75rem;padding:6px 12px}.mp-roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.mp-roster-row{display:flex;align-items:center;gap:9px;padding:7px 11px;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid transparent}.mp-roster-row.is-self{border-color:#8b5cf666}.mp-seat-chip{padding:3px 9px;border-radius:var(--radius-full);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#ffffff1f;color:#e2e8f0}.mp-seat-0{background:#f1f5f9;color:#0f172a}.mp-seat-1{background:#1e293b;color:#f1f5f9}.mp-seat-2{background:#ef4444d9;color:#fff}.mp-seat-3{background:#22c55ed9;color:#fff}.mp-roster-name{flex:1;font-size:.83rem;font-weight:600;color:#e2e8f0}.mp-you-tag{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:#a78bfa;font-weight:700}.mp-status-note{font-size:.78rem;color:#94a3b8;text-align:center;line-height:1.45}.mp-chat{display:flex;flex-direction:column;gap:7px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.mp-chat-log{max-height:130px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.mp-chat-empty{margin:0;font-size:.78rem;color:#64748b;text-align:center}.mp-chat-line{margin:0;font-size:.79rem;line-height:1.4;color:#cbd5e1}.mp-chat-name{font-weight:700;color:#a78bfa;margin-inline-end:6px}.mp-chat-line.is-self .mp-chat-name{color:#6ee7b7}.mp-chat-form{display:flex;gap:6px}.mp-chat-form .mp-input{flex:1;padding:8px 12px;font-size:.82rem}.game-overlay-icon-won{background:linear-gradient(135deg,#facc1547,#b4530959);color:#fcd34d;box-shadow:0 0 30px #facc1566}@media (max-width: 520px){.mp-mode-row{grid-template-columns:1fr}.mp-mode-btn{flex-direction:row;gap:10px;justify-content:flex-start;padding:10px 14px}.mp-mode-btn i{margin-bottom:0}.mp-mode-blurb{display:none}.move-log{max-height:160px}}.carrom-hint{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-secondary)}.carrom-hint i{color:var(--accent-primary)}.carrom-power{position:absolute;left:50%;top:14px;transform:translate(-50%);width:min(240px,60%);height:22px;border-radius:var(--radius-full);background:#05070db8;border:1px solid rgba(255,255,255,.16);overflow:hidden;z-index:4;pointer-events:none}.carrom-power-fill{height:100%;background:linear-gradient(90deg,#7ef0c0,#ffe066 55%,#ff6b5c);transition:width .05s linear}.carrom-power-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}.carrom-message{margin:0;font-size:.83rem;line-height:1.5;color:var(--text-secondary)}.carrom-you{margin:10px 0 0;font-size:.78rem;color:var(--text-muted)}.carrom-you strong{color:var(--accent-primary)}.pool-place{bottom:auto;top:46px}.pool-tray{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.pool-ball{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;font-size:.62rem;font-weight:800;color:#fff;background:#64748b;box-shadow:inset -1px -2px 4px #0006,inset 1px 1px 3px #ffffff59;transition:opacity .25s ease,filter .25s ease}.pool-ball-solids{background:radial-gradient(circle at 32% 28%,#ffd569,#d8901a);color:#2b1a05}.pool-ball-stripes{background:linear-gradient(180deg,#f6f4ee 0,#f6f4ee 26%,#1447c8 26%,#1447c8 74%,#f6f4ee 74%,#f6f4ee);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.pool-ball-eight{background:radial-gradient(circle at 32% 28%,#3a3a44,#0c0c10);color:#fff}.pool-ball.is-potted{opacity:.22;filter:grayscale(1)}.online-radar-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;min-height:36px;max-height:36px;padding:0 12px;box-sizing:border-box;border-radius:var(--radius-full, 9999px);background:#8b5cf617;border:1px solid rgba(139,92,246,.25);color:var(--text-primary);font-family:var(--font-heading);font-size:.8125rem;font-weight:600;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;line-height:1}.online-radar-btn:hover{background:#8b5cf62e;border-color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 3px 12px #8b5cf640}.online-radar-btn:active{transform:translateY(0) scale(.97)}.online-radar-indicator{position:relative;display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;flex-shrink:0}.online-radar-dot{width:7px;height:7px;background:#10b981;border-radius:50%;box-shadow:0 0 8px #10b981}.online-radar-ping{position:absolute;width:100%;height:100%;border-radius:50%;background:#10b98199;animation:radar-ping 2s cubic-bezier(0,0,.2,1) infinite}@keyframes radar-ping{0%{transform:scale(1);opacity:.8}75%,to{transform:scale(2.4);opacity:0}}.online-radar-icon{font-size:.8rem;color:var(--accent-primary)}.online-radar-text{display:inline-flex;align-items:center;gap:4px;line-height:1}.online-radar-count{font-weight:800;color:var(--accent-primary)}.online-radar-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#ef4444,#f59e0b);color:#fff;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:800;box-shadow:0 0 8px #ef4444cc;animation:challenge-pulse 1s infinite alternate}@keyframes challenge-pulse{0%{transform:scale(.9)}to{transform:scale(1.18)}}.online-drawer-nav-btn{display:flex;align-items:center;gap:10px;width:100%;border:none;background:#8b5cf61a;color:var(--text-primary);font-size:.95rem;font-weight:600;padding:10px 14px;border-radius:8px;margin-bottom:6px;cursor:pointer;text-align:start}.online-green-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981;display:inline-block}.presence-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05050fa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9990;display:flex;justify-content:flex-end;animation:presence-fade-in .2s ease-out}@keyframes presence-fade-in{0%{opacity:0}to{opacity:1}}.presence-drawer{width:100%;max-width:440px;height:100vh;background:#121020f5;border-inline-start:1px solid rgba(139,92,246,.25);box-shadow:-10px 0 40px #000000b3;display:flex;flex-direction:column;color:var(--text-primary);animation:presence-slide-in .3s cubic-bezier(.16,1,.3,1)}@keyframes presence-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.presence-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05}.presence-header-title{display:flex;align-items:center;gap:12px}.presence-header-title h2{font-size:1.15rem;margin:0;font-weight:800;color:#f8fafc;letter-spacing:-.01em;font-family:var(--font-heading);text-shadow:0 1px 3px rgba(0,0,0,.6)}.presence-radar-pulsing{position:relative;width:36px;height:36px;border-radius:50%;background:#8b5cf633;border:1px solid rgba(139,92,246,.4);display:flex;align-items:center;justify-content:center;color:var(--accent-primary)}.presence-radar-pulsing .pulse-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1px solid var(--accent-primary);animation:radar-pulse-out 2s infinite ease-out}@keyframes radar-pulse-out{0%{transform:scale(.9);opacity:1}to{transform:scale(1.4);opacity:0}}.presence-online-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:#94a3b8;font-weight:600}.presence-drawer-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.presence-drawer-close:hover{background:#ffffff26;color:#fff}.presence-profile-card{margin:1rem 1.25rem .5rem;padding:.85rem 1rem;border-radius:12px;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);display:flex;align-items:center;justify-content:space-between;gap:10px}.presence-profile-left{display:flex;align-items:center;gap:12px;flex:1}.presence-profile-avatar{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:#fff;box-shadow:0 4px 14px #0006;flex-shrink:0}.presence-profile-avatar i{color:#fff;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4))}.avatar-option-btn i{color:#f1f5f9}.presence-user-avatar i,.challenge-host-avatar i,.lobby-msg-avatar i,.incoming-avatar i{color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}.presence-profile-meta{display:flex;flex-direction:column;gap:2px;flex:1}.presence-profile-name-row{display:flex;align-items:center;gap:6px}.presence-profile-name{font-weight:700;font-size:.92rem;color:#fff}.presence-you-tag{font-size:.6rem;font-weight:800;background:var(--accent-primary);color:#fff;padding:1px 5px;border-radius:4px;letter-spacing:.04em}.presence-profile-status-row{font-size:.72rem}.presence-status-tag{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.68rem;font-weight:600}.presence-status-tag.status-online{color:#6ee7b7;background:#10b98126}.presence-status-tag.status-in-game{color:#fcd34d;background:#f59e0b26}.presence-edit-toggle-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.presence-edit-toggle-btn:hover{background:#8b5cf633;color:var(--accent-primary)}.presence-name-edit{display:flex;gap:6px;align-items:center}.presence-input{background:#00000059;border:1px solid rgba(139,92,246,.3);border-radius:6px;color:#fff;padding:4px 8px;font-size:.85rem;outline:none;width:100%}.presence-input:focus{border-color:var(--accent-primary)}.presence-avatar-picker{margin:0 1.25rem .5rem;padding:.85rem;background:#00000059;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.avatar-picker-title{font-size:.72rem;font-weight:700;color:#94a3b8;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.avatar-options-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.avatar-option-btn{aspect-ratio:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.avatar-option-btn:hover{transform:scale(1.15);background:#8b5cf64d}.avatar-option-btn.is-selected{border-color:var(--accent-primary);background:#8b5cf666;box-shadow:0 0 10px var(--accent-primary)}.avatar-bg-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.avatar-bg-btn{aspect-ratio:1;border-radius:6px;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:transform .15s ease}.avatar-bg-btn.is-selected{border-color:#fff;box-shadow:0 0 8px #fff;transform:scale(1.12)}.presence-drawer-tabs{display:flex;padding:0 1.25rem;gap:6px;margin-top:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.presence-tab-btn{background:none;border:none;color:var(--text-secondary);font-size:.8rem;font-weight:700;padding:8px 12px;cursor:pointer;position:relative;transition:color .15s ease}.presence-tab-btn:hover{color:#fff}.presence-tab-btn.is-active{color:var(--accent-primary)}.presence-tab-btn.is-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary)}.presence-tab-content{flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column;min-height:0}.presence-players-view,.presence-challenges-view{overflow-y:auto;flex:1;padding:1rem 1.25rem}.presence-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.presence-hint-text{font-size:.68rem;color:var(--accent-primary);text-transform:none}.presence-users-list{display:flex;flex-direction:column;gap:8px}.presence-user-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);transition:all .15s ease}.presence-user-row:hover{background:#8b5cf614;border-color:#8b5cf640;transform:translate(2px)}.presence-user-left{display:flex;align-items:center;gap:10px}.presence-user-avatar{position:relative;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.user-online-dot{position:absolute;bottom:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:#10b981;border:2px solid #121020}.presence-user-details{display:flex;flex-direction:column;gap:2px}.presence-user-name{font-weight:700;font-size:.88rem;color:#f1f5f9}.presence-user-status{font-size:.7rem}.status-ready{color:#6ee7b7;display:flex;align-items:center;gap:4px}.status-in-game{color:#fcd34d;display:flex;align-items:center;gap:4px}.presence-ping-btn{padding:6px 12px;font-size:.75rem;font-weight:700;border-radius:6px;display:inline-flex;align-items:center;gap:5px}.presence-empty-state{text-align:center;padding:2.5rem 1rem;color:#94a3b8}.presence-empty-visual{display:flex;align-items:center;justify-content:center;margin:.5rem auto 1.25rem;width:84px;height:84px}.empty-radar-svg{filter:drop-shadow(0 0 16px rgba(139,92,246,.35))}.empty-sweep-arm{transform-origin:42px 42px;animation:radar-sweep-spin 4s linear infinite}@keyframes radar-sweep-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-blip-dot{animation:blip-fade 2s infinite ease-in-out}@keyframes blip-fade{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.presence-empty-state h4{font-size:1.05rem;color:#f1f5f9;font-weight:700;margin-bottom:.4rem}.presence-empty-state p{font-size:.82rem;line-height:1.5;color:#94a3b8;max-width:300px;margin:0 auto}.presence-share-btn{background:#8b5cf626;border:1px solid rgba(139,92,246,.35);color:#e2e8f0;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:7px;transition:all .2s ease}.presence-share-btn:hover{background:#8b5cf647;border-color:var(--accent-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #8b5cf64d}.presence-challenges-list{display:flex;flex-direction:column;gap:10px}.presence-challenge-card{padding:12px 14px;border-radius:12px;background:#ffffff08;border:1px solid rgba(139,92,246,.2);display:flex;flex-direction:column;gap:10px}.challenge-card-top{display:flex;align-items:center;justify-content:space-between}.challenge-game-badge{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.88rem;color:#c084fc}.challenge-cancel-btn{background:none;border:none;color:#94a3b8;cursor:pointer}.challenge-cancel-btn:hover{color:#ef4444}.challenge-card-host{display:flex;align-items:center;gap:10px}.challenge-host-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.challenge-host-name{font-weight:700;font-size:.82rem;color:#f1f5f9}.challenge-host-sub{font-size:.7rem;color:#94a3b8}.challenge-join-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px}.presence-create-open-card{padding:12px;border-radius:10px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);margin-bottom:1rem}.create-open-title{font-size:.75rem;font-weight:700;color:#f1f5f9;margin-bottom:8px}.create-open-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px}.create-open-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s ease}.create-open-opt.is-selected{background:#8b5cf64d;border-color:var(--accent-primary)}.create-open-actions{display:flex;justify-content:flex-end;gap:8px}.presence-chat-view{display:flex;flex-direction:column;flex:1;min-height:0;padding:1rem 1.25rem;overflow:hidden}.presence-chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:8px;min-height:0}.lobby-msg-row{display:flex;gap:8px;align-items:flex-start}.lobby-msg-row.is-self{flex-direction:row-reverse}.lobby-msg-avatar{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.lobby-msg-content{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:6px 10px;border-radius:8px;max-width:80%}.lobby-msg-row.is-self .lobby-msg-content{background:#8b5cf640;border-color:#8b5cf666}.lobby-msg-author{font-size:.65rem;font-weight:700;color:var(--accent-primary);margin-bottom:2px}.lobby-msg-text{font-size:.8rem;color:#f1f5f9;word-break:break-word}.lobby-msg-emote{font-size:1.4rem}.presence-emotes-bar{display:flex;gap:4px;overflow-x:auto;padding:6px 0;border-top:1px solid rgba(255,255,255,.08)}.presence-emote-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px 6px;font-size:1rem;cursor:pointer;transition:transform .15s ease}.presence-emote-btn:hover{transform:scale(1.2);background:#8b5cf633}.presence-chat-form{display:flex;gap:6px;margin-top:6px}.presence-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05050fbf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9995;display:flex;align-items:center;justify-content:center;padding:1rem;animation:presence-fade-in .2s ease-out}.presence-modal-card{width:100%;max-width:460px;background:#141224fa;border:1px solid rgba(139,92,246,.35);border-radius:16px;box-shadow:0 20px 60px #000c,0 0 30px #8b5cf633;position:relative;overflow:hidden;padding:1.5rem;animation:presence-pop .25s cubic-bezier(.16,1,.3,1)}@keyframes presence-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.presence-modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.25rem}.presence-modal-title{display:flex;align-items:center;gap:12px}.presence-badge-icon{font-size:1.8rem}.presence-modal-title h3{margin:0;font-size:1.15rem;font-weight:800;color:#fff}.presence-modal-subtitle{margin:2px 0 0;font-size:.75rem;color:#94a3b8}.presence-modal-close{background:none;border:none;color:#94a3b8;font-size:1.1rem;cursor:pointer}.presence-modal-close:hover{color:#fff}.presence-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:1.25rem}.game-picker-grid{display:flex;flex-direction:column;gap:8px}.game-picker-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:all .15s ease}.game-picker-option:hover{background:#8b5cf61a;border-color:#8b5cf64d}.game-picker-option.is-selected{background:#8b5cf633;border-color:var(--accent-primary);box-shadow:0 0 14px #8b5cf64d}.game-picker-icon-wrap{width:38px;height:38px;border-radius:8px;background:#8b5cf626;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.game-picker-details{flex:1}.game-picker-name{font-weight:700;font-size:.92rem;color:#fff;display:flex;align-items:center;gap:8px}.game-picker-badge{font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:4px;background:#ffffff14;color:#c084fc}.game-picker-desc{font-size:.72rem;color:#94a3b8;margin-top:1px}.game-picker-radio{color:var(--accent-primary);font-size:1rem}.incoming-challenge-card{border-color:#f59e0b99;box-shadow:0 20px 60px #000000e6,0 0 40px #f59e0b4d}.incoming-challenge-glow-bar{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f59e0b,#ec4899,#8b5cf6,#3b82f6);background-size:200% 100%;animation:glow-move 2s linear infinite}@keyframes glow-move{0%{background-position:0% 0%}to{background-position:200% 0%}}.incoming-challenge-body{display:flex;align-items:center;gap:16px;margin-bottom:1.25rem}.incoming-avatar-wrap{position:relative;flex-shrink:0}.incoming-avatar{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 6px 18px #0006}.incoming-pulsing-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:20px;border:2px solid #f59e0b;animation:incoming-pulse 1.5s infinite}@keyframes incoming-pulse{0%{transform:scale(.95);opacity:.9}to{transform:scale(1.25);opacity:0}}.incoming-challenge-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:800;letter-spacing:.05em;color:#f59e0b;background:#f59e0b26;padding:2px 7px;border-radius:4px;margin-bottom:4px}.incoming-challenge-title{margin:0 0 8px;font-size:1.05rem;color:#fff}.incoming-game-card{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.incoming-game-icon{font-size:1.3rem;color:var(--accent-primary)}.incoming-game-name{font-weight:700;font-size:.9rem;color:#fff}.incoming-game-sub{font-size:.7rem;color:#94a3b8}.incoming-countdown-track{width:100%;height:5px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:4px}.incoming-countdown-fill{height:100%;background:linear-gradient(90deg,#10b981,#f59e0b);transition:width .5s linear}.incoming-countdown-text{font-size:.68rem;color:#94a3b8;text-align:end;margin-bottom:1rem}.incoming-challenge-actions{display:flex;gap:10px}.incoming-challenge-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px}.btn-accept{background:linear-gradient(135deg,#10b981,#059669)!important;border:none;font-weight:800;color:#fff}.btn-decline{border-color:#ef444466;color:#fca5a5}.btn-decline:hover{background:#ef444426;border-color:#ef4444}.outgoing-radar-container{position:relative;width:120px;height:120px;margin:.5rem auto 1.25rem;display:flex;align-items:center;justify-content:center}.outgoing-radar-circle{position:absolute;border-radius:50%;border:1px solid var(--accent-primary);animation:outgoing-pulse 2.2s infinite cubic-bezier(.2,.8,.4,1)}.outgoing-radar-circle.circle-1{animation-delay:0s}.outgoing-radar-circle.circle-2{animation-delay:.7s}.outgoing-radar-circle.circle-3{animation-delay:1.4s}@keyframes outgoing-pulse{0%{width:30px;height:30px;opacity:.9}to{width:120px;height:120px;opacity:0}}.outgoing-radar-center{width:50px;height:50px;border-radius:50%;background:#8b5cf640;border:2px solid var(--accent-primary);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);font-size:1.4rem;box-shadow:0 0 20px #8b5cf680;z-index:2}.outgoing-challenge-content{text-align:center}.outgoing-badge{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:800;color:var(--accent-primary);background:#8b5cf626;padding:2px 8px;border-radius:4px;margin-bottom:6px}.outgoing-challenge-content h3{margin:0 0 6px;font-size:1.15rem;color:#fff}.outgoing-challenge-sub{font-size:.82rem;color:#94a3b8;margin:0 0 10px}.outgoing-timer-badge{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;color:#fcd34d;background:#f59e0b1f;padding:4px 10px;border-radius:6px}.outgoing-status-box{text-align:center;padding:1.5rem .5rem}.outgoing-status-icon{font-size:3rem;margin-bottom:.75rem}.outgoing-loading-dots{display:flex;justify-content:center;gap:6px;margin-top:1rem}.outgoing-loading-dots span{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;animation:dot-jump 1.2s infinite ease-in-out both}.outgoing-loading-dots span:nth-child(1){animation-delay:-.32s}.outgoing-loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dot-jump{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.mp-online-players-section{margin:.75rem 0;padding:.75rem;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);border-radius:10px}.mp-section-title{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:700;color:#f1f5f9;margin-bottom:8px}.mp-players-count{font-size:.68rem;color:#10b981}.mp-online-users-pills{display:flex;flex-direction:column;gap:6px}.mp-online-user-pill{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#ffffff0a;border-radius:8px;border:1px solid rgba(255,255,255,.08)}.mp-pill-avatar{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.mp-pill-name{font-size:.8rem;font-weight:700;color:#fff;flex:1;margin-inline-start:8px}.mp-pill-ping-btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary, #ec4899));border:none;color:#fff;padding:4px 10px;border-radius:6px;font-size:.72rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:transform .15s ease}.mp-pill-ping-btn:hover{transform:scale(1.05)}.mp-open-matches-section{margin:.75rem 0;padding:.75rem;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:10px}.mp-open-matches-list{display:flex;flex-direction:column;gap:6px}.mp-open-match-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#ffffff0a;border-radius:8px}.mp-match-host{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:#fff}.mp-match-avatar{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.8rem}.mp-invite-row{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.mp-invite-label{display:block;font-size:.68rem;color:#94a3b8;margin-bottom:6px}.mp-invite-chips{display:flex;flex-wrap:wrap;gap:6px}.mp-invite-chip{background:#8b5cf626;border:1px solid rgba(139,92,246,.35);color:#fff;padding:4px 8px;border-radius:6px;font-size:.72rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.mp-invite-chip:hover{background:#8b5cf64d;border-color:var(--accent-primary)}.shot-controls{display:flex;flex-direction:column;gap:10px;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);padding:12px 14px}.shot-controls-notice{align-items:center;justify-content:center;text-align:center;font-size:.82rem;color:var(--text-secondary);line-height:1.5;min-height:64px}.shot-row{display:flex;flex-direction:column;gap:5px}.shot-row.is-disabled{opacity:.45}.shot-row-head{display:flex;align-items:baseline;justify-content:space-between}.shot-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.shot-label i{color:var(--accent-primary);margin-inline-end:4px}.shot-readout{font-family:var(--font-code);font-size:.82rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.shot-slider-row{display:flex;align-items:center;gap:8px}.shot-nudge{flex:0 0 auto;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;font-size:.72rem;transition:var(--transition)}.shot-nudge:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.shot-nudge:disabled{opacity:.4;cursor:not-allowed}.shot-slider{flex:1;min-width:0;height:26px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.shot-slider::-webkit-slider-runnable-track{height:6px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--card-border)}.shot-slider.is-meter::-webkit-slider-runnable-track{background:linear-gradient(90deg,#7ef0c0,#ffe066 55%,#ff6b5c) no-repeat,var(--bg-tertiary);background-size:var(--shot-fill, 50%) 100%,100% 100%}.shot-slider::-moz-range-track{height:6px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--card-border)}.shot-slider.is-meter::-moz-range-progress{height:6px;border-radius:var(--radius-full);background:linear-gradient(90deg,#7ef0c0,#ffe066,#ff6b5c)}.shot-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--accent-primary);border:2px solid #fff;box-shadow:0 1px 4px #00000059}.shot-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-primary);border:2px solid #fff}.shot-slider:disabled{cursor:not-allowed}.shot-fire{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--radius-md);border:none;background:var(--accent-gradient-vibrant);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:.9rem;cursor:pointer;transition:var(--transition)}.shot-fire:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.shot-fire:disabled{opacity:.45;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-muted)}.ludo-message{position:absolute;left:50%;top:14px;transform:translate(-50%);padding:7px 16px;border-radius:var(--radius-full);background:#05070dc7;border:1px solid rgba(255,255,255,.12);color:#e2e8f0;font-size:.78rem;font-weight:600;z-index:4;pointer-events:none}.ludo-roll-block{display:flex;flex-direction:column;gap:10px}.ludo-roll{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:var(--radius-md);border:none;background:var(--accent-gradient-vibrant);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:.95rem;cursor:pointer;transition:var(--transition)}.ludo-roll i{font-size:1.15rem}.ludo-roll:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.ludo-roll:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-muted)}.ludo-players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ludo-player{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid transparent;transition:var(--transition)}.ludo-player.is-turn{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.ludo-swatch{width:14px;height:14px;border-radius:50%;flex:0 0 auto;box-shadow:inset -1px -1px 2px #00000059}.ludo-name{flex:1;font-size:.83rem;font-weight:600;color:var(--text-primary)}.ludo-home{font-family:var(--font-code);font-size:.78rem;font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}.lang-switcher{position:relative;display:inline-flex;align-items:center}.lang-switcher-btn{width:36px;height:36px;min-width:36px;min-height:36px;max-height:36px;padding:0;box-sizing:border-box;border-radius:var(--radius-full, 9999px);display:inline-flex;align-items:center;justify-content:center;font-size:.875rem}.lang-switcher-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:300;min-width:190px;margin:0;padding:.35rem;list-style:none;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 12px 32px #00000052;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:supportModalIn .18s cubic-bezier(.34,1.56,.64,1)}.lang-switcher-menu a{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.5rem .7rem;border-radius:8px;color:var(--text-primary);text-decoration:none;font-size:.9rem}.lang-switcher-menu a:hover,.lang-switcher-menu a:focus-visible{background:var(--bg-tertiary, rgba(139, 92, 246, .12))}.lang-switcher-menu a.is-current{color:var(--accent-primary);font-weight:700}.lang-switcher-en{font-size:.72rem;color:var(--text-secondary)}[dir=rtl] .breadcrumb-nav .fa-chevron-right,[dir=rtl] .card-footer .fa-chevron-right,[dir=rtl] .section-header .fa-arrow-right{transform:scaleX(-1)}[dir=rtl] .lang-switcher-menu{right:auto;left:0}[dir=rtl] code,[dir=rtl] pre,[dir=rtl] .card-tag,[dir=rtl] kbd{direction:ltr;unicode-bidi:isolate}[dir=rtl] pre{text-align:start}#game-interface-container:fullscreen{background-color:var(--bg-body, #111827);display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;padding:1.5rem}#game-interface-container:fullscreen>*{width:100%;max-width:1600px}#game-interface-container:fullscreen .board-game-layout{height:100%}#game-interface-container:fullscreen .game-frame-v2{max-height:100%;height:100%}#game-interface-container:fullscreen .game-viewport-wide,#game-interface-container:fullscreen .game-viewport-square,#game-interface-container:fullscreen .game-viewport-tall,#game-interface-container:fullscreen .game-viewport-portrait{max-height:calc(100vh - 120px)}
