/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Gowun+Dodum&display=swap";@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}}:root{--bg:#0d1725;--bg2:#141c2a;--surface:#1a283b;--surface2:#25324a;--gold:#dcc28a;--ivory:#f7f4ec;--muted:#c9d1dd;--line:#42536d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ivory);margin:0;font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.skip-link{z-index:200;background:var(--gold);color:#111d2c;padding:8px 14px;font-weight:700;position:absolute;top:-55px;left:10px}.skip-link:focus{top:10px}::selection{background:var(--gold);color:var(--bg)}.shell{width:min(100% - 56px,1220px);margin-inline:auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#08111ef0;border-bottom:1px solid #dcc28a38;height:72px;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.brand{white-space:nowrap;letter-spacing:-.04em;align-items:center;gap:11px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:700;display:inline-flex}.brand-mark{color:var(--gold);text-shadow:0 0 17px #dcc28a8c;font-size:28px;line-height:1}.desktop-nav{align-items:center;gap:31px;height:100%;display:flex}.desktop-nav a{color:#e1e3e8;font-size:13px;font-weight:700;transition:color .2s;position:relative}.desktop-nav a.active,.desktop-nav a:hover{color:var(--gold)}.desktop-nav a.active:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:-27px;left:0;right:0}.desktop-nav a:last-child{border:1px solid var(--gold);color:var(--ivory);border-radius:4px;padding:9px 23px}.menu-button{color:var(--ivory);background:0 0;border:0;padding:7px;display:none}.mobile-nav{display:none}.site-footer{color:var(--muted);background:#0a1421;border-top:1px solid #dcc28a2b;padding:42px 0}.footer-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-brand{color:var(--gold);font-family:Georgia,serif;font-size:20px;font-weight:700}.site-footer p{margin:6px 0 0;font-size:13px}.footer-links{gap:25px;font-size:13px;display:flex}.eyebrow,.footer-links a:hover{color:var(--gold)}.eyebrow{letter-spacing:.22em;align-items:center;gap:9px;font-size:11px;font-weight:800;display:inline-flex}.eyebrow-line{background:var(--gold);width:26px;height:1px;display:inline-block}.hero{background:#0a1422;height:calc(100svh - 72px);min-height:min(730px,100svh - 72px);max-height:870px;position:relative;overflow:hidden}.hero-background{background-image:url(/images/hero-workshop.webp);background-position:50%;background-size:cover;position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,#060e1985,#060e191a 50%,#060e190d),linear-gradient(#0000 72%,#070f1b80);position:absolute;inset:0}.hero-inner{align-items:center;height:100%;display:flex;position:relative}.hero-copy{z-index:3;max-width:465px;margin-top:-25px;position:relative}.hero-copy h1,.hero-copy>p{animation:rise-in .7s ease-out both}.hero h1{letter-spacing:-.075em;text-shadow:0 3px 20px #0007;margin:20px 0 23px;font-family:Georgia,Noto Serif KR,serif;font-size:clamp(46px,5.5vw,80px);font-weight:700;line-height:1.22}.hero h1 em,.section-heading em{color:var(--gold);font-style:normal}.hero-copy>p{color:#f0f0ed;text-shadow:0 2px 12px #000;max-width:380px;font-size:17px;line-height:1.85}.hero-actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:35px;display:flex}.gold-button{color:#1b2130;background:linear-gradient(#f9e8bf,#d9b878);border:1px solid #f6dfa8;border-radius:4px;justify-content:center;align-items:center;gap:13px;min-height:47px;padding:11px 20px;font-weight:800;transition:transform .2s,filter .2s;display:inline-flex;box-shadow:inset 0 0 0 3px #76572d33,0 6px #5d4729,0 11px 25px #0008}.gold-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.text-link{border-bottom:1px solid var(--gold);align-items:center;gap:8px;padding-bottom:4px;font-size:13px;font-weight:800;display:inline-flex}.text-link:hover{color:var(--gold)}.hero-npc{z-index:2;aspect-ratio:1;filter:drop-shadow(0 12px 18px #0009);cursor:pointer;background:0 0;border:0;width:min(35vw,360px);padding:0;position:absolute;bottom:7%;left:47%}.hero-npc:focus-visible{outline:0}.hero-npc:focus-visible:after{content:"ENTER · 대화하기";border:2px solid var(--gold);color:var(--ivory);white-space:nowrap;background:#102139;padding:4px 9px;font-size:10px;font-weight:800;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-npc-frame{image-rendering:pixelated;background-image:url(/images/hero-wizard-idle-loop.webp);background-position:0;background-repeat:no-repeat;background-size:2200% 100%;animation:npc-idle 3.6s steps(21) infinite;position:absolute;inset:0}.hero-npc:focus-visible .hero-npc-frame,.hero-npc:hover .hero-npc-frame{background-image:url(/images/hero-wizard-gestures.webp);background-position:50%;background-size:300% 100%;animation:none}.hero:has(.hero-actions .gold-button:focus-visible) .hero-npc-frame,.hero:has(.hero-actions .gold-button:hover) .hero-npc-frame{background-image:url(/images/hero-wizard-gestures.webp);background-position:100%;background-size:300% 100%;animation:none}@keyframes npc-idle{to{background-position:100%}}@keyframes rise-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.hero-route-card{z-index:4;background:#09111ed1;border:1px solid #806e54;width:194px;padding:11px;position:absolute;top:50%;right:0;transform:translateY(-42%);box-shadow:0 12px 28px #0008}.route-card-title{color:var(--gold);letter-spacing:.2em;margin:4px 8px 10px;font-size:9px;display:block}.hero-route-card a{background:linear-gradient(120deg,#2d3445,#1a2638);border:1px solid #4b4b52;margin-bottom:6px;padding:10px 11px;font-family:Georgia,serif;font-size:13px;transition:background .2s;display:block}.hero-route-card a:hover{background:#3d4a5b}.hero-route-card a span{color:var(--muted);font-family:Arial,sans-serif;font-size:10px;display:block}.scroll-hint{z-index:5;text-align:center;letter-spacing:.2em;text-shadow:0 2px 4px #000;font-size:10px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scroll-hint span{font-size:22px;line-height:1;display:block}.visitor-badge{z-index:5;color:#e8d8b6;white-space:nowrap;background:#101c2bc9;border:1px solid #927b5c;align-items:center;gap:9px;padding:10px 12px;display:flex;position:absolute;bottom:25px;left:0;box-shadow:0 6px 18px #0006}@media (max-width:760px){.visitor-badge{gap:6px;padding:8px 10px;font-size:10px;bottom:19px;left:0}.visitor-badge strong{font-size:10px}}.section-pad{padding-top:108px;padding-bottom:108px}.home-intro{grid-template-columns:1fr 1fr;align-items:center;gap:90px;display:grid}.home-cta h2,.section-heading h2,.section-title-row h2{letter-spacing:-.055em;margin:14px 0 0;font-family:Georgia,Noto Serif KR,serif;font-size:clamp(31px,3vw,47px);line-height:1.35}.intro-content p{color:var(--muted);margin:0 0 29px;font-size:16px;line-height:2}.outlined-link{border:1px solid var(--gold);color:var(--gold);border-radius:3px;align-items:center;gap:15px;padding:11px 18px;font-size:13px;font-weight:700;display:inline-flex}.outlined-link:hover{background:#dcc28a1a}.home-paths{background:radial-gradient(circle at 85% 0,#1d304c 0,#0000 34%),#101c2c;border-block:1px solid #2b3d57}.section-title-row{justify-content:space-between;align-items:end;margin-bottom:36px;display:flex}.tiny-stars{color:var(--gold);letter-spacing:12px}.path-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.path-card{background:linear-gradient(150deg,#24354a,#172337 70%);border:1px solid #45536b;flex-direction:column;min-height:300px;padding:30px;transition:transform .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.path-card:hover{border-color:var(--gold);transform:translateY(-5px)}.path-card:before{content:"";border:1px solid #b3a47e22;width:150px;height:150px;position:absolute;bottom:-65px;right:-45px;transform:rotate(45deg)}.path-card svg{color:var(--gold);margin-bottom:24px}.path-card>span{color:var(--gold);letter-spacing:.2em;font-size:10px;font-weight:800}.path-card h3{margin:4px 0 8px;font-family:Georgia,serif;font-size:24px}.path-card p{color:var(--muted);margin:0 0 24px;font-size:14px}.path-card b{color:var(--gold);margin-top:auto;font-size:12px}.home-cta{text-align:center}.cta-panel{border:1px solid var(--line);background:linear-gradient(#15243ad9,#15243ae8),url(/images/hero-workshop.webp) 50% 48%/cover;padding:70px 20px;box-shadow:inset 0 0 0 6px #0d1725,inset 0 0 0 7px #6f6b61}.cta-panel p{color:var(--muted);margin:10px 0 26px}.interior-page{background:radial-gradient(circle at 78% 2%,#203856 0,#0000 29%),linear-gradient(#0d1c2d,#0b1726 450px);min-height:calc(100svh - 72px)}.page-content{padding-top:80px;padding-bottom:115px}.page-heading{border-bottom:1px solid #3c4b60;max-width:900px;margin-bottom:37px;padding-bottom:45px}.detail-hero h1,.page-heading h1{letter-spacing:-.06em;margin:17px 0 16px;font-family:Georgia,Noto Serif KR,serif;font-size:clamp(36px,4.1vw,59px);line-height:1.32}.detail-hero p,.page-heading p{color:var(--muted);margin:0;font-size:16px;line-height:1.8}.rpg-panel{background:linear-gradient(140deg,#15263b,#0e1b2b);border:1px solid #536074;border-radius:4px;box-shadow:inset 0 0 0 5px #0e1b2b,inset 0 0 0 6px #34475d,0 18px 35px #0003}.about-grid{grid-template-columns:.88fr 1.12fr;gap:25px;display:grid}.portrait-panel{background:linear-gradient(#19365a66,#0e1b2d),url(/images/hero-workshop.webp) 70%/cover;border:1px solid #5c5e66;justify-content:center;align-items:end;min-height:405px;display:flex;position:relative;overflow:hidden}.portrait-panel img{z-index:1;filter:drop-shadow(0 10px 14px #0007);width:min(95%,380px);height:auto;position:relative}.portrait-panel>span{color:var(--gold);letter-spacing:.2em;z-index:2;font-size:10px;position:absolute;bottom:14px;left:20px}.profile-panel{padding:27px 32px}.panel-top{color:var(--gold);letter-spacing:.16em;border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:22px;font-size:10px;display:flex}.profile-row{border-bottom:1px solid #34445a;grid-template-columns:100px 1fr;gap:10px;padding:15px 0;display:grid}.profile-row span{color:#91a3b6;letter-spacing:.1em;font-size:11px}.profile-row strong{font-size:14px;font-weight:500}.profile-quote{color:var(--gold);background:#202b38;border:1px solid #6b5d4c;align-items:flex-start;gap:13px;margin:27px 0 20px;padding:17px 18px;display:flex}.profile-quote p{color:var(--ivory);margin:0;font-size:14px}.profile-actions{gap:18px;font-size:13px;display:flex}.profile-actions a{color:var(--gold);align-items:center;gap:4px;display:inline-flex}.philosophy-grid{grid-template-columns:.9fr 1.1fr;gap:50px;margin-top:87px;display:grid}.contact-copy h2,.philosophy-grid h2{margin:10px 0;font-family:Georgia,serif;font-size:34px;line-height:1.4}.philosophy-grid p{color:var(--muted);margin:0 0 14px;font-size:15px;line-height:1.95}.filter-strip{gap:8px;margin-bottom:27px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-strip span{color:var(--muted);background:#142236;border:1px solid #42516a;border-radius:4px;flex:none;padding:8px 17px;font-size:12px;display:inline-block}.filter-strip .filter-active{background:var(--gold);color:#1c2635;border-color:var(--gold);font-weight:800}.filter-strip button{color:var(--muted);background:#142236;border:1px solid #42516a;border-radius:4px;flex:none;padding:8px 17px;font-size:12px;display:inline-block}.filter-strip button:hover{border-color:var(--gold)}.filter-strip button.filter-active{background:var(--gold);color:#1c2635;border-color:var(--gold);font-weight:800}.project-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.project-card{background:#101e31;border:1px solid #4b5870;transition:transform .2s,border-color .2s;display:block;overflow:hidden}.project-card:hover{border-color:var(--gold);transform:translateY(-4px)}.project-art{background:linear-gradient(#0000 45%,#0d17256b),url(/images/castle-town.webp) 50% 49%/cover;height:190px}.accent-shield .project-art{background-image:linear-gradient(#0000 45%,#0d17256b),url(/images/magic-workshop.webp);background-position:50%,54% 49%}.accent-book .project-art{background-image:linear-gradient(#0000 45%,#0d17256b),url(/images/hero-workshop.webp);background-position:50%,70%}.accent-portal .project-art{background-image:linear-gradient(#0000 45%,#0d17256b),url(/images/magic-workshop.webp);background-position:50%,87% 45%}.accent-keyoff .project-art{background-image:url(/images/keyoff-lab-home.webp);background-position:50% 42%;background-size:cover}.project-card-body{padding:23px}.card-meta{color:var(--gold);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;font-size:10px;display:flex}.card-meta span:last-child{color:#9fadc0;letter-spacing:0}.project-card h3{margin:10px 0 5px;font-family:Georgia,serif;font-size:23px}.project-card p{color:var(--muted);margin:0 0 21px;font-size:14px}.card-link{color:var(--gold);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.content-note{color:#94a5b8;margin-top:26px;font-size:12px}.back-link{color:var(--gold);align-items:center;gap:8px;margin-bottom:35px;font-size:13px;display:inline-flex}.detail-hero{border-bottom:1px solid var(--line);margin-bottom:35px;padding-bottom:42px}.detail-hero h1{margin-bottom:7px}.draft-badge{color:var(--gold);background:#2a2d35;border:1px solid #846d4d;margin-top:23px;padding:4px 10px;font-size:11px;display:inline-block}.detail-layout{grid-template-columns:190px 1fr;gap:26px;display:grid}.detail-nav{border:1px solid var(--line);background:#102033;flex-direction:column;align-self:start;padding:10px;display:flex}.detail-nav span{color:#afbbcb;border-bottom:1px solid #2b3a50;padding:11px 12px;font-size:11px}.detail-nav span:first-child{color:var(--gold)}.detail-nav span:last-child{border:0}.project-site-link{margin-top:24px}.project-screenshot{border:1px solid #4b5870;width:100%;height:auto;display:block;box-shadow:0 16px 40px #0005}.project-facts{grid-template-columns:1fr 1fr;gap:18px;margin-top:25px;display:grid}.project-facts section{padding:26px}.project-facts h2{margin:12px 0 8px;font-size:21px}.project-facts p{color:var(--muted);margin:0;line-height:1.8}@media (max-width:760px){.project-facts{grid-template-columns:1fr}}.waiting-panel{text-align:center;color:var(--gold);flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:76px 32px;display:flex}.waiting-panel h2{color:var(--ivory);margin:15px 0 7px;font-family:Georgia,serif;font-size:26px}.waiting-panel p{color:var(--muted);max-width:470px;margin:0;font-size:14px;line-height:1.8}.skills-layout{grid-template-columns:195px 1fr;gap:24px;display:grid}.category-rail{border:1px solid var(--line);background:#102033;flex-direction:column;align-self:start;padding:8px;display:flex}.category-rail span{color:#bbcadb;border-bottom:1px solid #2a3c53;padding:11px 14px;font-size:13px}.category-rail span:last-child{border:0}.skills-panel{min-height:330px}.skills-panel section{padding:28px}.skills-panel section h2{color:var(--gold);font-size:18px}.skill-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.skill-card{border:1px solid var(--line);background:#142338;padding:18px}.skill-card strong{display:block}.skill-card span{color:var(--gold);font-size:11px}.skill-card p{color:var(--muted);font-size:13px}.skill-card a{color:var(--gold);align-items:center;gap:5px;font-size:12px;display:inline-flex}@media (max-width:760px){.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.log-waiting{margin-top:25px}.log-list{gap:14px;display:grid}.log-list article{border:1px solid var(--line);background:#142236;padding:23px}.log-list article span{color:var(--gold);font-size:11px}.log-list h2{margin:6px 0;font-size:20px}.log-list p{color:var(--muted);margin:0}.log-list article{padding:0}.log-list a{color:inherit;padding:23px;text-decoration:none;display:block}.log-list a:focus-visible,.log-list a:hover{background:#1b3049}.log-article{max-width:820px}.log-article h1{margin:18px 0;font-size:clamp(36px,5vw,56px);line-height:1.15}.log-summary{color:var(--muted);font-size:17px;line-height:1.8}.log-body{border-top:1px solid var(--line);margin-top:48px;padding-top:34px;font-size:16px;line-height:1.9}.log-body h2{color:var(--cream);margin:44px 0 14px;font-size:27px;line-height:1.35}.log-body h3{color:var(--cream);margin:32px 0 10px;font-size:21px}.log-body li,.log-body p{color:var(--muted)}.log-body a{color:var(--gold);text-underline-offset:3px}.log-body pre{border:1px solid var(--line);background:#0b1829;border-radius:8px;padding:20px;line-height:1.55;overflow:auto}.log-body code{font-size:.88em}.log-body img{max-width:100%;height:auto}.contact-layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:60px;padding-top:23px;display:grid}.contact-copy h2{font-size:38px}.contact-copy p{color:var(--muted);max-width:300px;font-size:15px;line-height:1.9}.contact-list{gap:11px;display:grid}.contact-item{background:linear-gradient(120deg,#1a2a3c,#152238);border:1px solid #4c5b70;align-items:center;gap:21px;min-height:79px;padding:14px 20px;transition:border-color .2s;display:flex}a.contact-item:hover{border-color:var(--gold)}.contact-item>svg:first-child{color:var(--gold);flex:none}.contact-item>div{flex:1;min-width:0}.contact-item span{color:var(--gold);letter-spacing:.18em;font-size:10px;font-weight:700;display:block}.contact-item a,.contact-item strong{overflow-wrap:anywhere;font-size:15px;font-weight:500}.contact-item>a:hover{text-decoration:underline}.contact-item>svg:last-child{color:#b7c6d3}.copy-button{color:#c3d1df;background:0 0;border:0;padding:5px;line-height:0}.copy-button:hover{color:var(--gold)}.copy-control{align-items:center;gap:5px;display:flex}.copy-status{color:var(--gold);white-space:nowrap;font-size:10px}.not-found{flex-direction:column;justify-content:center;align-items:start;min-height:calc(100svh - 160px);display:flex}.not-found h1{margin:15px 0 0;font-family:Georgia,serif;font-size:47px}.not-found p{color:var(--muted);margin:10px 0 30px}.dialogue-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020813bd;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.dialogue-panel{background:linear-gradient(#0e1d31,#0b182a);border:1px solid #6e7d88;width:min(100%,470px);max-height:calc(100svh - 36px);padding:18px;overflow-y:auto;box-shadow:inset 0 0 0 5px #0a1728,inset 0 0 0 6px #4b5b6a,0 22px 70px #000b}.dialogue-topline{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.dialogue-topline .brand{font-size:16px}.icon-button{color:var(--ivory);background:#17283e;border:1px solid #708096;place-items:center;width:32px;height:32px;display:grid}.dialogue-intro{border-bottom:1px solid #69788b;align-items:end;gap:0;padding-bottom:17px;display:flex}.dialogue-avatar{object-fit:contain;object-position:bottom;flex:none;width:100px;height:102px}.speech-box{color:#172334;background:#f2ead8;border:3px solid #bba989;flex:1;min-height:80px;margin-bottom:7px;padding:15px;font-size:15px;font-weight:700;line-height:1.55;box-shadow:3px 4px #07111f}.dialogue-options{gap:8px;margin-top:18px;display:grid}.dialogue-option{width:100%;min-height:54px;color:var(--ivory);text-align:left;background:linear-gradient(#24364a,#14243a);border:1px solid #71849a;align-items:center;gap:12px;padding:10px 15px;font-size:14px;font-weight:700;display:flex}.dialogue-option:hover{border-color:var(--gold);background:#2b4057}.dialogue-option>span:first-child{color:var(--gold);font-size:13px}.dialogue-option>span:last-child{color:var(--gold);margin-left:auto;font-size:21px}.dialogue-actions{justify-content:space-between;margin-top:16px;display:flex}.dialogue-actions button{color:#aebbc9;background:0 0;border:0;align-items:center;gap:5px;font-size:12px;display:inline-flex}.dialogue-actions button:hover{color:var(--gold)}.ai-dialogue-panel{width:min(100%,560px);padding:22px}.ai-dialogue-intro{border-bottom:1px solid #52647a;align-items:center;gap:18px;padding:3px 3px 19px;display:flex}.ai-dialogue-intro .dialogue-avatar{width:76px;height:82px}.ai-dialogue-eyebrow{color:var(--gold);letter-spacing:.15em;align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.ai-dialogue-intro h2{margin:5px 0;font-family:Georgia,Noto Serif KR,serif;font-size:23px;line-height:1.3}.ai-dialogue-intro p{color:var(--muted);margin:0;font-size:12px}.ai-chat-messages{scrollbar-color:#617088 transparent;flex-direction:column;gap:11px;min-height:188px;max-height:min(36vh,330px);padding:20px 5px 13px;display:flex;overflow-y:auto}.ai-message{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #68798d;max-width:88%;padding:11px 14px;font-size:13px;line-height:1.65}.ai-message.npc{color:var(--ivory);background:#21334b;border-radius:2px 12px 12px;align-self:flex-start}.ai-message.visitor{color:#162135;background:#dfc891;border-color:#e9d8a8;border-radius:12px 2px 12px 12px;align-self:flex-end}.ai-message.notice{color:#f3dfb2;background:#332c27;border-color:#9c8460;align-self:center;max-width:100%}.ai-typing{letter-spacing:3px;font-size:23px;line-height:10px}.ai-suggestions{flex-wrap:wrap;gap:7px;padding:6px 0 11px;display:flex}.ai-suggestions button{color:#e8dbc0;text-align:left;background:#1c3047;border:1px solid #7a6c57;border-radius:30px;padding:7px 10px;font-size:11px}.ai-suggestions button:hover{border-color:var(--gold);background:#2c4058}.ai-chat-links{color:var(--gold);border-top:1px solid #354961;flex-wrap:wrap;gap:15px;padding:11px 2px;font-size:11px;font-weight:700;display:flex}.ai-chat-links a:hover{text-decoration:underline}.ai-chat-form{background:#f2ead8;border:1px solid #7d8ba0;align-items:end;gap:8px;padding:8px;display:flex}.ai-chat-form textarea{resize:none;color:#18243a;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px;line-height:1.5}.ai-chat-form textarea::placeholder{color:#526070}.ai-chat-form textarea:disabled{cursor:not-allowed}.ai-chat-form button{width:38px;height:38px;color:var(--gold);background:#1c3049;border:0;flex:none;place-items:center;display:grid}.ai-chat-form button:disabled{opacity:.45;cursor:not-allowed}.ai-chat-footnote{color:#aebdcb;margin:8px 1px 0;font-size:10px}body:has(.dialogue-backdrop) .scroll-hint{visibility:hidden}@media (max-width:1000px){.desktop-nav{gap:18px}.hero-route-card{display:none}.hero-npc{width:min(45vw,420px);left:50%}.hero-copy{max-width:420px}.hero h1{font-size:58px}}@media (max-width:760px){.shell{width:min(100% - 34px,640px)}.site-header{height:62px}.brand{font-size:16px}.brand-mark{font-size:23px}.desktop-nav{display:none}.menu-button{place-items:center;display:grid}.mobile-nav{border-bottom:1px solid var(--gold);background:#0e1d2f;padding:11px 17px 18px;display:grid;position:absolute;top:62px;left:0;right:0;box-shadow:0 14px 25px #0008}.mobile-nav a{border-bottom:1px solid #33445a;padding:12px 14px;font-size:14px}.mobile-nav a:last-child{color:var(--gold);border:0}.hero{height:auto;min-height:770px;max-height:none}.hero-background{background-position:64%}.hero-shade{background:linear-gradient(#0815238a,#08152365 42%,#08152320 72%,#08152399)}.hero-inner{align-items:start;min-height:770px}.hero-copy{max-width:360px;margin:0;padding-top:61px}.hero h1{margin:16px 0 15px;font-size:clamp(42px,11vw,59px)}.hero-copy>p{max-width:325px;font-size:15px;line-height:1.75}.hero-actions{margin-top:23px}.hero-npc{width:min(72vw,370px);bottom:75px;left:auto;right:0}.scroll-hint{bottom:22px}.section-pad{padding-top:72px;padding-bottom:72px}.contact-layout,.home-intro,.philosophy-grid{grid-template-columns:1fr;gap:28px}.section-heading h2,.section-title-row h2{font-size:34px}.path-grid{grid-template-columns:1fr;gap:12px}.path-card{min-height:225px;padding:25px}.path-card svg{margin-bottom:14px}.section-title-row{margin-bottom:23px}.tiny-stars{display:none}.page-content{padding-top:55px;padding-bottom:75px}.page-heading{margin-bottom:27px;padding-bottom:31px}.detail-hero h1,.page-heading h1{font-size:38px}.page-heading p{font-size:14px}.about-grid,.detail-layout,.project-grid,.skills-layout{grid-template-columns:1fr}.portrait-panel{min-height:330px}.portrait-panel img{width:min(83%,300px)}.profile-panel{padding:24px}.category-rail{flex-direction:row;gap:0;overflow-x:auto}.category-rail span{border-bottom:0;border-right:1px solid #2a3c53;flex:none;font-size:12px}.detail-nav{display:none}.contact-copy h2{font-size:31px}.contact-layout{padding-top:0}.footer-inner{flex-direction:column;align-items:start}.footer-links{flex-wrap:wrap}.dialogue-panel{padding:15px}}@media (max-width:430px){.hero,.hero-inner{min-height:700px}.hero-copy{padding-top:47px}.hero h1{font-size:43px}.hero-npc{width:75vw;bottom:63px;right:-17px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:12px}.gold-button{font-size:13px}.page-heading h1{font-size:33px}.contact-item{gap:14px;padding:12px}.contact-item a,.contact-item strong{font-size:13px}.dialogue-avatar{width:78px;height:88px}.speech-box{min-height:73px;padding:10px}.dialogue-option,.speech-box{font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:1000px){.hero-npc{width:min(39vw,320px);left:51%}}@media (max-width:760px){.hero-npc{width:min(43vw,280px);bottom:63px;left:auto;right:15px}}@media (max-width:430px){.hero-npc{width:58vw;bottom:57px;right:0}}@media (prefers-reduced-motion:reduce){.hero-npc-frame{background-image:url(/images/hero-wizard-gestures.webp);background-position:0;background-size:300% 100%;animation:none}}:root{--paper:#f4e8cc;--ink:#342d29;--wood:#70472a;--serif:"Gowun Batang","AppleMyungjo",serif;--sans:"Gowun Dodum","Apple SD Gothic Neo",sans-serif}body{font-family:var(--sans)}.ai-dialogue-intro h2,.brand,.contact-copy h2,.detail-hero h1,.footer-brand,.log-article h1,.page-heading h1,.philosophy-grid h2,.project-card h3,.waiting-panel h2{font-family:var(--serif)}.site-header{background:#0c1a29e8;height:68px}.header-inner{gap:20px}.brand{letter-spacing:.015em;font-size:17px}.desktop-nav{gap:20px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:600}.desktop-nav a.active:after{bottom:-25px}.desktop-nav a:last-child{color:#e1e3e8;border:0;border-radius:0;padding:0}.desktop-nav a:last-child.active:after{display:block}.visitor-badge{box-shadow:none;background:#234;border:1px solid #8f795a;border-radius:2px;flex:none;gap:7px;padding:7px 10px;font-size:11px;position:static}.visitor-badge svg{color:#ead39c}.visitor-badge strong{color:#f8eac6;font-size:12px}.visitor-label-short{display:none}.board-world{background:linear-gradient(#0b1721b8,#0b1721ea),url(/images/hero-workshop.webp) 50% 45%/cover fixed;min-height:calc(100svh - 68px);padding:38px 0 64px}.noticeboard-wrap{max-width:1160px}.board-topline{color:#d8c699;font:700 10px var(--sans);letter-spacing:.18em;justify-content:space-between;margin:0 7px 13px;display:flex}.noticeboard{background:repeating-linear-gradient(0deg,#654126,#754d2e 5px,#654026 11px,#5e3a23 15px);border:12px solid #5c391f;padding:31px 34px 25px;position:relative;box-shadow:inset 0 0 0 3px #a47745,inset 0 0 26px #28160e,0 22px 58px #000a,0 0 0 2px #25180f}.noticeboard:before{content:"";border:1px solid #c0915b6e;inset:15px}.board-corner,.noticeboard:before{pointer-events:none;position:absolute}.board-corner{z-index:2;border:3px solid #c3975b;width:30px;height:30px}.board-corner-tl{border-bottom:0;border-right:0;top:-9px;left:-9px}.board-corner-tr{border-bottom:0;border-left:0;top:-9px;right:-9px}.board-corner-bl{border-top:0;border-right:0;bottom:-9px;left:-9px}.board-corner-br{border-top:0;border-left:0;bottom:-9px;right:-9px}.board-lead{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:stretch;gap:24px;min-height:390px;display:grid}.board-letter{z-index:1;color:var(--ink);background:linear-gradient(135deg,#fcf3de,#ecdcb8 75%,#ddc798);padding:38px 45px 27px;position:relative;transform:rotate(-.7deg);box-shadow:0 7px 18px #2113087a,0 0 0 1px #d1b684}.board-letter:before,.board-note:before{content:"";background:radial-gradient(circle at 36% 30%,#f9df9e,#a36130 62%,#5f341e);border-radius:50%;width:12px;height:12px;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 3px #2c1a15a6}.letter-kicker{font:700 10px var(--sans);letter-spacing:.2em;color:#845e41}.letter-kicker span{font-size:16px}.letter-role{color:#9b5d3a;letter-spacing:.08em;margin:20px 0 9px;font-size:13px;font-weight:700}.board-letter h1{font:700 clamp(32px,4vw,53px)/1.36 var(--serif);letter-spacing:-.075em;word-break:keep-all;margin:0 0 14px}.board-letter h1 em{color:#a25b39;font-style:normal}.letter-description{color:#5f5044;max-width:570px;margin:0;font-size:14px;line-height:1.85}.letter-actions{flex-wrap:wrap;align-items:center;gap:23px;margin-top:23px;display:flex}.board-guide-button{color:#f7e8bd;background:linear-gradient(#253c48,#132936);border:1px solid #6b533b;min-height:43px;font-size:13px;box-shadow:inset 0 0 0 2px #ffffff1a,0 4px #0b1b23,0 7px 15px #0005}.board-text-link{color:#5d3c28;border-bottom:1px solid #805735;align-items:center;gap:6px;padding-bottom:2px;font-size:13px;font-weight:700;display:inline-flex}.board-text-link:hover{color:#a05d34}.letter-signature{text-align:right;font:italic 15px var(--serif);color:#936a4b;margin-top:16px;display:block}.board-npc-spot{background:radial-gradient(at 50% 68%,#c2954e42,#0000 64%),linear-gradient(#15293daa,#142435b8),url(/images/magic-workshop.webp) 50%/cover;border:5px solid #b78950;align-self:stretch;min-height:370px;position:relative;overflow:visible;box-shadow:inset 0 0 0 4px #362716,0 7px 18px #2113089c}.board-npc-spot:after{content:"";z-index:0;filter:blur(7px);background:#0008;border-radius:50%;height:17px;position:absolute;bottom:20px;left:13%;right:13%}.board-npc-spot .hero-npc{z-index:2;filter:drop-shadow(0 7px 6px #0008);width:min(95%,310px);max-width:none;bottom:23px;left:50%;transform:translate(-50%)}.board-npc-spot .hero-npc:focus-visible{outline-offset:2px;outline:2px solid #f6dc9d}.board-npc-spot .hero-npc:focus-visible:after{display:none}.board-lead:has(.board-guide-button:focus-visible) .hero-npc-frame,.board-lead:has(.board-guide-button:hover) .hero-npc-frame{background-image:url(/images/hero-wizard-gestures.webp);background-position:100%;background-size:300% 100%;animation:none}.npc-speech-cue{z-index:3;color:#302820;background:#fbefd0;border:2px solid #aa7947;padding:11px 14px;font-size:13px;font-weight:700;line-height:1.25;display:block;position:absolute;top:22px;right:14px;transform:rotate(3deg);box-shadow:3px 4px #192131}.npc-speech-cue:after{content:"";border-top:10px solid #0000;border-bottom:0;border-left:10px solid #fbefd0;border-right:10px solid #0000;position:absolute;bottom:-11px;right:21px;transform:rotate(20deg)}.npc-speech-cue span{font:700 9px var(--sans);letter-spacing:.15em;color:#9f5e35;margin-bottom:3px;display:block}.npc-speech-cue b{color:#a65e37}.npc-floor-label{text-align:center;z-index:3;color:#f4e3b8;letter-spacing:.12em;text-shadow:0 2px 4px #000;font-size:10px;position:absolute;bottom:8px;left:0;right:0}.board-section-label{color:#f5dfa7;border-bottom:1px solid #d9a96d65;justify-content:space-between;align-items:center;margin:28px 4px 18px;padding-bottom:8px;display:flex;position:relative}.board-section-label span{font:700 21px var(--serif)}.board-section-label small{color:#e0c194;font-size:11px}.board-note-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;display:grid}.board-note{color:#3f3026;background:#f2e4c5;flex-direction:column;min-height:246px;padding:28px 20px 18px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 6px 13px #1d120b94}.board-note:hover{transform:translateY(-6px)rotate(0);box-shadow:0 11px 20px #1d120bba}.note-about{transform:rotate(-1.3deg)}.note-project{background:#f4e8d0;transform:rotate(.9deg)}.note-skills{background:#ead8b6;transform:rotate(-.6deg)}.note-logs{transform:rotate(1.2deg)}.note-number{font:700 10px var(--sans);letter-spacing:.13em;color:#9a6544}.note-icon{color:#ae754b;align-items:center;height:58px;display:flex}.note-thumb{background-size:cover;border:3px solid #d6c59f;height:70px;margin:9px 0 5px;display:block;box-shadow:0 2px 4px #0003}.note-thumb-keyoff{background-image:url(/images/keyoff-lab-home.webp);background-position:50% 42%}.note-thumb-log{background-image:url(/images/castle-town.webp);background-position:50% 47%}.board-note h2{font:700 20px/1.45 var(--serif);letter-spacing:-.05em;margin:2px 0 5px}.board-note p{color:#665446;word-break:keep-all;margin:0 0 12px;font-size:12px;line-height:1.6}.note-open{color:#8c5431;margin-top:auto;font-size:11px;font-weight:700}.board-bottom-strip{color:#ecd2a3;border-top:1px solid #d9a96d65;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding:13px 5px 0;font-size:12px;display:flex;position:relative}.board-bottom-strip a,.board-bottom-strip span{align-items:center;gap:7px;display:inline-flex}.board-bottom-strip a:hover{color:#fff6d9}.log-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.log-preview-card{background:#15263a;border:1px solid #56647b;overflow:hidden;box-shadow:0 9px 22px #0003}.log-preview-card .project-art{height:180px}.log-preview-body{padding:20px 23px 24px}.log-preview-meta{color:#e2c78f;justify-content:space-between;gap:12px;font-size:11px;display:flex}.log-preview-meta span:last-child{color:#c6b69a}.log-preview-card h2{font:700 23px var(--serif);margin:8px 0 7px}.log-preview-card p{color:#c7d1dc;min-height:43px;margin:0 0 16px;font-size:13px;line-height:1.7}.log-coming-soon,.log-preview-card a{color:#e5c88c;align-items:center;gap:5px;font-size:12px;display:inline-flex}@media (max-width:1080px){.desktop-nav{gap:12px}.desktop-nav a{font-size:11px}.brand{font-size:15px}.header-inner{gap:12px}.visitor-badge{padding:6px;font-size:10px}.board-lead{grid-template-columns:1.35fr .75fr}.board-letter{padding:36px 28px 25px}}@media (max-width:900px){.desktop-nav{display:none}.menu-button{place-items:center;display:grid}.visitor-badge{margin-left:auto}.board-note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-lead{grid-template-columns:1fr 320px}.board-letter h1{font-size:37px}.board-npc-spot{min-height:370px}}@media (max-width:700px){.site-header{height:62px}.board-world{background-attachment:scroll;padding:24px 0 50px}.noticeboard-wrap{width:min(100% - 24px,640px)}.board-topline{font-size:8px}.board-topline span:last-child{display:none}.noticeboard{border-width:8px;padding:18px 15px 20px}.noticeboard:before{inset:8px}.board-lead{grid-template-columns:1fr;gap:18px}.board-letter{padding:32px 25px 24px}.board-letter h1{font-size:clamp(31px,7.5vw,43px)}.board-npc-spot{min-height:350px}.board-npc-spot .hero-npc{width:min(70%,300px);bottom:22px}.npc-speech-cue{top:20px;right:17%}.board-section-label{margin-top:22px}.board-note-grid{gap:12px}.board-note{min-height:224px;padding:25px 15px}.board-note h2{font-size:17px}.board-bottom-strip{font-size:11px}.log-card-grid{grid-template-columns:1fr}.visitor-badge{font-size:10px}.visitor-badge .visitor-label-full{display:none}.visitor-badge .visitor-label-short{display:inline}.mobile-nav{top:62px}}@media (max-width:420px){.brand{gap:5px;font-size:13px}.brand-mark{font-size:20px}.visitor-badge{font-size:9px}.visitor-badge svg{width:14px}.visitor-badge strong{font-size:10px}.board-letter{padding:32px 20px 22px}.board-letter h1{font-size:31px}.letter-description{font-size:13px}.letter-actions{gap:15px}.board-guide-button{padding:9px 12px;font-size:12px}.board-note-grid{grid-template-columns:1fr}.board-note{min-height:178px}.note-icon{height:43px}.board-bottom-strip span{display:none}.board-bottom-strip a{margin-left:auto}.board-npc-spot{min-height:330px}.board-npc-spot .hero-npc{width:min(78%,280px)}}@media (max-width:350px){.visitor-badge .visitor-label-short{display:none}}.hero{height:max(720px,100svh - 68px);min-height:0;max-height:none}.hero-copy{font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.hero-character-spot{z-index:2;aspect-ratio:1;width:min(35vw,360px);position:absolute;bottom:7%;left:47%}.hero-character-spot .hero-npc{width:100%;max-width:none;height:100%;inset:0}.hero-character-spot .hero-npc:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.hero-character-spot .hero-npc:focus-visible:after{display:none}.hero-chat-cue{z-index:3;color:#3b2c22;font:700 12px var(--sans);white-space:nowrap;pointer-events:none;background:#f5e8cb;border:2px solid #aa7947;padding:10px 13px;position:absolute;top:-45px;right:-27px;transform:rotate(3deg);box-shadow:3px 4px #091624ab}.hero-chat-cue:after{content:"";border-top:9px solid #0000;border-bottom:0;border-left:9px solid #f5e8cb;border-right:9px solid #0000;position:absolute;bottom:-10px;right:25px;transform:rotate(20deg)}.hero-chat-cue span{letter-spacing:.16em;color:#9c5f37;font-size:9px;display:block}.hero-chat-cue b{color:#9c5f37}.board-below{background:linear-gradient(#091725e8,#0b1725f2),url(/images/hero-workshop.webp) bottom/cover;min-height:0;padding-top:38px;padding-bottom:90px}.board-intro-note{z-index:1;min-height:238px;color:var(--ink);background:linear-gradient(135deg,#fcf3de,#ecdcb8 75%,#ddc798);grid-template-columns:1fr .8fr;align-items:center;gap:45px;padding:36px 55px;display:grid;position:relative;transform:rotate(-.4deg);box-shadow:0 7px 18px #2113087a,0 0 0 1px #d1b684}.board-intro-note:before{content:"";background:radial-gradient(circle at 36% 30%,#f9df9e,#a36130 62%,#5f341e);border-radius:50%;width:12px;height:12px;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 3px #2c1a15a6}.board-intro-note h2{font:700 clamp(31px,3.4vw,45px)/1.36 var(--serif);letter-spacing:-.07em;word-break:keep-all;margin:13px 0 0}.board-intro-note h2 em{color:#a25b39;font-style:normal}.board-intro-copy{border-left:1px solid #b49d75;padding-left:31px}.board-intro-copy p{color:#5d4d42;word-break:keep-all;margin:0 0 18px;font-size:15px;line-height:1.85}.board-intro-copy span{letter-spacing:.08em;color:#945c39;font-size:11px;font-weight:700}.board-note h3{font:700 20px/1.45 var(--serif);letter-spacing:-.05em;margin:2px 0 5px}@media (max-width:1000px){.hero-character-spot{width:min(39vw,320px);left:51%}}@media (max-width:760px){.hero{height:auto;min-height:770px;max-height:none}.hero-character-spot{width:min(43vw,280px);bottom:63px;left:auto;right:15px}.board-intro-note{gap:20px;padding:32px 27px}.board-intro-note h2{font-size:32px}.board-intro-copy{padding-left:22px}.board-below{padding-top:26px;padding-bottom:65px}}@media (max-width:700px){.board-intro-note{grid-template-columns:1fr;gap:17px}.board-intro-copy{border-top:1px solid #b49d75;border-left:0;padding:16px 0 0}.board-intro-copy p{font-size:14px}.board-note h3{font-size:17px}}@media (max-width:430px){.hero{min-height:700px}.hero-character-spot{width:58vw;bottom:57px;right:0}.hero-chat-cue{padding:7px 9px;font-size:10px;top:-30px;right:0}.board-intro-note h2{font-size:29px}}.gem-page{background:radial-gradient(circle at 78% 5%,#36506b75,#0000 28%),radial-gradient(circle at 12% 66%,#1d35504d,#0000 35%),linear-gradient(#0d1c2d,#0b1726 620px)}.gem-page-content{max-width:1180px;padding-top:68px}.gem-hero{border-bottom:1px solid #8f806247;grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:28px;min-height:340px;margin-bottom:36px;padding:0 10px 53px;display:grid;position:relative}.gem-hero-copy{z-index:1;position:relative}.gem-hero h1{font:700 clamp(39px,4.5vw,63px)/1.29 var(--serif);letter-spacing:-.07em;word-break:keep-all;margin:15px 0 17px}.gem-hero h1 em{color:#e7ca8d;font-style:normal}.gem-hero p{color:#c5ceda;word-break:keep-all;max-width:560px;margin:0;font-size:16px;line-height:1.8}.gem-hero-caption{color:#dcc58d;letter-spacing:.06em;border-top:1px solid #7b715d;align-items:center;gap:10px;margin-top:25px;padding-top:14px;font-size:11px;display:inline-flex}.gem-hero-caption span{font-size:17px}.gem-hero-art{isolation:isolate;height:310px;position:relative}.gem-hero-art:before{content:"";filter:blur(4px);background:radial-gradient(circle,#d8bf7842 0,#90a4bb1c 29%,#0000 68%);position:absolute;inset:30px 20px}.gem-hero-ring{border:1px solid #d7bc7666;border-radius:50%;width:245px;height:245px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 16px #d7bc760d,0 0 0 17px #d7bc7633,inset 0 0 35px #d7bc761f}.gem-hero-ring:after,.gem-hero-ring:before{content:"✦";color:#d7bc76;text-shadow:0 0 10px #d7bc76a8;font-size:17px;position:absolute}.gem-hero-ring:before{top:-17px;left:calc(50% - 7px)}.gem-hero-ring:after{bottom:-18px;left:calc(50% - 7px)}.gem-hero-stone{object-fit:contain;filter:drop-shadow(0 15px 17px #0008);width:145px;height:145px;position:absolute}.gem-hero-stone-main{z-index:2;width:162px;height:162px;top:73px;left:137px}.gem-hero-stone-left{top:150px;left:26px;transform:rotate(-11deg)}.gem-hero-stone-right{top:150px;right:20px;transform:rotate(11deg)}.gem-collection{--gem-accent:#dbc48e;background:linear-gradient(145deg,#20344b,#15263b 68%,#112136);border:1px solid #6d7990;padding:27px;position:relative;box-shadow:inset 0 0 0 5px #142439,inset 0 0 0 6px #42526a,0 16px 30px #0003}.gem-collection:before{content:"";background:linear-gradient(90deg,transparent,var(--gem-accent),transparent);opacity:.48;height:1px;position:absolute;top:13px;left:13px;right:13px}.gem-collection-language{margin-bottom:58px}.gem-collection-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}.gem-collection-index{color:var(--gem-accent);letter-spacing:.2em;font-size:10px;font-weight:800;display:block}.gem-collection-heading h2,.gem-collection-heading h3{color:#fbf4e9;font:700 27px/1.35 var(--serif);letter-spacing:-.04em;margin:4px 0 0}.gem-collection-heading p{color:#b7c4d1;white-space:nowrap;margin:0 0 3px;font-size:12px}.gem-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.gem-item{background:linear-gradient(155deg,#13253ac7,#0d1b2ccf);border:1px solid #6273897d;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:164px;padding:12px 8px 16px;transition:border-color .22s,background .22s,transform .22s;display:flex;box-shadow:inset 0 1px #ffffff0b}.gem-item:hover{border-color:var(--gem-accent);background:linear-gradient(155deg,#243b52,#12243a);transform:translateY(-3px)}.gem-stone{place-items:center;width:118px;max-width:100%;height:118px;display:grid;position:relative}.gem-stone:before{content:"";background:var(--gem-accent);opacity:.16;filter:blur(19px);border-radius:50%;position:absolute;inset:26px}.gem-stone img{object-fit:contain;filter:drop-shadow(0 8px 7px #0008);width:100%;height:100%;transition:transform .22s;position:relative}.gem-item:hover .gem-stone img{transform:translateY(-5px)scale(1.05)}.gem-name{color:#f0e9dc;text-align:center;overflow-wrap:anywhere;word-break:keep-all;font-size:12px;font-weight:700;line-height:1.4}.gem-fields-heading{margin:0 0 20px}.gem-fields-heading h2{font:700 31px var(--serif);margin:5px 0 0}.gem-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.gem-domain{padding:23px}.gem-domain .gem-collection-heading{align-items:start;min-height:67px}.gem-domain .gem-collection-heading h3{font-size:25px}.gem-domain .gem-collection-heading p{align-self:end}.gem-domain .gem-item{min-height:146px;padding:8px 5px 12px}.gem-domain-backend .gem-list,.gem-domain-frontend .gem-list{grid-template-columns:repeat(3,minmax(0,1fr))}.gem-domain .gem-stone{width:104px;height:104px}.gem-domain .gem-name{font-size:11px}.gem-domain-backend{--gem-accent:#9bc982}.gem-domain-frontend{--gem-accent:#8dd9e1}.gem-domain-database{--gem-accent:#bba1e1}.gem-domain-infra{--gem-accent:#e0b37d}@media (max-width:1050px){.gem-hero{grid-template-columns:minmax(0,1fr) 350px}.gem-hero-art{transform-origin:50%;transform:scale(.84)}.gem-domain .gem-collection-heading{display:block}.gem-domain .gem-collection-heading p{margin-top:4px}}@media (max-width:850px){.gem-domain-grid{grid-template-columns:1fr}.gem-domain .gem-collection-heading{min-height:0;display:flex}.gem-domain .gem-collection-heading p{margin-top:0}.gem-domain .gem-stone{width:118px;height:118px}}@media (max-width:700px){.gem-page-content{padding-top:45px}.gem-hero{grid-template-columns:1fr;gap:0;padding:0 0 30px}.gem-hero h1{font-size:43px}.gem-hero p{font-size:14px}.gem-hero-art{transform-origin:top;height:205px;margin-top:25px;margin-bottom:-50px;transform:scale(.7)}.gem-collection{padding:20px}.gem-collection-heading{flex-direction:column;align-items:start;gap:4px}.gem-collection-heading p{white-space:normal}.gem-domain .gem-collection-heading{display:block}.gem-domain .gem-collection-heading p{margin-top:5px}.gem-domain-backend .gem-list,.gem-domain-frontend .gem-list,.gem-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gem-collection-language{margin-bottom:45px}.gem-domain-grid{gap:15px}.gem-domain .gem-stone{width:104px;height:104px}}@media (max-width:430px){.gem-hero h1{font-size:36px}.gem-hero-caption{font-size:10px}.gem-collection-heading h2,.gem-collection-heading h3{font-size:24px}.gem-item{min-height:151px}.gem-stone{width:105px;height:105px}.gem-domain .gem-item{min-height:147px}.gem-domain .gem-name{font-size:11px}}@media (prefers-reduced-motion:reduce){.gem-item,.gem-stone img{transition:none}.gem-item:hover,.gem-item:hover .gem-stone img{transform:none}}.log-jump-links{flex-wrap:wrap;gap:9px;margin-bottom:33px;display:flex}.log-jump-links a{color:#e5e9ed;background:#1c3047;border:1px solid #536883;align-items:center;gap:12px;padding:9px 13px;font-size:12px;display:inline-flex}.log-jump-links a:focus-visible,.log-jump-links a:hover{border-color:var(--gold);color:var(--gold)}.log-jump-links span{color:#172338;min-width:22px;height:21px;font:700 11px var(--sans);background:#d7bd83;place-items:center;padding:0 4px;display:grid}.log-collections{gap:55px;display:grid}.log-collection-head{background:linear-gradient(110deg,#22354a,#16263a);border:1px solid #617187;grid-template-columns:240px 1fr;min-height:155px;display:grid;overflow:hidden}.log-collection-head .project-art{background-size:cover;height:100%;min-height:155px}.log-collection-head>div:last-child{align-self:center;padding:23px 29px}.log-collection-head .eyebrow{font-size:10px}.log-collection-head h2{font:700 27px var(--serif);margin:6px 0 5px}.log-collection-head p{color:#bfccd9;margin:0;font-size:13px}.log-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:14px;display:grid}.log-entry{background:#14243a;border:1px solid #475a71;flex-direction:column;min-height:185px;padding:20px 22px;transition:border-color .2s,transform .2s;display:flex}.log-entry:hover{border-color:#d7bd83;transform:translateY(-3px)}.log-entry-meta{color:#d5bb83;letter-spacing:.04em;justify-content:space-between;gap:12px;font-size:10px;display:flex}.log-entry-meta span{color:#aebdcb}.log-entry h3{font:700 18px/1.45 var(--serif);word-break:keep-all;margin:11px 0 7px}.log-entry p{color:#bfcbda;word-break:keep-all;margin:0 0 13px;font-size:12px;line-height:1.65}.log-entry-action{color:#e7c98d;gap:5px;margin-top:auto;font-size:11px;font-weight:700}.log-all-link,.log-entry-action{align-items:center;display:inline-flex}.log-all-link{color:#ecd092;border:1px solid #9e835a;gap:8px;margin-top:45px;padding:12px 17px;font-size:13px}.log-all-link:hover{background:#2a3d52}@media (max-width:760px){.log-entry-grid{grid-template-columns:1fr}.log-collection-head{grid-template-columns:120px 1fr}.log-collection-head>div:last-child{padding:17px}.log-collection-head h2{font-size:22px}.log-collection-head p{font-size:11px}.log-entry{min-height:150px}}@media (max-width:430px){.log-collection-head{grid-template-columns:1fr}.log-collection-head .project-art{height:120px;min-height:120px}.log-collection-head>div:last-child{padding:17px 20px}.log-entry{padding:18px}.log-entry h3{font-size:17px}}.home-news-section{background:radial-gradient(circle at 84% 2%,#2b4a6080,#0000 35%),radial-gradient(circle at 9% 95%,#754e2b42,#0000 36%),linear-gradient(#0a1725,#112237 80%,#0a1827);border-top:1px solid #a68c574d;border-bottom:1px solid #b99a5f4d;padding:58px 0 62px}.home-news-wrap{max-width:1100px}.home-news-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.home-news-kicker{color:#d9be84;letter-spacing:.18em;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.home-news-heading h2{color:#f8eedb;font:700 clamp(30px,3.4vw,42px)/1.25 var(--serif);letter-spacing:-.06em;margin:8px 0 4px}.home-news-heading h2 em{color:#dfbf7e;font-style:normal}.home-news-heading p{color:#afbdca;margin:0;font-size:13px}.home-news-more{color:#ecd194;white-space:nowrap;border-bottom:1px solid #b39a69;align-items:center;gap:10px;padding:10px 2px;font-size:12px;font-weight:700;display:inline-flex}.home-news-more:focus-visible,.home-news-more:hover{color:#fff1c6;border-color:#fff1c6}.home-news-more-mobile{display:none}.home-news-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;min-height:244px;display:grid}.home-news-item{color:#30291f;background:radial-gradient(circle at 0 0,#fff7df80,#0000 36%),radial-gradient(circle at 100% 100%,#a5784c33,#0000 40%),repeating-linear-gradient(0deg,#f2e5ca 0 3px,#eee0c3 4px);border:1px solid #d8bb88;min-width:0;min-height:244px;padding:30px 25px 22px;transition:transform .22s,box-shadow .22s;display:block;position:relative;transform:rotate(-1deg);box-shadow:inset 0 0 0 5px #fff7e840,inset 0 0 28px #b58b5d3d,0 12px 25px #0006}.home-news-item:nth-child(2){transform:rotate(1deg)}.home-news-item:nth-child(3){transform:rotate(-.6deg)}.home-news-item:before{content:"";background:radial-gradient(circle at 34% 30%,#fff2bf 0 10%,#c7a05c 38%,#79532d 75%);border:1px solid #e0ba72;border-radius:50%;width:18px;height:18px;position:absolute;top:-10px;left:calc(50% - 9px);box-shadow:0 2px 5px #39251c9c,0 0 0 3px #0e2030}.home-news-item:after{content:"";pointer-events:none;border:1px solid #aa835333;position:absolute;inset:11px}.home-news-item:focus-visible,.home-news-item:hover{transform:translateY(-6px)rotate(0);box-shadow:inset 0 0 0 5px #fff7e840,inset 0 0 28px #b58b5d3d,0 19px 30px #0009}.home-news-item-body{flex-direction:column;min-width:0;min-height:190px;display:flex}.home-news-meta{color:#865a37;letter-spacing:.1em;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.home-news-meta strong{overflow-wrap:anywhere;font-weight:800}.home-news-meta time{color:#846e55;white-space:nowrap;letter-spacing:0}.home-news-title{color:#30291f;font:700 19px/1.52 var(--serif);letter-spacing:-.04em;word-break:keep-all;overflow-wrap:anywhere;margin:26px 0 22px;display:block}.home-news-item-foot{border-top:1px solid #9c775057;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:13px;display:flex}.home-news-index{color:#9d7044;font:700 11px var(--serif);letter-spacing:.15em}.home-news-read{color:#64432d;align-items:center;gap:4px;font-size:11px;font-weight:800;display:inline-flex}.home-news-status{color:#54412f;text-align:center;background:#f2e5ca;border:1px solid #d8bb88;grid-column:1/-1;place-items:center;min-height:211px;padding:25px;font-size:13px;display:grid;box-shadow:inset 0 0 28px #b58b5d3d}@media (max-width:900px){.home-news-list{gap:14px}.home-news-item{padding:28px 18px 19px}.home-news-title{font-size:17px}}@media (max-width:760px){.home-news-section{padding:43px 0 47px}.home-news-heading{margin-bottom:30px}.home-news-heading h2{font-size:33px}.home-news-heading p{font-size:12px}.home-news-heading>.home-news-more{display:none}.home-news-more-mobile{margin-top:21px;display:inline-flex}.home-news-list{grid-template-columns:1fr;gap:25px}.home-news-item,.home-news-item:nth-child(2),.home-news-item:nth-child(3){min-height:0;padding:27px 24px 21px;transform:none}.home-news-item-body{min-height:126px}.home-news-title{margin:15px 0 21px;font-size:17px}.home-news-item:focus-visible,.home-news-item:hover{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.home-news-item:focus-visible,.home-news-item:hover{transform:none}}.news-page{background:radial-gradient(circle at 82% 2%,#35506a65,#0000 33%),linear-gradient(#0c1c2cae,#091521ec),url(/images/hero-workshop.webp) top/100% no-repeat,#091521;min-height:calc(100svh - 68px);padding:66px 0 100px}.news-shell{max-width:1100px}.news-masthead{justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px;display:flex}.news-kicker{color:#e1c88f;letter-spacing:.19em;align-items:center;gap:8px;font-size:11px;font-weight:800;display:inline-flex}.news-masthead h1{font:700 clamp(44px,6vw,77px)/1.2 var(--serif);letter-spacing:-.06em;color:#fff7e6;margin:12px 0 14px}.news-masthead h1 span{color:#e3bf78}.news-masthead p{color:#cbd5dc;word-break:keep-all;margin:0;font-size:15px;line-height:1.8}.news-masthead-art{color:#e2c182;min-width:190px;font:700 15px var(--serif);letter-spacing:.28em;border-top:1px solid #e2c1828c;border-bottom:1px solid #e2c1828c;justify-content:center;align-items:center;gap:7px;padding:12px 19px;display:flex;transform:translateY(-8px)}.news-masthead-art span:first-child,.news-masthead-art span:last-child{font-size:11px}.news-board{isolation:isolate;background:radial-gradient(at 30% 15%,#ab74402e,#0000 48%),repeating-linear-gradient(90deg,#0000 0 61px,#3a231a38 62px 64px,#0000 67px 139px),repeating-linear-gradient(0deg,#674126 0 3px,#754b2c 4px 7px,#5b3824 9px 13px,#704628 15px 19px);border:12px solid #56341f;border-radius:2px;padding:25px 21px 20px;position:relative;box-shadow:inset 0 0 0 2px #bd8650,inset 0 0 0 6px #352216,0 14px 32px #0008,0 0 0 2px #261810}.news-board:before{z-index:2;background:linear-gradient(#a16c3c 0 12%,#4f2e1c 17% 24%,#704527 29% 67%,#392117 74%,#8b582f 88%);border:2px solid #402819;border-radius:3px;height:25px;top:-21px;left:3%;right:3%;box-shadow:inset 0 2px #cb9253,inset 0 -3px #2a190f,0 5px 9px #0007}.news-board:after,.news-board:before{content:"";pointer-events:none;position:absolute}.news-board:after{border:1px solid #d5a16970;inset:8px}.news-board-hardware{z-index:3;pointer-events:none;background:linear-gradient(145deg,#b3814b,#624126 42%,#35281e 55%,#8f5d34);border:2px solid #281b17;border-radius:3px;width:30px;height:32px;position:absolute;box-shadow:inset 1px 1px #db9e5d,inset -2px -2px #201714,2px 3px 5px #000a}.news-board-hardware:after{content:"";background:radial-gradient(circle at 30% 30%,#dfb679,#765331 57%,#2c231c 65%);border-radius:50%;width:6px;height:6px;position:absolute;top:11px;left:10px;box-shadow:0 0 0 1px #241a14}.news-board-hardware-tl{top:-17px;left:-17px}.news-board-hardware-tr{top:-17px;right:-17px}.news-board-hardware-bl{bottom:-17px;left:-17px}.news-board-hardware-br{bottom:-17px;right:-17px}.news-board-foot,.news-board-head{color:#f0ddae;justify-content:space-between;align-items:center;gap:18px;display:flex}.news-board-head{padding:0 4px 16px;font-size:13px}.news-board-foot a,.news-board-head a,.news-board-head>div{align-items:center;gap:9px;display:inline-flex}.news-board-foot a,.news-board-head a{color:#f3dda6;font-size:12px}.news-board-foot a:hover,.news-board-head a:hover{color:#fff}.news-live-dot{background:#f1cf87;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 9px #e5c078}.news-board-count{letter-spacing:.15em;color:#d4b883;font-size:10px}.news-list{background:repeating-linear-gradient(0deg,#3c291d 0 5px,#513520 6px 11px,#362419 12px 17px);border:3px solid #382419;gap:7px;padding:9px;display:grid;box-shadow:inset 0 0 0 1px #a37044}.news-card{color:#f5ebda;background:linear-gradient(155deg,#293344,#1b2536 63%,#171f2d);border:1px solid #616574;border-radius:5px;grid-template-columns:42px minmax(0,1fr) 22px;align-items:start;gap:16px;padding:20px 23px;transition:background .2s,border-color .2s;display:grid;box-shadow:inset 0 1px #9cabbb42,inset 0 -4px #101827,0 3px #19130f}.news-card:focus-visible,.news-card:hover{background:linear-gradient(155deg,#354257,#243147 63%,#1b2637);border-color:#c6a06a}.news-card-featured{background:linear-gradient(155deg,#344050,#222c3d 63%,#1b2433);padding-top:26px;padding-bottom:27px}.news-card-index{font:700 12px var(--serif);color:#dfbd83;padding-top:2px}.news-card-meta{color:#cbb693;letter-spacing:.12em;flex-wrap:wrap;gap:7px 20px;font-size:10px;font-weight:700;display:flex}.news-card-meta time{letter-spacing:0;font-weight:500}.news-card h2{font:700 18px/1.5 var(--serif);letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere;margin:6px 0 0}.news-card-featured h2{font-size:24px}.news-card-action{color:#e0bd86;align-items:center;gap:5px;margin-top:10px;font-size:11px;font-weight:700;display:inline-flex}.news-card-arrow{color:#d9b77f;justify-self:end}.news-board-foot{color:#dbc594;padding:17px 4px 0;font-size:11px;line-height:1.5}.news-empty{text-align:center;color:#f5ebda;background:linear-gradient(145deg,#293344,#182337);border:3px solid #382419;padding:60px 25px}.news-empty p{font:700 22px var(--serif);margin:0 0 12px}.news-empty a{color:#e0bd86;align-items:center;gap:5px;font-size:13px;font-weight:700;display:inline-flex}@media (max-width:760px){.news-page{background-attachment:scroll;padding:46px 0 68px}.news-masthead-art{display:none}.news-masthead h1{font-size:46px}.news-masthead p{font-size:13px}.news-board{border-width:7px;padding:12px}.news-card{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:17px 14px}.news-card-featured{padding-top:21px;padding-bottom:22px}.news-card h2{font-size:16px}.news-card-featured h2{font-size:19px}.news-card-arrow{display:none}.news-board-foot{flex-direction:column;align-items:start;gap:8px}}@media (max-width:430px){.news-board-head{font-size:12px}.news-board-count{display:none}.news-kicker{font-size:9px}.news-masthead h1{font-size:39px}.news-card-meta{gap:5px 10px;font-size:9px}}.news-board-sources{letter-spacing:.15em;color:#dbc594;font-size:10px}.news-feed-progress{text-align:center;color:#e9d3a0;letter-spacing:.08em;padding:19px 0 7px;font-size:11px}.news-more{color:#f2dbad;background:linear-gradient(#344254,#1c2b3d);border:1px solid #a97a48;justify-content:center;align-items:center;gap:9px;width:min(100%,270px);margin:8px auto;padding:12px 18px;font-size:13px;font-weight:700;display:flex;box-shadow:inset 0 1px #ffffff29,0 4px #352218}.news-more:hover{background:linear-gradient(#40516a,#26384d);transform:translateY(-2px)}.news-source-links{flex-wrap:wrap;justify-content:flex-end;gap:7px 14px;display:flex}.news-board-foot .news-source-links a{white-space:nowrap;font-size:11px}@media (max-width:760px){.news-source-links{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.news-more:hover{transform:none}}