@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap";:root{--bg:#f8f7f3;--paper:#fffefa;--ink:#272c25;--muted:#7e8176;--line:#dedfd5;--accent:#657559;--soft:#eef0e7;--danger:#b04d43;--success:#476342;--banner:#fffaf2;--sidebar:#f0f0e9;--primary-text:#fff;background:var(--bg);color:var(--ink);color-scheme:light;font-family:Noto Sans KR,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{background:var(--paper);border:1px solid var(--line);border-radius:6px;color:var(--ink);outline:none;padding:12px 14px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #65755918}textarea{line-height:1.8;resize:vertical}input[type=checkbox]{accent-color:var(--accent);height:17px;width:17px}input[type=color]{height:45px;padding:4px;width:90px}label{display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:9px}label+label{margin-top:20px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #879b69;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{overflow-wrap:anywhere}h1,h2{font-family:"Noto Serif KR",serif;font-weight:500}p{line-height:1.85}hr{border:0;border-top:1px solid var(--line);margin:32px 0}img{display:block;max-width:100%}.site-shell{display:flex;flex-direction:column;min-height:100vh}.site-shell>main{flex:1;min-width:0}.container{margin:auto;width:min(1160px,calc(100% - 80px))}.site-header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;min-height:88px;padding:20px 5.5%}.brand{align-items:center;display:inline-flex;font-size:15px;font-weight:700;gap:8px;letter-spacing:2px;white-space:nowrap}.brand span{color:var(--muted);font-size:10px;font-weight:400;letter-spacing:2px}.brand i{background:#788a65;border-radius:50%;height:6px;margin-left:3px;width:6px}.site-header nav{align-items:center;display:flex;font-size:12px;gap:30px}.site-header nav a:hover{color:var(--accent)}.nav-admin,.site-footer{color:var(--muted)}.site-footer{align-items:center;border-top:1px solid var(--line);display:flex;font-size:11px;gap:24px;justify-content:space-between;padding:32px 5.5%}.site-footer .brand{color:var(--ink);font-size:12px}.eyebrow{color:var(--accent);display:block;font-size:10px;font-weight:600;letter-spacing:2.3px}.muted{color:var(--muted)}.small{font-size:12px}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.button{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:5px;color:var(--ink);display:inline-flex;font-size:12px;font-weight:500;gap:8px;justify-content:center;min-height:42px;padding:10px 18px;transition:background .15s}.button:hover{background:var(--soft)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--primary-text)}.button.primary:hover{filter:brightness(.94)}.button.subtle{background:transparent}.button.danger,.text-danger{color:var(--danger)}.button-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.full{width:100%}.small-button{font-size:11px;min-height:30px;padding:5px 10px}.text-danger{background:transparent;border:0;font-size:12px;padding:6px}.error-text{color:var(--danger);font-size:13px;overflow-wrap:anywhere;white-space:pre-line}.success-text{color:var(--success);font-size:13px}.message-banner{background:var(--banner);border-bottom:1px solid var(--line);line-height:1.8;padding:18px 5.5%}.message-banner a{margin-left:12px;text-decoration:underline}.empty-state{color:var(--muted);padding:80px 24px;text-align:center}.empty-state h1{color:var(--ink)}.error-page{padding-top:25vh}.notice{background:var(--soft);border-radius:6px;font-size:12px;line-height:1.8;margin:24px 0;overflow-wrap:anywhere;padding:18px}.notice p{margin-bottom:0}.tag-row{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:10px;gap:8px}.archive-intro{border-bottom:1px solid var(--line);overflow:hidden;padding:74px 0 32px;position:relative}.archive-intro .eyebrow{align-items:center;display:flex;gap:9px}.status-dot{background:var(--accent);border-radius:50%;height:6px;width:6px}.archive-intro h1{font-size:clamp(30px,4vw,50px);letter-spacing:-2.3px;line-height:1.65;margin:24px 0 20px;position:relative;z-index:1}.archive-intro h1 span{color:#8c9481;display:block}.archive-intro p{color:var(--muted);font-size:13px;position:relative;z-index:1}.intro-bottom{align-items:center;display:flex;font-size:11px;justify-content:space-between;margin-top:50px}.intro-bottom>span{color:#929588;font-size:9px;letter-spacing:2px}.intro-orbit{color:#d9dece;font-family:serif;font-size:240px;font-weight:400;line-height:1.2;pointer-events:none;position:absolute;right:8%;top:60px;transform:rotate(-10deg)}.collection{padding:48px 0 90px}.collection-heading{align-items:center;display:flex;gap:24px;justify-content:space-between}.collection h2{font-size:25px;letter-spacing:-1px;margin:10px 0}.collection h2 sup{color:var(--muted);font-family:sans-serif;font-size:12px;margin-left:6px}.search-field{align-items:center;border-bottom:1px solid var(--line);flex-direction:row;position:relative;width:270px}.search-field>span:not(.sr-only){font-size:24px;font-weight:400}.search-field input{background:transparent;border:0;box-shadow:none;font-size:12px;padding:10px 3px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 28px}.filter-row button{background:transparent;border:1px solid transparent;border-radius:30px;color:var(--muted);font-size:11px;padding:8px 16px}.filter-row button.active{background:var(--ink);color:var(--bg)}.filter-row button:not(.active):hover{border-color:var(--line)}.works-grid{display:grid;gap:28px;grid-template-columns:repeat(3,minmax(0,1fr))}.card-art{align-items:center;aspect-ratio:2/3;display:flex;justify-content:center;overflow:hidden;position:relative}.art-parchment{background:#e2e5d6;color:#687b56}.art-midnight{background:#252d31;color:#c5c2a3}.card-art:after{border:1px solid;content:"";inset:25px;opacity:.15;pointer-events:none;position:absolute}.card-art img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.card-art.has-cover:after{display:none}.art-index{font-size:10px;left:20px;letter-spacing:1px;position:absolute;top:18px}.art-symbol{font:110px "Noto Serif KR",serif;line-height:1}.art-label{bottom:40px;font-size:8px;letter-spacing:3px;position:absolute}.card-arrow{background:#fffb;border-radius:50%;bottom:13px;color:#30382d;display:grid;height:30px;place-items:center;position:absolute;right:13px;width:30px;z-index:1}.card-info{padding:20px 1px}.card-info .tag-row span+span:before{content:"·";margin-right:8px}.card-info h3{font-family:"Noto Serif KR",serif;font-size:21px;font-weight:600;margin:12px 0 8px}.card-info p{color:var(--muted);font-size:12px;margin-bottom:20px}.card-read{border-top:1px solid var(--line);color:var(--accent);display:flex;font-size:11px;justify-content:space-between;padding-top:15px}.pagination{align-items:center;display:flex;font-size:12px;gap:20px;justify-content:center;margin-top:40px}.work-page{--primary-text:#fff;--paper:#fffefa;--ink:#32372c;--muted:#868978;--line:#dfe0d4;--soft:#eef0e7;background:#f6f5ef;color:var(--ink);min-height:65vh;padding:0 max(24px,calc(50% - 500px)) 80px}.work-page.theme-midnight{--paper:#242b2c;--ink:#e5e6d9;--muted:#a0a99b;--line:#3d4642;--soft:#2a3330;background:#1b2322;color:var(--ink)}.work-breadcrumb{border-bottom:1px solid var(--line);color:var(--muted);display:flex;font-size:11px;gap:20px;justify-content:space-between;padding:28px 0}.work-heading{padding:65px 0 15px}.work-heading h1{font-size:clamp(30px,4vw,46px);margin:15px 0 12px}.work-heading p{color:var(--muted);font-size:14px}.section-space{margin-top:65px}.work-section h2{font-size:28px;margin:12px 0 30px}.section-number{color:var(--muted);font-size:9px;letter-spacing:2px}.work-hero{align-items:center;background:var(--soft);display:flex;isolation:isolate;min-height:440px;padding:60px 45px;position:relative}.hero-image{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%;z-index:-2}.work-hero.has-image:after{background:linear-gradient(90deg,#111b18d9,#111b1840);content:"";inset:0;position:absolute;z-index:-1}.work-hero.has-image{color:#fff}.work-hero.has-image .eyebrow{color:#d8ddc7}.hero-copy{max-width:650px}.hero-copy h1,.hero-copy h2{font-size:clamp(32px,5vw,52px);line-height:1.5;margin:20px 0}.hero-copy p{font-size:14px;max-width:500px;opacity:.8;white-space:pre-line}.hero-copy .tag-row{color:inherit;margin-top:30px}.tag{border:1px solid;border-radius:20px;opacity:.7;padding:5px 12px}.text-section{margin-left:auto;margin-right:auto;max-width:750px}.prose{font-size:14px;line-height:2;overflow-wrap:anywhere}.prose h2{font-size:22px;margin:30px 0 15px}.prose h3{font-size:17px;margin:25px 0 12px}.prose p{line-height:2}.prose a{color:var(--accent);text-decoration:underline}.prose pre{background:var(--soft);overflow-x:auto;padding:15px}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:25px 0;padding:4px 20px}.character-grid{display:grid;gap:25px;grid-template-columns:repeat(2,minmax(0,1fr))}.character-card{background:var(--paper);border:1px solid var(--line);min-width:0}.character-portrait{aspect-ratio:4/3;background:var(--soft);overflow:hidden}.character-portrait img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.character-portrait.empty{color:var(--accent);display:grid;font:90px serif;place-items:center}.character-copy{padding:30px}.character-copy h3{font:500 32px "Noto Serif KR",serif;margin:15px 0 20px}.character-grid.single{display:block}.single .character-card{display:grid;grid-template-columns:40% 60%}.single .character-portrait{aspect-ratio:auto;min-height:360px}.single .character-copy{align-self:center;padding:50px 40px}.gallery-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%}.gallery-grid figcaption{color:var(--muted);font-size:12px;padding:10px 0}.dialogue-list{display:grid;gap:20px;margin-top:30px}.dialogue{background:var(--paper);border:1px solid var(--line);padding:20px 25px}.dialogue>span{color:var(--accent);font-size:11px}.dialogue p{font-size:14px;margin:10px 0 0;white-space:pre-line}.play-section{background:var(--paper);border:1px solid var(--line);padding:50px 20px;text-align:center}.play-section p{color:var(--muted);font-size:13px}.play-section .button-row{justify-content:center}.play-dock{align-items:center;background:var(--paper);border:1px solid var(--line);bottom:20px;box-shadow:0 10px 40px #00000014;display:flex;gap:15px;justify-content:space-between;margin:50px 0 0;padding:15px 20px;position:sticky;z-index:5}.play-dock>span{font-family:"Noto Serif KR",serif;font-size:14px}.preview-label{background:#e9eedf;color:#526347;font-size:12px;padding:16px 24px;text-align:center}.preview-label a{text-decoration:underline}.admin-page{padding-bottom:90px;padding-top:55px}.login-card{margin:45px auto 100px;max-width:420px}.login-card h1{font-size:34px;margin:15px 0}.login-card form{margin-top:30px}.login-card form .button{margin-top:22px}.admin-heading{align-items:center;display:flex;gap:25px;justify-content:space-between;margin-bottom:35px}.admin-heading h1{font-size:34px;margin:12px 0}.admin-heading p{font-size:13px;margin-bottom:0}.preset-grid{display:grid;gap:15px;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 35px}.preset-grid>button{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:25px;text-align:left}.preset-grid>button:hover{background:var(--soft);border-color:var(--accent)}.preset-grid span{color:var(--accent);font-size:9px;letter-spacing:1px}.preset-grid h3{font-family:"Noto Serif KR",serif;font-size:20px;margin:17px 0 8px}.preset-grid p{color:var(--muted);font-size:12px}.preset-grid strong{color:var(--accent);font-size:11px}.admin-list{border-top:1px solid var(--line)}.list-header{color:var(--muted);font-size:11px;padding:18px 0}.admin-work-row,.list-header{border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.admin-work-row{align-items:center;gap:20px;padding:28px 0}.admin-work-row h2{font-family:Noto Sans KR,sans-serif;font-size:19px;margin:13px 0 8px}.admin-work-row p{margin-bottom:0}.status-badge{background:#e9e9e0;border-radius:3px;color:#777c6d;padding:4px 8px}.status-badge.published{background:#e2ebdc;color:#4b6840}.status-badge.archived{background:#ece6df;color:#8e7865}.editor-page{min-height:80vh}.editor-toolbar{align-items:center;background:var(--paper);border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;padding:24px 4%}.editor-toolbar h1{font-family:Noto Sans KR,sans-serif;font-size:23px;font-weight:600;margin:8px 0}.save-state{color:var(--muted);font-size:10px}.editor-tabs{background:var(--paper);border-bottom:1px solid var(--line);display:flex;gap:25px;overflow-x:auto;padding:0 4%}.editor-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;padding:18px 0;white-space:nowrap}.editor-tabs button.active{border-color:var(--accent);color:var(--accent);font-weight:600}.editor-fieldset{border:0;margin:0;min-width:0;padding:0}.section-editor{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:650px}.section-sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:28px 20px}.sidebar-title{align-items:center;display:flex;font-size:12px;justify-content:space-between;margin-bottom:20px}.sidebar-title .small{font-size:10px}.section-item{background:var(--paper);border:1px solid var(--line);border-radius:5px;margin-bottom:10px;overflow:hidden}.section-item.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.section-item.disabled{opacity:.6}.section-select{background:transparent;border:0;display:grid;font-size:12px;gap:5px;grid-template-columns:25px 1fr;padding:14px;text-align:left;width:100%}.section-select>span{grid-row:span 2}.section-select small,.section-select>span{color:var(--muted);font-size:10px}.section-actions{border-top:1px solid var(--line);display:flex}.section-actions button{background:transparent;border:0;border-right:1px solid var(--line);color:var(--muted);flex:1;font-size:10px;padding:6px}.section-actions button:last-child{border:0}.add-section{border:1px dashed #a7b29b;border-radius:5px;margin:20px 0}.add-section summary{color:var(--accent);cursor:pointer;font-size:12px;list-style:none;padding:15px;text-align:center}.add-section button{background:var(--paper);border:0;border-top:1px solid var(--line);color:var(--ink);display:flex;font-size:12px;justify-content:space-between;padding:12px 15px;text-align:left;width:100%}.add-section button:hover{background:var(--soft)}.form-panel{background:var(--paper);min-width:0;padding:35px 45px}.form-heading{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:25px}.form-heading h2{margin:10px 0 0}.form-heading h3{font-size:16px;margin:0}.form-panel h2{font-size:26px}.form-panel>.image-input,.form-panel>label{margin-bottom:25px}.centered-form{border:1px solid var(--line);border-radius:7px;margin:30px auto 60px;max-width:820px}.checkbox{align-items:center;flex-direction:row;font-size:12px;font-weight:400;gap:9px}.checkbox+.checkbox{margin-top:12px}.image-input{align-items:flex-start;display:flex;flex-direction:column;gap:10px;margin:20px 0}.field-label{font-size:13px;font-weight:500}.upload-button{background:var(--soft);border:1px dashed #a7b29b;border-radius:5px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:12px;padding:12px 18px;position:relative}.upload-button input{cursor:pointer;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.upload-preview{position:relative}.upload-preview img{border-radius:4px;max-height:200px;max-width:250px;-o-object-fit:contain;object-fit:contain}.upload-preview button{bottom:8px;position:absolute;right:8px}.nested-card{background:var(--bg);border:1px solid var(--line);border-radius:5px;margin:20px 0;padding:22px}.nested-card>label{margin-bottom:18px}.nested-card .form-heading{margin-bottom:15px}.revision-row{align-items:center;border-bottom:1px solid var(--line);display:flex;font-size:13px;gap:20px;justify-content:space-between;padding:18px 0}.revision-row small{color:var(--muted);line-height:2}:root[data-color-mode=dark]{--bg:#151b17;--paper:#1d251f;--ink:#e6eadf;--muted:#a4ad9f;--line:#394339;--accent:#b1c69b;--soft:#273128;--danger:#f2a294;--success:#b3d39f;--banner:#242b21;--sidebar:#19221b;--primary-text:#172016;color-scheme:dark}:root[data-color-mode=dark] .archive-intro h1 span{color:#a7b49c}:root[data-color-mode=dark] .intro-orbit{color:#344330}:root[data-color-mode=dark] .art-parchment{background:#303d2e;color:#bacda5}:root[data-color-mode=dark] .preview-label{background:#2d3a29;color:#c1d3b2}:root[data-color-mode=dark] .status-badge{background:#343c32;color:#c0c9b9}:root[data-color-mode=dark] .status-badge.published{background:#30432b;color:#c0d9b1}:root[data-color-mode=dark] .status-badge.archived{background:#423c30;color:#d7c8ae}:root[data-color-mode=dark] .work-page.theme-parchment{--paper:#222b22;--ink:#e7e9dc;--muted:#a5b09b;--line:#3d4839;--soft:#2c3829;background:#192118}.color-mode-toggle{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;color:var(--ink);display:inline-flex;font-size:11px;gap:7px;padding:7px 12px;white-space:nowrap}.color-mode-toggle:hover{background:var(--soft)}.color-mode-toggle span{font-size:16px;line-height:1}.section-actions .section-delete{color:var(--danger);font-weight:600}.section-actions .section-delete:hover{background:var(--soft)}.section-removal-notice{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:15px}.button.destructive{background:#a83b32;border-color:#a83b32;color:#fff}.button.destructive:hover{background:#8f2d27}.confirm-dialog{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 25px 80px #0004;color:var(--ink);max-width:none;padding:30px;width:min(480px,calc(100vw - 40px))}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050b07a6}.confirm-dialog h2{font-size:23px;margin:14px 0}.confirm-dialog p{color:var(--muted);font-size:13px}.confirm-dialog .button-row{justify-content:flex-end;margin-top:24px}@media(min-width:1350px){.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.container{width:calc(100% - 48px)}.intro-orbit{font-size:200px;opacity:.6;right:0;top:100px}.section-editor{grid-template-columns:240px minmax(0,1fr)}.form-panel{padding:30px}.centered-form{margin-left:24px;margin-right:24px}.editor-toolbar h1{font-size:20px}}@media(max-width:640px){.site-header{flex-wrap:wrap;gap:15px;min-height:75px;padding:20px}.brand{font-size:13px}.site-header nav{font-size:10px;gap:16px}.site-header nav>a:first-child{display:none}.container{width:calc(100% - 40px)}.archive-intro{padding-top:45px}.archive-intro h1{letter-spacing:-1.4px}.intro-orbit{font-size:140px;opacity:.4;right:-20px;top:150px}.archive-intro p{font-size:12px}.intro-bottom{font-size:10px;margin-top:35px}.collection{padding-top:35px}.collection-heading{align-items:flex-start;flex-direction:column;gap:10px}.collection h2{font-size:23px}.search-field{width:100%}.filter-row{gap:3px;margin-top:18px}.filter-row button{padding:7px 12px}.works-grid{gap:25px;grid-template-columns:1fr}.card-info{padding-top:16px}.site-footer{flex-wrap:wrap;gap:15px;padding:25px 20px}.site-footer>span:nth-child(2){display:none}.work-page{padding-left:20px;padding-right:20px}.work-breadcrumb{font-size:10px}.work-breadcrumb>span{max-width:50%;text-align:right}.section-space{margin-top:40px}.work-hero{min-height:380px;padding:35px 25px}.work-heading{padding-top:40px}.work-section h2{font-size:24px}.character-grid{grid-template-columns:1fr}.single .character-card{display:block}.single .character-portrait{aspect-ratio:4/3;min-height:0}.character-copy,.single .character-copy{padding:28px}.gallery-grid{grid-template-columns:1fr}.play-dock{align-items:stretch;bottom:10px;flex-direction:column;padding:12px}.play-dock>span{display:none}.play-dock .button-row{align-items:stretch;flex-direction:column}.admin-page{padding-top:35px}.admin-heading{align-items:flex-start;flex-direction:column}.admin-heading h1{font-size:28px}.preset-grid{grid-template-columns:1fr}.admin-work-row,.editor-toolbar{align-items:flex-start;flex-direction:column}.editor-toolbar{padding:20px}.editor-toolbar>.button-row{gap:6px;width:100%}.editor-toolbar .button{flex:1;font-size:11px;padding:10px}.editor-tabs{gap:22px;padding:0 20px}.section-editor{grid-template-columns:1fr}.section-sidebar{border-bottom:1px solid var(--line);border-right:0;padding:20px}.section-item{display:flex}.section-select{flex:1}.section-actions{border-left:1px solid var(--line);border-top:0;min-width:132px}.section-actions button{padding:10px 8px}.section-sidebar>p{display:none}.form-panel{padding:25px 20px}.centered-form{margin:20px}.nested-card{padding:17px}.revision-row{font-size:12px;gap:10px}.revision-row .button{font-size:10px;padding:9px}.login-card{margin-top:20px}.play-section{padding:35px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}
