@import url('data:text/css,');
:root{--paper:#f5f3ec;--ink:#212522;--muted:#777971;--line:#d9d9d2;--surface:#faf9f4;--accent:#ad803c;--accent2:#587583;--mono:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;--sans:'Pretendard',system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,.stage:focus-visible{outline:3px solid var(--accent2);outline-offset:3px}.skip{position:absolute;top:-100px;left:15px;z-index:999;padding:12px;background:white}.skip:focus{top:10px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;max-width:1320px;padding:0 38px;margin:auto;border-bottom:1px solid var(--line)}.logotype{font:800 15px var(--mono);letter-spacing:-.4px;text-decoration:none}.topbar nav{display:flex;gap:25px}.topbar nav a{font:11px var(--mono);text-decoration:none;color:#626761}.topbar nav a:hover{color:var(--ink)}.nav-switch,.primary{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:13px 18px;font:700 11px var(--mono);letter-spacing:.3px;transition:transform .15s,background .15s}.nav-switch:hover,.primary:hover{transform:translateY(-2px);background:#3a4549}.hero,.section,.contact-section{max-width:1320px;margin:auto}.hero{min-height:530px;padding:80px 38px 70px;display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}.eyebrow,.index,.tiny,.coordinate,.label{font-family:var(--mono);font-size:11px;letter-spacing:.6px;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:clamp(57px,7.4vw,116px);line-height:.97;letter-spacing:-.075em;font-weight:800;margin:20px 0 23px}h1 .line-2{color:var(--accent2)}.lead{font-size:clamp(18px,2vw,26px);font-weight:620;line-height:1.4;max-width:660px;letter-spacing:-.04em}.sublead{font-size:14px;line-height:1.75;color:#666b66;max-width:650px;margin-top:14px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0}.chip{border:1px solid var(--line);padding:8px 11px;font:10px var(--mono);letter-spacing:.2px}.hero-actions{display:flex;align-items:center;gap:20px}.secondary{text-decoration:none;font:700 11px var(--mono);border-bottom:1px solid var(--ink);padding:10px 0}.tiny{margin-top:22px}.hero-art{height:360px;min-width:0;position:relative;overflow:hidden;border:1px solid #c5c7c0;background:linear-gradient(135deg,#f8f6f0 0%,#e6e7df 55%,#dfe3df 100%)}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 97%,#c8cec5 98%),linear-gradient(0deg,transparent 97%,#c8cec5 98%);background-size:24px 24px;opacity:.27}.coordinate{position:absolute;z-index:2}.top-left{left:20px;top:18px}.bottom-right{right:19px;bottom:19px}.symbol-grid{position:absolute;inset:0;display:flex;justify-content:center;align-items:center}.pixel-symbol{font-size:172px;font-family:var(--mono);line-height:1;color:#586873;text-shadow:10px 10px 0 #b7c2c3;transform:rotate(-6deg)}.symbol-plus{font-size:64px;position:absolute;top:35px;right:47px;color:#ba965d}.symbol-ring{position:absolute;border:2px dashed #8f9c9f;border-radius:100%;width:258px;height:258px;opacity:.45;transform:rotate(15deg)}.section{padding:72px 38px;border-top:1px solid var(--line)}.section-head{margin-bottom:32px}.section-head h2{font-size:clamp(35px,4vw,62px);letter-spacing:-.07em;margin-top:9px}.dot{color:var(--accent)}.section-note{font-size:13px;color:var(--muted);line-height:1.7;margin-top:10px}.direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.direction-grid article{background:#e7e9e5;border:1px solid var(--line);padding:27px;min-height:140px}.direction-grid article+article{background:#e9e3d8}.direction-grid p{font-size:clamp(16px,2.2vw,23px);font-weight:650;letter-spacing:-.035em;line-height:1.4;margin-top:22px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.filter{font:11px var(--mono);padding:8px 12px;border:1px solid var(--line);background:transparent;color:var(--muted)}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.work-card{background:var(--surface);border:1px solid var(--line);padding:0;text-align:left;display:flex;flex-direction:column;min-width:0;transition:transform .2s,border .2s}.work-card:hover{transform:translateY(-4px);border-color:#88918b}.card-art{height:180px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#dfe3df}.card-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 22px,#bec9c5 23px,#bec9c5 24px),repeating-linear-gradient(0deg,transparent 0,transparent 22px,#bec9c5 23px,#bec9c5 24px);opacity:.25}.card-art .monitor{width:60%;height:104px;border:6px solid #54616a;background:#edf0eb;box-shadow:12px 12px 0 #c9d0cd;transform:rotate(-3deg);padding:12px}.monitor .bar{height:10px;background:#b6c0c0;margin-bottom:8px}.monitor .lines{display:grid;gap:6px}.monitor .lines span{height:9px;background:#d1d9d6}.monitor .lines span:nth-child(2){width:65%;background:#b1bfc1}.monitor .lines span:nth-child(3){width:85%}.card-art .art-label{position:absolute;bottom:13px;left:16px;font:9px var(--mono);color:#535e5b;letter-spacing:.5px}.card-art .art-no{position:absolute;top:14px;right:16px;font:700 13px var(--mono)}.work-card:nth-child(4n+2) .card-art{background:#e7dfcf}.work-card:nth-child(4n+3) .card-art{background:#d9e0e4}.work-card:nth-child(4n+4) .card-art{background:#e9e7e1}.card-body{padding:24px}.card-category,.card-meta{font:10px var(--mono);color:var(--muted)}.card-title{font-size:25px;line-height:1.2;font-weight:720;letter-spacing:-.05em;margin:10px 0 12px}.card-desc{font-size:13px;line-height:1.6;color:#6b6e69;min-height:42px}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:20px;gap:6px}.tag-list{display:flex;gap:5px;flex-wrap:wrap}.tag{font:9px var(--mono);border:1px solid var(--line);padding:5px 6px}.card-arrow{font-size:21px}.map-wrap{overflow:hidden}.map-toolbar{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);margin-bottom:12px;color:#6b726f}.map-toolbar>div{display:flex;gap:7px}.mini{border:1px solid var(--ink);background:var(--paper);font:18px var(--mono);width:38px;height:34px}.map-viewport{height:342px;position:relative;overflow-x:auto;overflow-y:hidden;border:1px solid #7c898c;background:#c7d3d2;scrollbar-width:thin;scroll-snap-type:x proximity}.map-viewport:focus-visible{outline-offset:2px}.map-sky{position:absolute;inset:0;width:1600px;height:260px;background:linear-gradient(#c9d8d9,#d6dfda);pointer-events:none}.map-cloud{position:absolute;width:130px;height:27px;top:62px;background:rgba(251,252,243,.8);box-shadow:31px -14px 0 4px rgba(251,252,243,.8),64px 7px 0 1px rgba(251,252,243,.8)}.cloud-one{left:140px}.cloud-two{left:790px;top:80px;transform:scale(.7)}.map-hills{position:absolute;bottom:0;width:100%;height:130px;background:linear-gradient(146deg,transparent 32%,#a1b7b3 32% 62%,transparent 62%),linear-gradient(25deg,transparent 22%,#aabcb6 22% 70%,transparent 70%);opacity:.4}.map-ground{position:absolute;left:0;bottom:0;min-width:1600px;width:100%;height:75px;background:repeating-linear-gradient(90deg,#58615e 0 24px,#646e6a 24px 48px);border-top:12px solid #899b8c;pointer-events:none}.map-track{width:max-content;min-width:100%;height:100%;display:flex;align-items:end;gap:12px;padding:0 64px 80px;position:relative;z-index:1}.stage{flex:none;width:185px;display:flex;flex-direction:column;gap:11px;align-items:center;justify-content:end;border:0;background:transparent;position:relative;text-align:center;scroll-snap-align:center;padding:0 0 6px}.stage:hover .stage-object,.stage[aria-current=true] .stage-object{transform:translateY(-7px)}.stage-object{width:106px;height:105px;position:relative;display:grid;place-items:center;transition:transform .2s;border:7px solid #4a5555;background:#e9e8dd;box-shadow:8px 8px 0 #86928d}.stage-object:before{content:'';position:absolute;inset:6px;border:3px dashed #b5c0b9}.stage-object .glyph{font:700 53px var(--mono);color:#495b65;position:relative;line-height:1}.stage[aria-current=true] .stage-object{background:#f0d6a6;border-color:#3c5057}.stage-no{font:10px var(--mono);color:#394a4a;background:#e9eee8;padding:5px 8px;border:1px solid #8caaa5;z-index:1}.stage-label{font:700 12px var(--mono);max-width:170px;color:#263b3d;background:rgba(247,248,242,.84);padding:7px 8px}.map-caption{display:flex;justify-content:space-between;align-items:center;padding:13px 5px;font:10px var(--mono);color:#7b817a}.map-caption strong{color:#303935}.map-summary{background:var(--surface);border:1px solid var(--line);min-height:124px;padding:21px;display:flex;justify-content:space-between;gap:20px;align-items:center}.map-summary h3{font-size:20px;margin:6px 0}.map-summary p{color:var(--muted);font-size:13px;line-height:1.6}.map-summary .primary{white-space:nowrap}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.principles article{padding:24px;border:1px solid var(--line);min-height:170px}.principles b{font:13px var(--mono);color:var(--accent)}.principles h3{font-size:20px;letter-spacing:-.04em;margin:25px 0 9px}.principles p{font-size:12px;color:var(--muted);line-height:1.65}.contact-section{padding:85px 38px 88px;background:#242e32;color:#f7f5ee;max-width:none}.contact-section>*{max-width:1244px;margin-left:auto;margin-right:auto}.contact-section h2{font-size:clamp(44px,7vw,92px);line-height:1.05;letter-spacing:-.075em;margin-top:17px;margin-bottom:22px}.contact-section p{color:#c4c9c8;font-size:14px;line-height:1.65}.contact-actions{display:flex;gap:10px;margin-top:22px}.contact-actions a,.contact-actions span{padding:12px 16px;border:1px solid #c6d0ce;color:#f5f4ec;text-decoration:none;font:11px var(--mono)}.footer-note{font:10px var(--mono)!important;margin-top:55px;opacity:.7}.footer{max-width:1320px;min-height:65px;padding:18px 38px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px var(--mono);color:var(--muted)}.footer a{text-decoration:none}.dialog{width:min(750px,calc(100% - 28px));max-height:90vh;overflow:auto;border:1px solid #6b736f;background:var(--paper);color:var(--ink);padding:28px;box-shadow:0 22px 60px #0004}.dialog::backdrop{background:#151a1acc;backdrop-filter:blur(3px)}.dialog form{display:flex;justify-content:end}.close-dialog{width:36px;height:36px;background:transparent;border:1px solid var(--line)}.modal-index{font:10px var(--mono);color:var(--muted)}.modal-title{font-size:clamp(28px,5vw,51px);letter-spacing:-.06em;line-height:1.08;margin:17px 0}.modal-lead{font-size:16px;font-weight:600;line-height:1.6;margin-bottom:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.detail-block{border:1px solid var(--line);background:var(--surface);padding:18px}.detail-block.full{grid-column:1/-1}.detail-block h4{font:700 10px var(--mono);color:var(--muted);margin:0 0 12px}.detail-block p{font-size:13px;line-height:1.7}.architecture{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.arch-node{padding:10px 12px;border:1px solid #aeb9b3;font:11px var(--mono);background:#e5eae6}.arch-arrow{font:17px var(--mono);color:#9a9f97}.modal-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.modal-project-list button{padding:11px;border:1px solid var(--line);background:#f2f1e9;text-align:left;font:11px var(--mono)}.evidence{margin-top:15px;font-size:11px;color:var(--muted);line-height:1.7}.real-link{display:inline-block;margin-top:18px;font:700 12px var(--mono);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.map-viewport::-webkit-scrollbar{height:9px}.map-viewport::-webkit-scrollbar-thumb{background:#87928d}.map-viewport::-webkit-scrollbar-track{background:#d4dbd6}
@media(max-width:900px){.topbar{padding:0 22px;gap:10px}.topbar nav{gap:12px}.hero{grid-template-columns:1fr;padding:55px 22px}.hero-art{height:240px}.section{padding:60px 22px}.contact-section{padding:65px 22px}.footer{padding:20px 22px}}@media(max-width:630px){.topbar{min-height:60px;padding:0 14px}.topbar nav a:nth-child(2),.topbar nav a:nth-child(3){display:none}.topbar nav{gap:12px}.topbar nav a{font-size:9px}.nav-switch{font-size:9px;padding:11px 9px}.logotype{font-size:11px}.hero{padding:51px 18px;gap:29px;min-height:auto}.hero-art{height:190px}.pixel-symbol{font-size:130px}.symbol-ring{width:170px;height:170px}.section{padding:50px 18px}.direction-grid,.work-grid,.principles{grid-template-columns:1fr}.work-card .card-art{height:155px}.card-desc{min-height:0}.map-summary{flex-direction:column;align-items:start}.map-summary .primary{width:100%}.contact-section{padding:65px 18px}.footer{padding:18px;flex-wrap:wrap}.detail-grid{grid-template-columns:1fr}.detail-block.full{grid-column:auto}.dialog{padding:16px}.modal-project-list{grid-template-columns:1fr}.hero-actions{gap:12px}.hero-actions .primary{padding:12px}.secondary{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Original 2D avatar + compact boss encounter, not copied from the reference. */
.stage[aria-current=true]:after{content:'';position:absolute;bottom:-54px;left:calc(50% - 13px);width:26px;height:27px;background:#293d43;box-shadow:0 -9px 0 -4px #293d43,8px 0 0 -3px #293d43,-8px 0 0 -3px #293d43,0 8px 0 -4px #374f55;outline:3px solid #f3ead6;z-index:5}.boss-encounter{border:1px solid var(--line);padding:15px;background:#e9ece7;margin-bottom:16px}.boss-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.boss-action{font:10px var(--mono);padding:9px 10px;background:var(--paper);border:1px solid #9ba8a1}.boss-action[aria-pressed=true]{background:#283c43;color:#fff}.boss-hp{height:8px;border:1px solid #66706d;background:#dce2dc;margin-bottom:12px}.boss-hp span{display:block;background:var(--accent);height:100%;transition:width .22s ease}.boss-phase-copy{font-size:13px;line-height:1.65;min-height:45px}.boss-phase-label{font:10px var(--mono);color:var(--muted);margin-bottom:5px}
