:root{--bg:#05070c;--bg-2:#080b13;--panel:#0f1420;--panel-2:#141a28;--line:#94a3b829;--line-2:#94a3b847;--ink:#e8edf7;--ink-2:#b9c6de;--muted:#8798b5;--sky:#38bdf8;--indigo:#818cf8;--violet:#a78bfa;--emerald:#34d399;--amber:#fbbf24;--rose:#f87171;--cyan:#22d3ee;--stage-w:1600px;--stage-h:900px;--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Apple SD Gothic Neo", "Segoe UI", Roboto, "Noto Sans KR", "Malgun Gothic", "Hiragino Sans", "Yu Gothic", Meiryo,  "PingFang SC", "Microsoft YaHei", "Noto Sans SC",  "Khmer OS", "Noto Sans Khmer",  "Geeza Pro", "Noto Sans Arabic", Tahoma,  system-ui, sans-serif;--mono:"SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;overflow:hidden}::selection{background:#38bdf84d}.viewport{background:radial-gradient(1200px 700px at 15% -10%, #38bdf81a, transparent 62%), radial-gradient(1000px 620px at 88% 108%, #a78bfa1f, transparent 60%), var(--bg);position:fixed;inset:0;overflow:hidden}.stage{margin-left:calc(var(--stage-w) / -2);margin-top:calc(var(--stage-h) / -2);width:var(--stage-w);height:var(--stage-h);transform-origin:50%;position:absolute;top:50%;left:50%}.grid-bg{pointer-events:none;background-image:linear-gradient(#94a3b80b 1px,#0000 1px),linear-gradient(90deg,#94a3b80b 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(closest-side at 50% 45%,#000 55%,#0000 100%);mask-image:radial-gradient(closest-side at 50% 45%,#000 55%,#0000 100%)}.aurora{pointer-events:none;opacity:.55;filter:blur(12px);background:radial-gradient(520px 320px at 20% 30%,#38bdf82e,#0000 60%),radial-gradient(600px 380px at 78% 62%,#a78bfa29,#0000 62%),radial-gradient(420px 300px at 55% 88%,#34d3991a,#0000 60%);animation:26s ease-in-out infinite alternate drift;position:absolute;inset:-20%}@keyframes drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(3%,2%)scale(1.08)}}.sw{position:absolute;inset:0}.slide{will-change:transform, opacity;flex-direction:column;justify-content:center;padding:74px 96px 92px;display:flex;position:absolute;inset:0}.slide.center{justify-content:center;align-items:flex-start}@keyframes push-in-f{0%{opacity:0;transform:translate(58px)}to{opacity:1;transform:none}}@keyframes push-out-f{0%{opacity:1;transform:none}to{opacity:0;transform:translate(-42px)}}@keyframes push-in-b{0%{opacity:0;transform:translate(-58px)}to{opacity:1;transform:none}}@keyframes push-out-b{0%{opacity:1;transform:none}to{opacity:0;transform:translate(42px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes zoom-in{0%{opacity:0;filter:blur(7px);transform:scale(1.1)}to{opacity:1;filter:none;transform:none}}@keyframes zoom-out{0%{opacity:1;transform:none}to{opacity:0;filter:blur(5px);transform:scale(.94)}}@keyframes rise-in{0%{opacity:0;transform:translateY(52px)}to{opacity:1;transform:none}}@keyframes rise-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-38px)}}.sw[data-anim=in]{animation:.52s cubic-bezier(.22,1,.3,1) backwards push-in-f}.sw[data-anim=out]{animation:.4s cubic-bezier(.5,0,.75,0) forwards push-out-f}.sw[data-anim=in][data-back="1"]{animation-name:push-in-b}.sw[data-anim=out][data-back="1"]{animation-name:push-out-b}.sw[data-tr=fade][data-anim=in]{animation:.5s backwards fade-in}.sw[data-tr=fade][data-anim=out]{animation:.34s forwards fade-out}.sw[data-tr=zoom][data-anim=in]{animation:.58s cubic-bezier(.22,1,.3,1) backwards zoom-in}.sw[data-tr=zoom][data-anim=out]{animation:.38s forwards zoom-out}.sw[data-tr=rise][data-anim=in]{animation:.56s cubic-bezier(.22,1,.3,1) backwards rise-in}.sw[data-tr=rise][data-anim=out]{animation:.36s forwards rise-out}.b{opacity:0;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.3,1);transform:translateY(16px)}.b.on{opacity:1;transform:none}.b.dim{opacity:.26;filter:saturate(.35)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--sky);align-items:center;gap:12px;margin-bottom:18px;font-size:15px;font-weight:800;display:flex}.eyebrow:before{content:"";background:linear-gradient(90deg, var(--sky), transparent);width:30px;height:2px}h1{letter-spacing:-.035em;text-wrap:balance;margin:0 0 20px;font-size:92px;font-weight:850;line-height:1.02}h2{letter-spacing:-.028em;text-wrap:balance;margin:0 0 14px;font-size:54px;font-weight:820;line-height:1.1}h3{letter-spacing:-.012em;margin:0;font-size:25px;font-weight:780;line-height:1.25}.lead{color:var(--ink-2);max-width:1080px;margin:0 0 30px;font-size:25px;font-weight:450;line-height:1.55}.lead strong{color:var(--ink);font-weight:750}.tiny{color:var(--muted);font-size:15px}.grad{background:linear-gradient(96deg, var(--sky) 0%, var(--indigo) 42%, var(--violet) 78%);color:#0000;-webkit-background-clip:text;background-clip:text}mark{color:var(--sky);background:0 0;font-weight:800}code{font-family:var(--mono);color:var(--cyan);background:#22d3ee17;border:1px solid #22d3ee33;border-radius:6px;padding:1px 7px;font-size:.86em}.cards{gap:20px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(160deg,#ffffff0b,#ffffff03);border-radius:18px;padding:26px 26px 24px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--ac,var(--indigo)), transparent 72%);height:3px;position:absolute;inset:0 0 auto}.card .ic{margin-bottom:14px;font-size:30px;line-height:1;display:block}.card p{color:var(--ink-2);margin:9px 0 0;font-size:17.5px;line-height:1.62}.card .k{letter-spacing:.1em;text-transform:uppercase;color:var(--ac,var(--indigo));font-size:13px;font-weight:800}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap;background:#ffffff09;border-radius:11px;padding:8px 16px;font-size:16px;font-weight:650}.chip.on{border-color:var(--ac,var(--sky));color:var(--ink);background:color-mix(in srgb, var(--ac,var(--sky)) 14%, transparent)}.stats{grid-auto-flow:column;justify-content:start;gap:46px;display:grid}.stat .n{letter-spacing:-.04em;background:linear-gradient(180deg, var(--ink), var(--ac,var(--sky)));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:68px;font-weight:850;line-height:1}.stat .l{color:var(--muted);margin-top:9px;font-size:16px;font-weight:620}.dia{flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;display:flex}.dbox{border:1.5px solid var(--line-2);text-align:center;background:linear-gradient(160deg, var(--panel-2), var(--panel));border-radius:15px;flex:none;min-width:132px;padding:16px 20px;position:relative;box-shadow:0 10px 30px #00000073}.dbox .t{letter-spacing:-.01em;font-size:19px;font-weight:780}.dbox .s{color:var(--muted);margin-top:4px;font-size:14px;line-height:1.35}.dbox .em{margin-bottom:7px;font-size:24px;display:block}.dbox[data-c]{border-color:var(--ac);background:linear-gradient(160deg, color-mix(in srgb, var(--ac) 15%, var(--panel-2)), var(--panel))}.dbox.pill{border-radius:40px}.dbox.dash{border-style:dashed}.dbox.sm{min-width:auto;padding:11px 15px}.dbox.sm .t{font-size:16px}.dconn{background:linear-gradient(90deg, var(--ac,var(--indigo)), color-mix(in srgb, var(--ac,var(--indigo)) 30%, transparent));border-radius:3px;flex:none;align-self:center;width:74px;height:3px;margin:0 5px;position:relative}.dconn:after{content:"";border-left:9px solid var(--ac,var(--indigo));border-top:6px solid #0000;border-bottom:6px solid #0000;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.dconn.dash{border-top:2px dashed var(--ac,var(--violet));background:0 0;height:0}.dconn .p{background:var(--ac,var(--cyan));width:8px;height:8px;box-shadow:0 0 12px 2px var(--ac,var(--cyan));border-radius:50%;margin-top:-4px;animation:2s cubic-bezier(.5,0,.5,1) infinite runx;position:absolute;top:50%}.dconn .lb{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:700;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@keyframes runx{0%{opacity:0;left:2%}14%{opacity:1}86%{opacity:1}to{opacity:0;left:96%}}.dvconn{border-left:2px dashed var(--ac,var(--violet));width:2px;height:40px;margin:0 auto;position:relative}.dvconn.solid{border-left-style:solid}.dvconn:after{content:"";border-top:8px solid var(--ac,var(--violet));border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;bottom:-1px;left:-6px}.dvconn.up:after{border-top:0;border-bottom:8px solid var(--ac,var(--violet));top:-1px;bottom:auto}.dvconn .lb{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:700;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dgroup{border:1.5px dashed var(--line-2);background:#ffffff06;border-radius:20px;flex:none;padding:34px 22px 22px;position:relative}.dgroup>.gl{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:820;position:absolute;top:11px;left:20px}.dgroup[data-c]{border-color:color-mix(in srgb, var(--ac) 55%, transparent)}.dstack{flex-direction:column;flex:none;align-items:center;gap:12px;display:flex}.cmp{border-collapse:separate;border-spacing:0;width:100%;font-size:18px}.cmp th,.cmp td{text-align:left;border-bottom:1px solid var(--line);padding:15px 18px}.cmp thead th{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:14px;font-weight:800}.cmp tbody th{color:var(--ink-2);font-weight:700}.cmp .us{color:var(--ink);background:linear-gradient(#38bdf81a,#38bdf808);font-weight:750}.cmp thead .us{color:var(--sky);border-bottom-color:#38bdf859}.cmp tr:last-child td,.cmp tr:last-child th{border-bottom:none}.yes{color:var(--emerald);font-weight:800}.no{color:var(--rose);font-weight:800}.part{color:var(--amber);font-weight:800}.bar{z-index:40;background:#ffffff0f;height:3px;position:fixed;bottom:0;left:0;right:0}.bar>i{background:linear-gradient(90deg, var(--sky), var(--indigo), var(--violet));height:100%;transition:width .45s cubic-bezier(.22,1,.3,1);display:block;box-shadow:0 0 14px #38bdf880}.hud{z-index:41;color:var(--muted);align-items:center;gap:10px;font-size:13.5px;display:flex;position:fixed}.hud.br{bottom:18px;right:22px}.hud.bl{letter-spacing:.04em;font-weight:700;bottom:18px;left:22px}.hud b{color:var(--ink);font-weight:800}.btn{appearance:none;border:1px solid var(--line-2);color:var(--ink-2);font:inherit;cursor:pointer;background:#ffffff0a;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:700;transition:border-color .15s,color .15s,background .15s}.btn:hover{border-color:var(--sky);color:var(--ink);background:#38bdf81a}.btn:focus-visible{outline:2px solid var(--sky);outline-offset:2px}kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--ink-2);background:#ffffff0d;border-bottom-width:2px;border-radius:6px;padding:2px 7px;font-size:12px}.zone{z-index:30;cursor:pointer;background:0 0;border:0;width:13%;position:fixed;top:0;bottom:56px}.zone.l{left:0}.zone.r{right:0}.zone:focus-visible{outline:2px solid var(--sky);outline-offset:-4px}.ov{z-index:60;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#04060bed;padding:34px 40px 46px;animation:.2s both fade-in;position:fixed;inset:0;overflow:auto}.ov h4{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;font-size:15px}.ovgrid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px;display:grid}.ovcell{border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;color:inherit;font:inherit;border-radius:13px;min-height:104px;padding:15px 16px 16px;transition:transform .16s,border-color .16s;position:relative;overflow:hidden}.ovcell:hover{border-color:var(--sky);transform:translateY(-3px)}.ovcell[aria-current=true]{border-color:var(--sky);box-shadow:0 0 0 2px #38bdf847}.ovcell .n{color:var(--muted);font-size:12px;font-weight:800}.ovcell .t{margin-top:7px;font-size:16.5px;font-weight:760;line-height:1.3}.ovcell .a{color:var(--sky);letter-spacing:.06em;text-transform:uppercase;margin-top:7px;font-size:12px;font-weight:700}.help{z-index:61;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04060be6;place-items:center;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.help .box{border:1px solid var(--line-2);background:var(--panel);border-radius:20px;width:620px;max-width:92vw;padding:30px 34px}.help h4{margin:0 0 20px;font-size:22px;font-weight:800}.help dl{grid-template-columns:170px 1fr;gap:12px 18px;margin:0;font-size:16px;display:grid}.help dt{color:var(--ink-2)}.help dd{color:var(--muted);margin:0}.lang{appearance:none;border:1px solid var(--line-2);color:var(--ink-2);font:inherit;cursor:pointer;background:#ffffff0a;border-radius:9px;padding:7px 10px;font-size:13px;font-weight:700}.lang option{background:var(--panel);color:var(--ink)}[dir=rtl] .dia,[dir=rtl] .dstack,[dir=rtl] .stats{direction:ltr}[dir=rtl] .dbox,[dir=rtl] .dgroup>.gl,[dir=rtl] .dconn .lb,[dir=rtl] .dvconn .lb,[dir=rtl] .stat{direction:rtl}[dir=rtl] .eyebrow:before{background:linear-gradient(270deg, var(--sky), transparent)}@media (prefers-reduced-motion:reduce){.aurora,.dconn .p{animation:none}.sw[data-anim],.b{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hud.br{flex-wrap:wrap;justify-content:flex-end;max-width:72vw}.btn{align-items:center;gap:6px;display:inline-flex;position:relative;overflow:hidden}.btn svg{flex:none}.btn.play.on{border-color:var(--sky);color:var(--ink);background:#38bdf824}.btn .tick{background:linear-gradient(90deg, var(--sky), var(--violet));width:0;height:2px;animation-name:tickw;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}@keyframes tickw{0%{width:0}to{width:100%}}@media (prefers-reduced-motion:reduce){.btn .tick{display:none}}@media (width<=820px){.hud.bl,.hud.br{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#05070cbd;border-radius:12px;padding:5px 9px;bottom:8px}.hud.bl{font-size:12px;left:9px}.hud.br{flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:calc(100vw - 84px);right:9px}.hud.bl .st{display:none}.btn{gap:5px;padding:6px 9px;font-size:12px}.lang{max-width:112px;padding:6px 8px;font-size:12px}.btn kbd,.btn.full{display:none}}
