:root{color-scheme:dark;--fg:#f3f0e8;--muted:#aba9b5;--quiet:#71707f;--line:rgba(242,238,248,.19);--accent:#e2bfd1;--mono:'Consolas','Courier New',monospace;--sans:'Segoe UI','Malgun Gothic',system-ui,sans-serif;--korean:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif}
*{box-sizing:border-box}html{background:#04050b;height:100%;overflow:hidden}body{margin:0;min-height:100%;height:100%;color:var(--fg);font-family:var(--sans);background:#04050b;overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:1px solid #eec6ff;outline-offset:5px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}canvas#universe,canvas#particles{position:fixed;inset:0;width:100%;height:100%;display:block}#universe{z-index:0}#particles{z-index:1;pointer-events:none;mix-blend-mode:screen}.grain{z-index:2;position:fixed;inset:-50%;width:200%;height:200%;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");animation:grainMove .5s steps(4) infinite}.vignette{z-index:2;pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse at 56% 49%,transparent 18%,rgba(4,5,11,.1) 51%,rgba(3,4,10,.63) 100%)}#flash{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:0;background:#fff;mix-blend-mode:overlay}#flash.ignite{animation:glitchFlash .75s ease-out}#cursor-halo{position:fixed;width:120px;height:120px;border:1px solid rgba(234,224,255,.12);border-radius:100%;pointer-events:none;z-index:5;transform:translate(-50%,-50%);left:-200px;top:-200px;transition:width .35s,height .35s,border-color .35s}#cursor-halo.down{width:190px;height:190px;border-color:rgba(234,224,255,.4)}.app{position:relative;z-index:4;width:100%;height:100%;pointer-events:none}.app button,.app a,.app input,.modal-wrap{pointer-events:auto}.topbar{position:absolute;top:0;left:0;right:0;z-index:9;height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4.7vw,92px);border-bottom:1px solid rgba(255,255,255,.09)}.identity{display:flex;gap:15px;align-items:center;letter-spacing:.17em;font-size:12px;line-height:1.15;font-weight:400}.identity .logo{flex:none;animation:logoSpin 36s linear infinite}.identity b{font-weight:800;letter-spacing:.18em}.identity small{display:block;font-size:7px;letter-spacing:.23em;margin-top:7px;opacity:.55}.top-right{display:flex;align-items:center;gap:24px}.top-status,.icon-text,.coordinate,.chapter-top,.dock-heading,.dock-bottom,.meta-row,.bottom-help,.intro-footer,.intro-topline,.intro-kicker,.explore-hint,.modal-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.09em}.top-status{color:#bab6c4;display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;width:5px;height:5px;background:#c0f4cf;border-radius:50%;box-shadow:0 0 10px #99ecb9;animation:pulse 2.6s infinite}.vertical-rule{height:23px;width:1px;background:var(--line)}.icon-text,.icon-only{border:0;background:none;display:inline-flex;align-items:center;gap:9px;color:#e8e6ed;padding:5px}.icon-text svg,.icon-only svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3}.icon-only svg{width:20px;height:20px}.intro-screen{position:absolute;inset:0;padding:126px clamp(22px,4.7vw,92px) 42px;display:flex;flex-direction:column;pointer-events:none}.intro-topline{color:#a7a4b1;display:flex;gap:12px;align-items:center;white-space:nowrap}.mark-line{width:24px;height:1px;background:#ba9cc4}.intro-topline-b{margin-left:auto;color:#6f6e7d}.intro-core{margin-top:auto;margin-bottom:auto;max-width:920px;transform:translateY(12px)}.intro-kicker{color:#dac0e9;display:flex;align-items:center;gap:13px}.tiny-star{font-size:17px}.sci{color:#6b6776}.intro-core h1{font-family:var(--korean);font-size:clamp(76px,9.2vw,162px);font-weight:700;line-height:1.06;letter-spacing:-.095em;position:relative;margin:20px 0 34px;text-shadow:0 3px 55px rgba(0,0,0,.12)}.intro-core h1 em{font-weight:300;color:#e9d9ed;font-style:normal}.intro-outline{display:block;letter-spacing:-.08em;font-family:var(--sans);-webkit-text-stroke:1px rgba(223,201,238,.45);color:transparent;font-size:clamp(24px,3.7vw,59px);line-height:1;margin-top:14px;font-weight:400}.intro-description{font-size:clamp(13px,1.22vw,17px);line-height:2.05;color:#c2bdc9;font-weight:300;letter-spacing:-.025em}.intro-description strong{font-weight:600;color:#f5e9fd}.intro-actions{display:flex;align-items:center;gap:27px;margin-top:40px}.enter-btn{display:inline-flex;align-items:center;justify-content:space-between;border:1px solid rgba(250,242,255,.8);background:#f5f0e9;color:#151019;font-size:14px;font-family:var(--korean);font-weight:600;letter-spacing:-.025em;gap:38px;padding:17px 18px 17px 23px;min-width:244px;min-height:56px;transition:background .3s,transform .3s,box-shadow .3s}.enter-btn:hover{transform:translateY(-3px);background:white;box-shadow:0 12px 40px rgba(228,194,255,.18)}.enter-arrow{font-family:var(--sans);font-size:27px;font-weight:400;line-height:.5}.explore-hint{color:#97919e;font-size:9px}.explore-hint span{padding:0 7px}.intro-footer{display:flex;justify-content:space-between;gap:15px;color:#8a8795;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:9px}.intro-footer b{color:#ebe0ee;font-weight:400}.scroll-indicator{display:flex;align-items:center;gap:10px}.mini-mouse{width:12px;height:18px;border:1px solid #9a94a8;border-radius:7px;position:relative}.mini-mouse:after{content:'';position:absolute;width:2px;height:4px;background:#fff;left:4px;top:4px;animation:wheel 1.8s infinite}
/* exploration */
.expedition{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1s ease;padding:135px clamp(22px,4.7vw,92px) 32px}.app:not(.is-intro) .expedition{opacity:1}.app:not(.is-intro) .intro-screen{opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s}.chapter-top{display:flex;align-items:center;gap:15px;color:#a8a3b6}.chapter-dash{width:35px;height:1px;background:rgba(255,255,255,.36)}#chapterCategory{color:#777285}.chapter-content{position:absolute;top:38%;left:clamp(22px,4.7vw,92px);transform:translateY(-42%);width:min(33vw,480px)}.eyebrow{font-family:var(--mono);letter-spacing:.17em;color:#e2cce5;font-size:11px;display:flex;gap:12px;align-items:center}.eyebrow-cross{font-size:20px}.chapter-content h2{font-family:var(--korean);font-size:clamp(52px,5vw,86px);line-height:1.26;letter-spacing:-.082em;font-weight:600;word-break:keep-all;margin:19px 0 22px;text-shadow:0 0 40px rgba(0,0,0,.5)}.chapter-content h2 i{font-style:normal;color:#dac6ec;font-weight:300}.chapter-content p{max-width:380px;color:#b9b2c7;font-family:var(--korean);font-size:clamp(12px,1vw,15px);font-weight:300;line-height:2;word-break:keep-all;margin:0}.chapter-actions{margin-top:33px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.outline-btn{border:1px solid rgba(250,246,255,.45);background:rgba(9,7,18,.2);backdrop-filter:blur(12px);padding:13px 13px;font-size:12px;font-weight:500;min-width:197px;display:flex;gap:11px;align-items:center;justify-content:space-between;transition:border-color .2s,background .2s}.outline-btn:hover{border-color:white;background:rgba(255,255,255,.13)}.rupture-symbol{font-size:16px}.keycap{border:1px solid rgba(255,255,255,.35);font-size:9px;font-family:var(--mono);padding:2px 5px;color:#bbb3c8}.minimal-btn{border:0;background:transparent;color:#dbd0df;font-family:var(--korean);font-size:11px;font-weight:400;padding:10px 0}.minimal-btn:hover{text-decoration:underline}.plus-mark{font-size:17px;margin-right:5px}.meta-stats{position:absolute;right:clamp(30px,6vw,118px);bottom:197px;width:190px}.meta-row{display:flex;justify-content:space-between;color:#a8a1b0;font-size:9px}.meta-row strong{color:#f0e8f2;font-weight:400}.meta-row.minor{margin-top:11px;font-size:8px;color:#726d80}.meta-row.minor b{color:#b4a9c5;font-weight:400}.meta-bar{margin-top:11px;height:2px;background:rgba(255,255,255,.2)}.meta-bar span{display:block;height:100%;width:95%;background:#e8d6ef;box-shadow:0 0 12px #d5a9ec;transition:width .2s}.nav-dock{position:absolute;bottom:30px;left:clamp(22px,4.7vw,92px);width:min(690px,60vw)}.dock-heading{display:flex;justify-content:space-between;color:#c9bcd1;letter-spacing:.14em;font-size:9px;margin-bottom:12px}.scene-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.scene-button{text-align:left;border:0;border-top:1px solid rgba(230,218,240,.3);background:transparent;padding:15px 4px 9px;display:flex;flex-direction:column;min-width:0;gap:8px;position:relative;transition:opacity .2s;color:#b1a9bb;opacity:.62}.scene-button:before{content:'';position:absolute;top:-1px;left:0;width:0;height:1px;background:#efe0fa;box-shadow:0 0 15px #d7acfd;transition:width .7s}.scene-button.active{color:#f5ebf6;opacity:1}.scene-button.active:before{width:100%}.scene-button:hover{opacity:1}.scene-button strong{font-family:var(--mono);font-size:10px;font-weight:400}.scene-button small{font-size:11px;font-family:var(--korean);letter-spacing:-.04em;white-space:nowrap}.dock-bottom{display:flex;justify-content:space-between;align-items:center;color:#7d778c;margin-top:20px;font-size:9px}.dock-arrows{display:flex;gap:10px}.dock-arrows button{background:rgba(10,8,18,.18);border:1px solid rgba(255,255,255,.28);width:36px;height:33px;font-size:17px;transition:background .2s}.dock-arrows button:hover{background:rgba(255,255,255,.17)}.right-aside{position:absolute;right:36px;top:180px;display:flex;align-items:flex-end;flex-direction:column;gap:28px}.coordinate{font-size:9px;color:#898194}.side-vertical{writing-mode:vertical-rl;color:#857c8b;font-family:var(--mono);font-size:9px;letter-spacing:.17em}.bottom-help{position:absolute;bottom:33px;right:clamp(22px,4.7vw,92px);display:flex;align-items:center;gap:40px;color:#8a8495}.bottom-help span{white-space:nowrap}.bottom-help i{display:inline-block;height:5px;width:5px;border-radius:50%;background:#bbf0c9;vertical-align:middle;margin-right:9px}.bottom-help button{border:0;background:none;color:#d3cbda;font-size:11px;padding:5px}.bottom-help button span{font-family:var(--mono);font-size:9px;border:1px solid #797181;border-radius:50%;padding:2px 5px;margin-left:4px}
/* overlays */
.transition-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;pointer-events:none;background:#05040a;opacity:0;visibility:hidden;transition:opacity .42s ease,visibility .42s ease}.transition-overlay.show{opacity:1;visibility:visible}.transition-line{height:1px;width:90px;background:#e1c3ed;box-shadow:0 0 28px #e1c3ed}.transition-overlay span{font-family:var(--mono);font-size:11px;letter-spacing:.26em;color:#ddd5ed}.transition-overlay .transition-count{font-size:9px;color:#797184}.modal-wrap{position:fixed;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(2,2,9,.82);backdrop-filter:blur(26px);cursor:pointer}.modal-panel{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;background:linear-gradient(140deg,rgba(30,23,41,.96),rgba(10,10,20,.98));padding:clamp(25px,4vw,56px);border:1px solid rgba(230,214,255,.24);box-shadow:0 20px 120px rgba(0,0,0,.55)}.modal-close{position:absolute;right:27px;top:22px;background:none;border:0;font-size:30px;color:#aea2b7;font-weight:200}.modal-kicker{color:#c0aed0;font-size:9px}.modal-panel h3{font-family:var(--korean);font-size:clamp(40px,5vw,62px);font-weight:600;letter-spacing:-.07em;line-height:1.28;margin:26px 0 19px}.modal-panel h3 em{font-style:normal;color:#d8b9e7;font-weight:300}.modal-panel p{color:#b8b0c0;font-size:13px;line-height:1.95;word-break:keep-all}.law-panel label{display:block;font:10px var(--mono);letter-spacing:.13em;color:#c5b3d0;margin:32px 0 12px}.law-panel input{width:100%;border:0;border-bottom:1px solid #877c91;background:transparent;padding:12px 0;color:#f5e9f9;font-size:15px;font-family:var(--korean);outline:none}.law-panel input:focus{border-color:#e7c7f9}.law-panel input::placeholder{color:#77717e}.law-presets{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 27px}.law-presets button{background:rgba(220,194,239,.06);border:1px solid rgba(230,214,243,.24);padding:8px 9px;font-size:11px;color:#bdb4c8}.law-presets button:hover{background:rgba(220,194,239,.2)}.law-apply{width:100%}.law-panel small{display:block;color:#807989;font-size:10px;margin-top:15px;line-height:1.8}.help-grid{margin:30px 0;display:grid;gap:0}.help-grid>div{border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:153px 1fr;gap:15px;padding:12px 0;align-items:center}.help-grid kbd{font:10px var(--mono);color:#e5d3f1}.help-grid span{font-size:12px;color:#a79dae;line-height:1.5}.help-close-action{background:none;border:0;border-bottom:1px solid #c0aac8;padding:8px 0;color:#eaddf4}#toast{position:absolute;bottom:108px;left:50%;transform:translate(-50%,15px);background:rgba(16,12,28,.88);backdrop-filter:blur(12px);border:1px solid rgba(240,227,255,.25);padding:11px 18px;color:#e7dbee;font-size:12px;font-family:var(--korean);opacity:0;visibility:hidden;transition:opacity .35s,transform .35s,visibility .35s;pointer-events:none;white-space:nowrap;z-index:12}#toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@keyframes logoSpin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 16px #99ecb9}}@keyframes grainMove{0%{transform:translate(0,0)}25%{transform:translate(-1%,2%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-2%,1%)}}@keyframes glitchFlash{0%{opacity:0}8%{opacity:.65}15%{opacity:.08}23%{opacity:.7}30%{opacity:.14}100%{opacity:0}}@keyframes wheel{to{transform:translateY(5px);opacity:0}}
@media(max-width:1000px){.topbar{height:80px}.intro-screen{padding-top:110px}.intro-core h1{font-size:clamp(76px,12vw,128px)}.chapter-content{width:52vw}.chapter-content h2{font-size:clamp(42px,6vw,64px)}.nav-dock{width:65vw}.bottom-help{gap:12px}.meta-stats{bottom:190px;right:5vw}.right-aside{display:none}}
@media(max-width:680px){.topbar{height:68px;padding:0 20px}.identity{gap:9px;font-size:10px}.identity .logo{width:24px;height:24px}.identity small{font-size:6px}.top-right{gap:12px}.top-status,.vertical-rule,.icon-text span{display:none}.icon-text svg{height:20px;width:20px}.intro-screen{padding:100px 22px 24px}.intro-topline{font-size:8px}.intro-topline-b{display:none}.intro-core{transform:translateY(-8px)}.intro-core h1{font-size:clamp(65px,14.8vw,112px);margin:16px 0 27px}.intro-outline{font-size:29px}.intro-description{font-size:13px;line-height:2}.intro-actions{margin-top:30px;flex-direction:column;align-items:flex-start;gap:16px}.explore-hint{font-size:8px}.intro-footer{font-size:8px}.intro-footer .scroll-indicator{display:none}.expedition{padding:95px 23px 20px}.chapter-content{top:36%;left:23px;transform:translateY(-35%);width:calc(100% - 46px)}.chapter-content h2{font-size:clamp(46px,10vw,68px);margin:12px 0 12px;line-height:1.22}.chapter-content p{font-size:12px;max-width:320px;line-height:1.75}.chapter-actions{margin-top:19px;gap:13px}.outline-btn{min-width:178px;padding:10px;font-size:11px}.minimal-btn{font-size:10px}.chapter-top{font-size:9px}.meta-stats{display:none}.nav-dock{width:calc(100% - 46px);bottom:55px;left:23px}.scene-nav{gap:5px}.scene-button{padding-top:9px;gap:6px}.scene-button strong{font-size:8px}.scene-button small{font-size:10px}.dock-heading{font-size:8px}.dock-bottom{margin-top:10px}.dock-arrows button{width:34px;height:30px}.bottom-help{bottom:17px;right:23px;left:23px;justify-content:space-between;font-size:8px}.bottom-help button{font-size:10px}.modal-wrap{padding:12px}.modal-panel{padding:29px 24px}.modal-panel h3{font-size:43px}.help-grid>div{grid-template-columns:104px 1fr}.help-grid kbd,.help-grid span{font-size:10px}}
@media(max-height:680px) and (min-width:681px){.intro-screen{padding-top:105px;padding-bottom:22px}.intro-core h1{font-size:clamp(72px,7vw,110px);margin:13px 0}.intro-actions{margin-top:17px}.intro-description{line-height:1.7}.chapter-content{top:44%}.chapter-content h2{font-size:clamp(44px,5vw,68px)}.meta-stats{display:none}.nav-dock{bottom:20px}}
@media(max-height:750px) and (max-width:680px){.intro-screen{padding-top:82px}.intro-core h1{font-size:clamp(60px,12vw,86px);margin:10px 0}.intro-actions{margin-top:17px}.intro-footer{display:none}.chapter-content{top:34%}.chapter-content h2{font-size:39px}.chapter-content p{font-size:11px}.chapter-actions{margin-top:12px}.nav-dock{bottom:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.01ms!important}}
