@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_595324;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_Fallback_595324;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:__IBM_Plex_Mono_595324,__IBM_Plex_Mono_Fallback_595324;font-style:normal}.__variable_595324{--font-mono:"__IBM_Plex_Mono_595324","__IBM_Plex_Mono_Fallback_595324"}.glass-card{background:rgba(15,20,35,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.08);border-radius:20px;position:relative;overflow:hidden}.glass-card.popular{border:2px solid rgba(147,51,234,.4)}.glass-card:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.04),rgba(147,51,234,.06),rgba(0,212,255,.04),transparent);animation:lightSweep 3s ease-in-out infinite;pointer-events:none}@keyframes lightSweep{0%{left:-100%}50%{left:120%}to{left:120%}}.glass-card:nth-child(2):after{animation-delay:.4s}.glass-card:nth-child(3):after{animation-delay:.8s}@keyframes rainbowBorder{0%{border-color:#ff0080;box-shadow:0 0 8px rgba(255,0,128,.4)}16%{border-color:#ff8c00;box-shadow:0 0 8px rgba(255,140,0,.4)}33%{border-color:gold;box-shadow:0 0 8px rgba(255,215,0,.4)}50%{border-color:#0f8;box-shadow:0 0 8px rgba(0,255,136,.4)}66%{border-color:#00d4ff;box-shadow:0 0 8px rgba(0,212,255,.4)}83%{border-color:#8b5cf6;box-shadow:0 0 8px rgba(139,92,246,.4)}to{border-color:#ff0080;box-shadow:0 0 8px rgba(255,0,128,.4)}}@keyframes heroTitleGlow{0%,to{text-shadow:0 0 20px rgba(0,212,255,.3),0 0 60px rgba(0,212,255,.1)}50%{text-shadow:0 0 30px rgba(0,212,255,.5),0 0 80px rgba(0,212,255,.2),0 0 120px rgba(0,90,255,.1)}}@keyframes heroSubtitleFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}:root{--bg:#0a0a0f;--bg-soft:#0d0d14;--ink:#e0f4ff;--muted:#5a8a9a;--accent:#00d4ff;--accent-2:#ff6b35;--card:rgba(10,20,30,.85);--card-border:rgba(0,212,255,.18);--shadow:0 2px 16px rgba(0,0,0,.3)}*{box-sizing:border-box;padding:0;margin:0}body,html{height:100%}body{font-family:var(--font-display),"Noto Sans KR",sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;overflow-x:hidden;position:relative}a{color:inherit}main{display:flex;flex-direction:column;gap:90px;padding:36px clamp(16px,5vw,88px) 140px;max-width:1200px;margin:0 auto}.card,.module-card,.plot-card,.roadmap-card,.tech-card,.track-card{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:18px;box-shadow:var(--shadow);position:relative;transition:all .2s ease}.card:hover,.module-card:hover,.plot-card:hover,.roadmap-card:hover,.tech-card:hover,.track-card:hover{border-color:rgba(0,212,255,.35);box-shadow:0 4px 24px rgba(0,0,0,.4)}.module-card h3,.plot-card h3,.roadmap-card h3,.tech-card h3,.track-card h3{font-size:16px;font-weight:600;margin-bottom:6px;color:var(--ink)}.module-card p,.roadmap-card p,.tech-card p,.track-card p{color:var(--muted);font-size:13px;line-height:1.5}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.badge{padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;background:rgba(255,107,53,.12);color:var(--accent-2);border:1px solid rgba(255,107,53,.25)}.badge.alt{background:rgba(0,212,255,.1);color:var(--accent);border-color:rgba(0,212,255,.25)}.section-title{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.section-title h2{font-size:clamp(22px,3vw,30px);font-weight:700;color:var(--ink)}.section-subtitle{color:var(--muted);max-width:640px;font-size:14px}.lab-grid,.module-grid,.roadmap-grid,.tech-grid,.track-grid{display:grid;grid-gap:14px;gap:14px}.track-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.lab-grid{display:flex;flex-direction:column;gap:24px}.lab-grid>*{width:100%;max-width:100%}.roadmap-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.catalog-divider{margin:24px 0;height:1px;background:var(--card-border)}.catalog-by-category{display:flex;flex-direction:column;gap:24px}.catalog-summary-badges{display:flex;flex-wrap:wrap;gap:8px}.catalog-category-section{display:flex;flex-direction:column;gap:12px}.catalog-category-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.catalog-category-header h3{font-size:16px;font-weight:700;color:var(--ink)}.catalog-category-count{min-width:36px;height:26px;border-radius:8px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--accent);border:1px solid rgba(0,212,255,.25);background:rgba(0,212,255,.08)}.module-card{cursor:pointer;transition:all .2s ease}.module-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 24px rgba(0,0,0,.4)}.module-card .sim-card-row{display:flex;align-items:flex-end;gap:14px}.module-card .sim-card-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.module-card .sim-card-body{flex:1 1;min-width:0}.module-card .sim-card-chevron{color:var(--muted);font-size:16px;flex-shrink:0;margin-top:2px;opacity:.6;transition:opacity .2s}.module-card:hover .sim-card-chevron{opacity:1;color:var(--accent)}.plot-card{display:flex;flex-direction:column;gap:16px}.plot-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.plot-formula{font-family:var(--font-mono),monospace;font-size:12px;color:var(--accent)}.plot-svg{width:100%;height:auto;border-radius:12px;background:rgba(0,5,15,.6);border:1px solid var(--card-border)}.plot-grid{stroke:rgba(0,212,255,.06);stroke-width:1}.plot-axis{stroke:rgba(0,212,255,.3);stroke-width:1.5}.plot-line{fill:none;stroke:var(--accent);stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(0,212,255,.5))}.plot-controls{display:grid;grid-gap:12px;gap:12px}.control{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.control input[type=range]{width:100%;accent-color:var(--accent)}.control-value{font-family:var(--font-mono),monospace;font-weight:600;color:var(--accent)}.canvas-shell{border-radius:14px;background:rgba(0,5,15,.5);border:1px solid var(--card-border);padding:12px}.plot-canvas{width:100%;height:312px;display:block}.surface-shell{border-radius:14px;overflow:hidden;height:600px;background:rgba(0,5,15,.6);border:1px solid var(--card-border)}.surface-canvas{width:100%;height:100%}.mono{font-family:var(--font-mono),monospace}.formula-graph-card{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}.formula-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.formula-hint{font-size:11px;color:var(--muted);max-width:200px;text-align:right}.formula-input-section{display:flex;flex-direction:column;gap:6px}.formula-input-row{display:flex;align-items:center;gap:10px}.formula-label{font-weight:600}.formula-input,.formula-label{font-family:var(--font-mono),monospace;font-size:16px;color:var(--accent)}.formula-input{flex:1 1;padding:10px 14px;border:1px solid var(--card-border);border-radius:10px;background:rgba(0,10,20,.6);transition:border-color .2s ease}.formula-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,212,255,.15)}.formula-input.error{border-color:var(--accent-2)}.formula-error{color:var(--accent-2);font-size:12px;margin-left:30px}.category-tabs{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--card-border);margin-bottom:8px}.category-tab{padding:6px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.category-tab:hover{background:rgba(0,212,255,.08);color:var(--accent);border-color:rgba(0,212,255,.2)}.category-tab.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.preset-buttons{display:flex;flex-wrap:wrap;gap:6px;min-height:36px}.preset-btn{padding:5px 10px;border:1px solid var(--card-border);border-radius:8px;background:rgba(0,15,30,.5);font-size:12px;cursor:pointer;transition:all .2s ease;color:var(--muted)}.preset-btn:hover{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}.preset-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.formula-svg{width:100%;height:auto;border-radius:12px;background:rgba(0,5,15,.6);border:1px solid var(--card-border)}.formula-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(0,212,255,.5))}.axis-label{font-family:var(--font-mono),monospace;font-size:9px;fill:var(--muted)}.range-controls{display:flex;gap:20px;flex-wrap:wrap}.range-group{display:flex;align-items:center;gap:8px;font-size:13px}.range-group label{color:var(--muted);font-weight:500}.range-inputs{display:flex;align-items:center;gap:6px}.range-inputs input{width:60px;padding:6px 8px;border:1px solid var(--card-border);border-radius:6px;font-family:var(--font-mono),monospace;font-size:12px;text-align:center;background:rgba(0,10,20,.6);color:var(--accent)}.range-inputs span{color:var(--muted)}.formula-display{padding:10px 14px;background:rgba(0,212,255,.06);border-radius:10px;text-align:center;border:1px solid rgba(0,212,255,.15)}.formula-display .mono{font-size:14px;color:var(--accent)}.pendulum-card{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.category-sim-canvas,.pendulum-canvas{width:100%;height:390px;border-radius:12px;background:linear-gradient(180deg,#050510,#000008);margin:12px 0;border:1px solid var(--card-border)}.category-sim-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.category-sim-meta{margin-top:10px;font-size:13px;color:var(--muted)}.sim-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.sim-control{display:flex;flex-direction:column;gap:4px}.sim-control label{font-size:12px;color:var(--muted)}.sim-control input[type=range]{width:100%;accent-color:var(--accent)}.sim-value{font-family:var(--font-mono),monospace;font-size:13px;color:var(--accent);font-weight:600}.sim-buttons{display:flex;gap:8px;margin-top:12px}.sim-btn{padding:8px 16px;border:1px solid var(--accent);border-radius:10px;background:transparent;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.sim-btn.primary,.sim-btn:hover{background:var(--accent);color:var(--bg)}.sim-btn.primary:hover{background:#00e5ff}.wave-canvas{width:100%;height:365px;border-radius:12px;background:linear-gradient(180deg,#000510,#000815);margin:12px 0}.gravity-card,.wave-canvas{border:1px solid var(--card-border)}.gravity-card{background:var(--card);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.gravity-canvas{width:100%;height:550px;background:radial-gradient(ellipse at center,#0a0a15 0,#000005 100%);margin:12px 0}.gravity-canvas,.gravity-sidebar{border-radius:12px;border:1px solid var(--card-border)}.gravity-sidebar{gap:20px;padding:16px 14px;background:rgba(0,0,0,.3);min-width:80px}.gravity-control,.gravity-sidebar{display:flex;flex-direction:column}.gravity-control{align-items:center;gap:6px}.gravity-control label{font-size:10px;color:var(--muted);text-align:center}.gravity-control input[type=range]{accent-color:var(--accent)}.gravity-control .mono{font-size:12px;color:var(--accent);font-weight:600}.fade-up{animation:fade-up .5s ease forwards;opacity:0}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(0,10,20,.3)}::-webkit-scrollbar-thumb{background:rgba(0,212,255,.3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(0,212,255,.5)}::selection{background:rgba(0,212,255,.3);color:#fff}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:rgba(0,212,255,.15);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;-webkit-transition:transform .15s ease;transition:transform .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}input[type=number]{background:rgba(0,10,20,.6);border:1px solid var(--card-border);color:var(--accent);border-radius:6px;padding:6px 8px}input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,212,255,.12)}.sim-page{min-height:100vh;background:var(--bg);padding-bottom:140px}.sim-page-header{justify-content:space-between;padding:14px clamp(16px,5vw,88px);background:rgba(5,5,10,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--card-border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.sim-page-header,.sim-page-nav{display:flex;align-items:center}.sim-page-nav{gap:20px}.sim-back-btn{padding:8px 14px;background:transparent;border:1px solid var(--card-border);border-radius:8px;color:var(--muted);font-size:14px;cursor:pointer;transition:all .2s ease}.sim-back-btn:hover{border-color:var(--accent);color:var(--accent)}.sim-page-info{display:flex;flex-direction:column;gap:2px}.sim-category{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.sim-page-info h1{font-size:16px;font-weight:700;color:var(--ink);margin:0}.sim-page-actions{display:flex;gap:12px}.sim-fullscreen-btn{padding:8px 14px;background:transparent;border:1px solid var(--card-border);border-radius:8px;color:var(--muted);font-size:13px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.sim-fullscreen-btn:hover{border-color:var(--accent);color:var(--accent)}.sim-fullscreen-3d{background:linear-gradient(135deg,rgba(0,212,255,.12),rgba(0,212,255,.04));border-color:rgba(0,212,255,.45);color:#7de8ff;animation:pulse3d 2.5s ease-in-out infinite}.sim-fullscreen-3d:hover{background:linear-gradient(135deg,rgba(0,212,255,.2),rgba(0,212,255,.08));box-shadow:0 0 16px rgba(0,212,255,.25)}.sim-3d-badge{display:inline-block;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:800;background:rgba(0,212,255,.2);color:#00d4ff;letter-spacing:.5px}@keyframes pulse3d{0%,to{box-shadow:0 0 0 0 rgba(0,212,255,.3)}50%{box-shadow:0 0 12px 3px rgba(0,212,255,.12)}}.sim-page-description{padding:14px clamp(16px,5vw,88px);background:rgba(0,15,30,.25);border-bottom:1px solid var(--card-border)}.sim-page-description p{color:var(--muted);font-size:14px;max-width:800px;margin:0}.ai-explanation{padding:0 clamp(16px,5vw,88px) 16px}.ai-explain-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(59,130,246,.2));border:1px solid rgba(124,58,237,.4);border-radius:10px;color:#c4b5fd;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.ai-explain-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(124,58,237,.35),rgba(59,130,246,.35));border-color:rgba(124,58,237,.6);color:#ddd6fe}.ai-explain-btn:disabled{opacity:.7;cursor:wait}.ai-icon{font-size:16px}.ai-explanation-panel{margin-top:12px;padding:20px;background:rgba(124,58,237,.06);border:1px solid rgba(124,58,237,.2);border-radius:14px;max-width:800px;animation:fadeSlideIn .3s ease}.ai-level-selector{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.ai-level-label{font-size:12px;font-weight:600;color:rgba(124,58,237,.7);white-space:nowrap}.ai-level-buttons{display:flex;gap:4px;flex-wrap:wrap}.ai-level-btn{padding:5px 12px;border:1px solid rgba(124,58,237,.2);border-radius:8px;background:transparent;color:rgba(124,58,237,.6);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.ai-level-btn:hover:not(:disabled){border-color:rgba(124,58,237,.5);color:rgba(124,58,237,.9)}.ai-level-btn.active{background:rgba(124,58,237,.15);border-color:rgba(124,58,237,.5);color:#a777ff}.ai-level-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ai-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;color:var(--muted)}.ai-loading-dots{display:flex;gap:6px}.ai-loading-dots span{width:8px;height:8px;background:rgba(124,58,237,.5);border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.72);opacity:.4}40%{transform:scale(1);opacity:1}}.ai-error{text-align:center;color:#fca5a5;padding:12px}.ai-retry-btn{margin-top:8px;padding:6px 16px;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:13px;cursor:pointer}.ai-markdown{color:var(--ink);font-size:14px;line-height:1.7}.ai-markdown h3{font-size:16px;font-weight:700;margin:12px 0 6px;color:#c4b5fd}.ai-markdown h4{font-size:14px;font-weight:600;margin:10px 0 4px;color:#c4b5fd}.ai-markdown strong{color:#ddd6fe}.ai-markdown code{background:rgba(124,58,237,.15);padding:2px 6px;border-radius:4px;font-size:13px}.ai-markdown ul{margin:6px 0;padding-left:20px}.ai-markdown li{margin:3px 0}.ai-powered-by{margin-top:14px;padding-top:10px;border-top:1px solid rgba(124,58,237,.15);color:rgba(124,58,237,.5);font-size:11px;text-align:right}.ai-level-selector-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.ai-remaining-badge{margin-left:6px;padding:2px 7px;background:rgba(124,58,237,.25);border-radius:10px;font-size:11px;font-weight:700;color:#c4b5fd}.ai-exhausted{text-align:center;padding:20px}.ai-exhausted-text{color:var(--muted);font-size:14px;margin-bottom:4px}.ai-exhausted-subtext{color:var(--muted);font-size:12px;opacity:.7;margin-bottom:12px}.ai-watch-ad-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:linear-gradient(135deg,rgba(124,58,237,.3),rgba(59,130,246,.3));border:1px solid rgba(124,58,237,.5);border-radius:10px;color:#ddd6fe;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.ai-watch-ad-btn:hover{background:linear-gradient(135deg,rgba(124,58,237,.45),rgba(59,130,246,.45));border-color:rgba(124,58,237,.7)}.ai-ad-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:9999}.ai-ad-modal{background:var(--card);border-radius:16px;padding:24px;max-width:400px;width:90%;text-align:center}.ai-ad-content{margin-bottom:16px}.ai-ad-label{color:var(--muted);font-size:11px;margin-top:8px}.ai-ad-close-btn{padding:10px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;background:rgba(124,58,237,.2);border:1px solid rgba(124,58,237,.4);color:#c4b5fd}.ai-ad-close-btn.disabled{opacity:.5;cursor:not-allowed}.sim-page-edu{padding:14px clamp(16px,5vw,88px);border-bottom:1px solid var(--card-border)}.sim-edu-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.sim-edu-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;background:rgba(0,212,255,.1);color:rgba(0,212,255,.85);border:1px solid rgba(0,212,255,.15)}.sim-edu-badge.alt{background:rgba(90,138,154,.1);color:rgba(90,138,154,.85);border-color:rgba(90,138,154,.15)}.sim-edu-formula{color:#7de8ff;font-family:var(--font-mono);font-size:13px;margin:0 0 8px}.sim-edu-context{color:var(--muted);font-size:13px;line-height:1.6;max-width:700px;margin:0}.sim-page-content{padding:24px clamp(16px,5vw,88px);min-height:500px}.sim-coming-soon{flex-direction:column;padding:60px 20px;text-align:center;color:var(--muted)}.sim-coming-soon,.sim-modal-overlay{display:flex;align-items:center;justify-content:center}.sim-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,5,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:2000;padding:20px;animation:fadeIn .25s ease}.sim-modal{background:var(--bg);border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 48px rgba(0,0,0,.5);animation:slideUp .25s ease;border:1px solid var(--card-border);position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sim-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--card-border);background:rgba(0,15,30,.4)}.sim-modal-header h3{font-size:16px;font-weight:700;color:var(--ink)}.sim-modal-close{width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid var(--card-border);background:transparent;border-radius:10px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--muted);flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sim-modal-close:active,.sim-modal-close:hover{background:rgba(0,212,255,.1);color:var(--accent);border-color:var(--accent)}.sim-modal-body{padding:24px}.footer{display:flex;flex-direction:column;gap:16px;padding-top:20px;border-top:1px solid var(--card-border)}.footer-actions{display:flex;flex-wrap:wrap;gap:12px}.partner-banner{background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(168,85,247,.1));border-top:1px solid rgba(59,130,246,.2);border-bottom:1px solid rgba(168,85,247,.2);padding:16px 20px}.partner-link{display:block;text-decoration:none;transition:transform .2s ease}.partner-link:hover{transform:translateX(3px)}.partner-content{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.partner-badge{background:linear-gradient(135deg,#3b82f6,#a855f7);color:#fff;padding:4px 12px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.partner-text{color:hsla(0,0%,100%,.85);font-size:14px;font-weight:500}.partner-arrow{color:var(--accent);font-size:20px;transition:transform .2s ease}.partner-link:hover .partner-arrow{transform:translateX(4px)}.business-footer{background:#080810;border-top:1px solid hsla(0,0%,100%,.08);padding:32px 20px 24px;text-align:center}.business-info-section{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid hsla(0,0%,100%,.08)}.business-info-line{font-size:13px;color:hsla(0,0%,100%,.45);margin-bottom:8px;line-height:1.6}.business-info-line:last-of-type{margin-bottom:0}.business-info-line .divider{margin:0 12px;opacity:.5}.business-legal-links{margin-top:16px}.legal-link{color:hsla(0,0%,100%,.5);text-decoration:underline;font-size:13px;transition:color .2s ease}.legal-link:hover{color:var(--accent)}.business-copyright{display:flex;flex-direction:column;gap:4px}.business-copyright p{font-size:13px;color:hsla(0,0%,100%,.45)}.business-note{font-style:italic;font-size:12px!important;color:hsla(0,0%,100%,.35)!important}.copyright-section{padding:24px 0;margin-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.08)}.copyright-main{margin-bottom:16px}.copyright-main p{font-size:13px;color:hsla(0,0%,100%,.5);margin-bottom:4px}.copyright-details{max-width:700px;margin:0 auto}.license-notice{font-size:12px;color:hsla(0,0%,100%,.4);line-height:1.7;margin-bottom:8px}.attribution-notice{font-size:11px;color:hsla(0,0%,100%,.3);line-height:1.6}.gdpr-footer{margin-top:30px;margin-bottom:80px;padding:24px 20px;background:rgba(0,15,30,.4);border-top:1px solid var(--card-border);text-align:center}.gdpr-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.gdpr-link{color:var(--accent);text-decoration:none;font-size:13px;transition:opacity .2s ease}.gdpr-link:hover{opacity:.8}.gdpr-divider{color:var(--muted);margin:0 4px}.gdpr-text{color:var(--muted);font-size:12px;padding:4px 10px;background:rgba(0,212,255,.06);border-radius:4px;border:1px solid rgba(0,212,255,.12)}.gdpr-notice{color:var(--muted);font-size:11px;line-height:1.6;max-width:700px;margin:0 auto 12px}.gdpr-copyright{color:var(--muted);font-size:12px;opacity:.8}.privacy-policy{padding:80px 20px 140px;background:var(--bg);min-height:100vh}.privacy-container{max-width:900px;margin:0 auto}.back-link{display:inline-block;color:var(--accent);text-decoration:none;margin-bottom:32px;font-size:14px;transition:opacity .2s ease}.back-link:hover{opacity:.8}.privacy-policy h1{font-size:2.5rem;font-weight:800;margin-bottom:8px;text-align:center}.effective-date{text-align:center;color:var(--muted);margin-bottom:48px;font-size:14px}.policy-section{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:28px;margin-bottom:24px}.policy-section h2{font-size:1.25rem;font-weight:700;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--card-border)}.policy-section p{color:var(--muted);line-height:1.8;margin-bottom:16px}.policy-section ul{list-style:none;padding:0;margin:0}.policy-section ul li{color:var(--muted);line-height:1.8;padding-left:24px;position:relative;margin-bottom:8px}.policy-section ul li:before{content:"";position:absolute;left:8px;top:10px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.policy-table{width:100%;border-collapse:collapse;margin-top:16px}.policy-table td,.policy-table th{padding:14px;text-align:left;border:1px solid var(--card-border)}.policy-table th{background:rgba(0,212,255,.06);font-weight:600}.policy-table td{color:var(--muted)}.contact-info-box{background:rgba(0,212,255,.06);border-radius:12px;padding:20px;margin:16px 0;border:1px solid rgba(0,212,255,.15)}.contact-info-box p{margin-bottom:8px}.contact-info-box ul{margin-top:8px}.policy-footer{text-align:center;margin-top:48px;padding-top:32px;border-top:1px solid var(--card-border);color:var(--muted);font-size:14px;line-height:1.8}.policy-footer p{margin-bottom:4px}.ad-banner-container{position:fixed;bottom:0;left:0;right:0;z-index:999;background:rgba(5,5,10,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--card-border);padding:8px 16px;display:flex;justify-content:center;align-items:center;min-height:60px}.ad-banner-container.safe-area{padding-bottom:max(8px,env(safe-area-inset-bottom))}.ad-banner-inner{width:100%;max-width:728px;min-height:50px;display:flex;justify-content:center;align-items:center;background:rgba(0,15,30,.4);border:1px solid var(--card-border);border-radius:8px}.ad-banner-placeholder{color:var(--muted);font-size:12px;text-align:center;padding:12px}@media (max-width:768px){main{gap:50px;padding:20px 16px 140px}.section-title h2{font-size:20px}.section-subtitle{font-size:13px}.module-grid,.roadmap-grid,.tech-grid,.track-grid{grid-template-columns:1fr;gap:10px}.formula-graph-card,.module-card,.pendulum-card,.plot-card,.roadmap-card,.tech-card,.track-card{padding:14px}.module-card h3,.plot-card h3,.roadmap-card h3,.tech-card h3,.track-card h3{font-size:15px}.badges{gap:4px}.badge{font-size:10px;padding:2px 6px}.catalog-by-category{gap:16px}.catalog-category-header h3{font-size:16px}.sim-controls{grid-template-columns:1fr;gap:10px}.sim-buttons{flex-wrap:wrap;gap:6px}.sim-btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);min-width:100px;padding:10px 12px;font-size:12px;text-align:center}.formula-header{flex-direction:column;align-items:flex-end;gap:8px}.formula-hint{text-align:left;max-width:100%;font-size:10px}.formula-input-row{flex-direction:column;align-items:stretch;gap:6px}.formula-label{font-size:14px}.formula-input{font-size:14px;padding:12px;width:100%}.category-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin:0 -14px;padding-left:14px;padding-right:14px}.category-tabs::-webkit-scrollbar{display:none}.category-tab{flex-shrink:0;font-size:11px}.preset-buttons{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin:0 -14px;padding-left:14px;padding-right:14px}.preset-buttons::-webkit-scrollbar{display:none}.preset-btn{flex-shrink:0;font-size:11px}.range-controls{flex-direction:column;gap:12px}.range-group{flex-direction:column;align-items:flex-end;gap:6px}.category-sim-canvas,.pendulum-canvas,.wave-canvas{height:286px!important}.gravity-canvas{height:400px!important}.formula-svg{max-height:200px}.surface-shell{height:450px}.plot-header{flex-direction:column;gap:8px}.plot-canvas{height:200px}.footer-actions{flex-direction:column;gap:10px}.sim-page-header{padding:12px 16px}.sim-page-header,.sim-page-nav{flex-direction:column;align-items:flex-end;gap:10px}.sim-page-nav{width:100%}.sim-back-btn{font-size:12px;padding:6px 12px}.sim-page-info h1{font-size:16px}.sim-page-actions{width:100%;justify-content:flex-end}.sim-fullscreen-btn{font-size:12px;padding:6px 12px}.sim-page-description{padding:12px 16px}.sim-page-description p{font-size:13px}.sim-page-content{padding:16px;min-height:400px}.sim-modal-overlay{padding:0;align-items:flex-end}.sim-modal{max-height:95vh;max-width:100%;border-radius:16px 16px 0 0}.sim-modal-header{padding:14px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(5,10,20,.95)}.sim-modal-header h3{font-size:16px}.sim-modal-close{width:32px;height:32px;min-width:32px;min-height:32px;font-size:16px}.sim-modal-body{padding:16px}.sim-modal-body .sim-controls{grid-template-columns:1fr}.sim-modal-body canvas{height:260px!important;min-height:234px}.sim-modal-body svg{max-height:234px}.business-info-line{display:flex;flex-direction:column;gap:4px}.business-info-line .divider{display:none}.partner-content{flex-direction:column;gap:10px}.ad-banner-container{padding:6px 8px;min-height:70px}.ad-banner-container.safe-area{padding-bottom:max(6px,env(safe-area-inset-bottom));min-height:calc(70px + env(safe-area-inset-bottom))}.ad-banner-inner{max-width:320px;min-height:50px}.privacy-policy{padding:60px 16px 140px}.privacy-policy h1{font-size:1.75rem}.policy-section{padding:20px}.policy-section h2{font-size:1.125rem}.policy-table td,.policy-table th{padding:10px 8px;font-size:13px}.gdpr-links{flex-direction:column;gap:12px}.gdpr-divider{display:none}.gdpr-notice{font-size:10px;padding:0 16px}}@media (max-width:380px){.sim-btn{padding:8px 10px;font-size:11px}.category-tab,.preset-btn{font-size:10px;padding:5px 8px}}@media (hover:none) and (pointer:coarse){.category-tab,.preset-btn,.sim-btn{min-height:44px;display:flex;align-items:center;justify-content:center}.category-tab:active,.preset-btn:active,.sim-btn:active{transform:scale(.97);opacity:.9}.module-card:active{transform:translateY(-1px)}canvas{cursor:default;touch-action:none}input[type=number],input[type=text],select{font-size:16px}}@media (max-width:900px) and (orientation:landscape){.sim-modal{max-height:100vh;border-radius:0}.sim-modal-body canvas{height:195px!important}.category-sim-canvas,.pendulum-canvas,.wave-canvas{height:234px!important}.gravity-canvas{height:320px!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.sim-page:-webkit-full-screen{background:var(--bg)}.sim-page:fullscreen{background:var(--bg)}.sim-page:-webkit-full-screen .sim-page-content{height:calc(100vh - 120px);overflow:auto}.sim-page:fullscreen .sim-page-content{height:calc(100vh - 120px);overflow:auto}@media (max-width:768px){.pendulum-card [style*="gridTemplateColumns: repeat(3"]{grid-template-columns:1fr!important;gap:8px!important}}.rive-fallback-idle{animation:riveIdle 2s ease-in-out infinite}.rive-fallback-thinking{animation:riveThinking 1.2s ease-in-out infinite}.rive-fallback-speaking{animation:riveSpeaking .6s ease-in-out infinite}@keyframes riveIdle{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes riveThinking{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.05) rotate(-3deg)}75%{transform:scale(1.05) rotate(3deg)}}@keyframes riveSpeaking{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.06)}}.tutor-char{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .2s,box-shadow .2s;position:relative;background:rgba(3,8,18,.6);border:2px solid var(--char-color,#00d4ff)}.tutor-char:hover{transform:scale(1.08)}.tutor-char--lottie{padding:2px}.tutor-char--lottie svg{border-radius:50%}.tutor-char--speaking{box-shadow:0 0 12px var(--char-color,#00d4ff),0 0 24px rgba(0,212,255,.2);animation:tutorGlow .8s ease-in-out infinite alternate}@keyframes tutorGlow{0%{box-shadow:0 0 8px var(--char-color,#00d4ff)}to{box-shadow:0 0 20px var(--char-color,#00d4ff),0 0 40px rgba(0,212,255,.15)}}.tutor-char--thinking{animation:tutorThink 1.5s ease-in-out infinite}@keyframes tutorThink{0%,to{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(.95) rotate(-2deg);opacity:.7}}.tutor-emoji--idle .tutor-emoji-face{animation:emojiIdle 3s ease-in-out infinite}.tutor-emoji--speaking .tutor-emoji-face{animation:emojiSpeak .35s ease-in-out infinite alternate}.tutor-emoji--thinking .tutor-emoji-face{animation:emojiThink 1.5s ease-in-out infinite}@keyframes emojiIdle{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes emojiSpeak{0%{transform:scale(1) translateY(0)}to{transform:scale(1.12) translateY(-2px)}}@keyframes emojiThink{0%,to{transform:rotate(0deg)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.tutor-mouth-anim{position:absolute;bottom:18%;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:#ff6b35;animation:mouthBounce .3s ease-in-out infinite alternate;pointer-events:none}@keyframes mouthBounce{0%{transform:translateX(-50%) scaleY(.5);height:4px}to{transform:translateX(-50%) scaleY(1.5);height:10px;border-radius:50% 50% 50% 50%}}.draggable-tutor{position:fixed;bottom:16px;right:16px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:6px;touch-action:none}.draggable-tutor.tutor-dragging{opacity:1}.draggable-tutor-avatar{position:relative;cursor:pointer;width:94px;height:94px;overflow:hidden}.draggable-tutor-avatar>*{transform:scale(.47);transform-origin:top left}.draggable-tutor.tutor-dragging .draggable-tutor-avatar{cursor:pointer}.draggable-tutor-settings{position:absolute;bottom:0;right:0;width:26px;height:26px;border-radius:50%;background:rgba(30,30,40,.9);border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.7);font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,transform .2s;z-index:2;line-height:1;padding:0}.draggable-tutor-settings:hover{background:rgba(0,212,255,.3);color:#fff;transform:rotate(90deg) scale(1.1)}.char-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.char-picker-popup{background:linear-gradient(135deg,rgba(15,20,35,.98),rgba(8,12,25,.98));border:1px solid rgba(0,212,255,.2);border-radius:16px;width:min(420px,92vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(0,212,255,.05);animation:popupSlide .3s ease}@keyframes popupSlide{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.char-picker-header{display:flex;justify-content:space-between;align-items:flex-end;padding:20px 20px 12px;border-bottom:1px solid hsla(0,0%,100%,.06)}.char-picker-title{font-size:16px;font-weight:700;color:#fff;margin:0}.char-picker-subtitle{font-size:12px;color:hsla(0,0%,100%,.5);margin:4px 0 0}.char-picker-close{background:none;border:none;color:hsla(0,0%,100%,.5);font-size:16px;cursor:pointer;padding:4px 8px;transition:color .2s}.char-picker-close:hover{color:#fff}.char-picker-body{overflow-y:auto;padding:12px 20px 20px;flex:1 1}.char-picker-body::-webkit-scrollbar{width:4px}.char-picker-body::-webkit-scrollbar-track{background:transparent}.char-picker-body::-webkit-scrollbar-thumb{background:rgba(0,212,255,.3);border-radius:2px}.char-picker-section{margin-bottom:16px}.char-picker-cat-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:rgba(0,212,255,.7);margin:0 0 8px;font-weight:600}.char-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.char-picker-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:12px;background:hsla(0,0%,100%,.03);border:2px solid transparent;cursor:pointer;transition:all .2s}.char-picker-card:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15);transform:translateY(-2px)}.char-picker-card.selected{border-color:var(--card-color,#00d4ff);background:rgba(0,212,255,.08);box-shadow:0 0 12px rgba(0,212,255,.15)}.char-picker-avatar{position:relative;width:56px;height:56px}.char-picker-check{position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:#22c55e;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.3);z-index:1}.char-picker-name{font-size:11px;color:hsla(0,0%,100%,.8);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-picker-badge{font-size:9px;padding:1px 6px;border-radius:6px;background:rgba(0,212,255,.15);color:#00d4ff;letter-spacing:.3px}@media (max-width:480px){.char-picker-popup{width:95vw;max-height:85vh;border-radius:12px}.char-picker-grid{grid-template-columns:repeat(3,1fr);gap:8px}.char-picker-card{padding:8px 4px}.draggable-tutor{bottom:100px;right:12px}}