:root{
  --bg:#fbfafb;--paper:#fff;--paper-2:#f8f8fa;--ink:#2f2d2f;--muted:#7c777c;--line:#e8e4e8;
  --pink:#d69bb3;--pink-soft:#f6e8ee;--blue:#dcecf7;--mint:#e3f1ea;--lav:#ece7f5;--shadow:0 10px 35px rgba(47,36,42,.06);
  --radius:16px;--max:1180px;--side:220px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:40;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(232,228,232,.9);background:rgba(251,250,251,.9);backdrop-filter:blur(14px)}.mini-brand{display:flex;align-items:center;gap:9px;font-size:.9rem}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px var(--pink-soft)}.topnav{display:flex;gap:22px;color:var(--muted);font-size:.78rem}.topnav a:hover{color:var(--ink)}
.page-shell{width:min(var(--max),calc(100% - 28px));margin:22px auto 80px}.cover-banner{height:240px;border-radius:20px 20px 8px 8px;position:relative;overflow:hidden;border:1px solid #edf0f3;background-size:cover;background-position:center}.soft-sky{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.32)),radial-gradient(circle at 14% 26%,rgba(255,255,255,.95),transparent 18%),radial-gradient(circle at 73% 18%,rgba(255,255,255,.8),transparent 20%),linear-gradient(180deg,#dcecf6 0 52%,#eef4f6 52% 63%,#dfeef1 63% 100%)}.soft-sky:after{content:"";position:absolute;left:-3%;right:-3%;bottom:20%;height:23px;background:rgba(255,255,255,.68);filter:blur(5px);transform:rotate(-1deg)}.cover-note{position:absolute;right:18px;bottom:15px;z-index:2;padding:5px 9px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.95);border-radius:999px;color:#7b8186;font-size:.68rem;letter-spacing:.08em}.page-title-block{position:relative;padding:22px 44px 20px}.page-icon{width:52px;height:52px;margin-top:-48px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:1.8rem;box-shadow:var(--shadow)}.tiny-kicker{margin:18px 0 3px;color:#a19aa1;font-size:.66rem;font-weight:700;letter-spacing:.16em}.page-title-block h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:2.25rem;letter-spacing:-.035em}.page-subtitle{margin:4px 0 0;color:#9b959a;font-size:.88rem}.scribble-line{display:flex;align-items:center;margin-top:10px;color:#cda8b7}.scribble-line:before,.scribble-line:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--pink-soft),#dfbaca,var(--pink-soft),transparent)}.scribble-line span{margin:0 8px;font-size:.72rem}
.notion-layout,.work-layout{display:grid;grid-template-columns:var(--side) 1fr;gap:32px;padding:0 44px}.sidebar-stack,.work-side,.main-stack{display:flex;flex-direction:column;gap:18px}.notion-card,.memo-card,.prose-card,.editor-card,.access-card{background:var(--paper);border:1px solid var(--line);border-radius:10px}.notion-card{padding:13px}.card-label,.section-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border-radius:2px;background:var(--pink-soft);font-family:Georgia,"Times New Roman",serif;font-size:.75rem}.quick-row{display:flex;justify-content:space-between;padding:9px 2px;border-bottom:1px solid #f0edf0;color:#5f5a5f;font-size:.78rem}.quick-row:last-child{border-bottom:0}.quick-row span{color:#b4acb2}.memo-card{padding:15px;background:#eef7fc;border-color:#e0eef5;color:#5c6b73;font-size:.78rem}.compact-card{padding-bottom:10px}.link-stack{display:flex;flex-direction:column;margin-top:8px}.link-stack a{display:flex;justify-content:space-between;padding:7px 2px;border-bottom:1px dashed var(--line);font-size:.75rem}.link-stack a:last-child{border-bottom:0}
.board-section{scroll-margin-top:78px;padding:8px 0 22px}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:9px}.section-title-row h2{display:inline;margin:0 0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}.section-title-row p{margin:0;color:#a09aa0;font-size:.72rem}.section-chip.alt{background:#f5eaf1}.section-chip.blue{background:var(--blue)}.section-chip.mint{background:var(--mint)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{display:grid;grid-template-columns:120px 1fr;min-height:168px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.2s ease}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.project-cover{position:relative;background:linear-gradient(145deg,var(--theme,#efcad6),#f8f4f6);background-size:cover;background-position:center}.project-cover:after{content:"♡";position:absolute;right:9px;top:7px;color:rgba(255,255,255,.9);font-size:1.1rem}.project-copy{padding:15px 15px 13px;min-width:0}.project-copy small{color:#a59ea4;font-size:.62rem;letter-spacing:.08em}.project-copy h3{margin:3px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:1.12rem}.project-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:#8b858a;font-size:.73rem}.project-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.micro-btn,.pill-btn,.tab-btn{border:1px solid var(--line);background:#fff;color:#6d676d;border-radius:6px;padding:5px 8px;font-size:.67rem}.micro-btn.primary{background:#f8eef2;border-color:#edd8e1;color:#8b5f70}.micro-btn:hover,.pill-btn:hover,.tab-btn:hover{border-color:#d8c8cf;color:#3a3538}
.teaser-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.teaser-card{min-height:140px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,#f9f3f6,#eef4f8);background-size:cover;background-position:center;position:relative;overflow:hidden}.teaser-card.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.83))}.teaser-card>*{position:relative}.teaser-card small{font-size:.62rem;color:#aa8e9b}.teaser-card b{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}.teaser-card p{margin:3px 0 0;color:#8d858b;font-size:.72rem}
.pill-row{display:flex;gap:6px;flex-wrap:wrap}.pill-btn.active{background:#f7ebf0;border-color:#e8cfd9;color:#7e5665}.masonry-grid{columns:4 150px;column-gap:9px}.image-card{position:relative;break-inside:avoid;margin:0 0 9px;width:100%;border:0;padding:0;background:#f1eef0;border-radius:6px;overflow:hidden;text-align:left;color:inherit;display:block}.image-card img,.image-placeholder{width:100%;display:block;min-height:125px;object-fit:cover;background:linear-gradient(145deg,#f0dfe6,#e3edf4)}.image-card:nth-child(3n+1) .image-placeholder{min-height:190px}.image-card:nth-child(4n+2) .image-placeholder{min-height:150px}.image-caption{position:absolute;left:0;right:0;bottom:0;padding:24px 9px 7px;background:linear-gradient(180deg,transparent,rgba(42,36,40,.62));color:#fff}.image-caption small{display:block;opacity:.8;font-size:.58rem}.image-caption b{font-size:.7rem}.mature-lock{display:grid;place-items:center;min-height:165px;background:repeating-linear-gradient(135deg,#f9f3f6 0 10px,#f5eef2 10px 20px);border:1px dashed #e4d4da;color:#946c7b}.mature-lock span{display:block;text-align:center;font-size:.7rem}.mature-lock b{display:block;font-family:Georgia,serif;font-size:1.1rem}
.news-board{border:1px solid var(--line);border-radius:8px;background:#fff}.news-row{display:grid;grid-template-columns:100px 1fr 85px;gap:12px;padding:10px 12px;border-bottom:1px solid #f0edf0;align-items:center;font-size:.72rem}.news-row:last-child{border-bottom:0}.news-row time{color:#a39ca2}.news-tag{justify-self:end;padding:2px 6px;background:#f6eff2;border-radius:3px;color:#9b7584;font-size:.6rem}.site-footer{text-align:center;padding:30px;color:#aaa3a8;font-size:.67rem;border-top:1px solid var(--line)}
.back-link{display:inline-block;margin:12px 0 14px 44px;color:#918991;font-size:.75rem}.work-hero{min-height:300px;margin:0 44px 24px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:linear-gradient(145deg,#f1dce4,#e3edf4);background-size:cover;background-position:center}.work-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.9))}.work-hero-copy{position:relative;padding:34px;width:min(720px,100%)}.work-hero-copy small{color:#8e7b84;font-size:.65rem;letter-spacing:.1em}.work-hero-copy h1{margin:4px 0 5px;font-family:Georgia,serif;font-size:2.3rem}.work-hero-copy p{margin:0;color:#787078}.work-meta-list{display:grid;gap:8px}.meta-row{display:grid;grid-template-columns:62px 1fr;gap:8px;font-size:.73rem}.meta-row b{color:#a1989f;font-weight:500}.prose-card{padding:22px;color:#5f595e;font-size:.86rem;white-space:pre-wrap}.character-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.character-card{display:grid;grid-template-columns:92px 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.character-thumb{background:linear-gradient(145deg,#f0dbe3,#e6eff4);background-size:cover;background-position:center}.character-copy{padding:13px}.character-code{font-size:.62rem;color:#a78d98;letter-spacing:.08em}.character-copy h3{margin:1px 0 2px;font-family:Georgia,serif}.character-copy p{margin:0;color:#8e878c;font-size:.71rem}.character-actions{display:flex;gap:5px;margin-top:9px}
.character-shell{max-width:1050px}.character-hero{display:grid;grid-template-columns:180px 1fr;gap:24px;margin:0 44px 18px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.character-hero-image{aspect-ratio:4/5;border-radius:8px;background:linear-gradient(145deg,#efdae2,#dfeaf1);background-size:cover;background-position:center}.character-hero-copy{align-self:center}.character-hero-copy small{color:#aa8e9a;font-size:.66rem}.character-hero-copy h1{margin:2px 0;font-family:Georgia,serif;font-size:2.2rem}.character-hero-copy p{margin:5px 0;color:#827b80}.character-tabs{display:flex;gap:8px;margin:0 44px 16px;border-bottom:1px solid var(--line);padding-bottom:9px}.tab-btn.active{background:#f5e8ed;border-color:#e5cdd7;color:#7c5765}.character-panel{margin:0 44px}.character-profile-layout{display:grid;grid-template-columns:240px 1fr;gap:22px}.portrait-card{aspect-ratio:4/5;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,#efd9e2,#e2edf3);background-size:cover;background-position:center}.facts-card{margin-top:12px}.facts-card .meta-row{padding:5px 0;border-bottom:1px dashed var(--line)}.facts-card .meta-row:last-child{border-bottom:0}.character-setting{min-height:390px}
.image-dialog{width:min(900px,calc(100vw - 26px));max-height:calc(100vh - 26px);padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 30px 90px rgba(38,30,35,.25)}.image-dialog::backdrop,.gate-dialog::backdrop{background:rgba(54,47,52,.4);backdrop-filter:blur(7px)}.image-dialog img{display:block;width:100%;max-height:72vh;object-fit:contain;background:#f6f2f4}.dialog-copy{padding:13px 16px 16px}.dialog-copy p{margin:2px 0 0;color:#918990;font-size:.75rem}.dialog-x{position:absolute;right:10px;top:9px;z-index:5;width:34px;height:34px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(255,255,255,.82);color:#655e63;font-size:1.2rem}.gate-dialog{width:min(390px,calc(100vw - 28px));padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center}.gate-icon{width:58px;height:58px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:#f7e7ed;color:#905e70;font-family:Georgia,serif;font-weight:700}.gate-dialog h3{margin:2px 0 4px;font-family:Georgia,serif}.gate-dialog>p{margin:0 0 16px;color:#8c848a;font-size:.77rem}.gate-dialog label,.admin-shell label{display:grid;gap:5px;text-align:left;color:#6c666a;font-size:.73rem}.gate-dialog input,.admin-shell input,.admin-shell textarea,.admin-shell select{width:100%;border:1px solid #ddd7db;border-radius:7px;background:#fff;padding:9px 10px;color:#403c3f;outline:none}.gate-dialog input:focus,.admin-shell input:focus,.admin-shell textarea:focus,.admin-shell select:focus{border-color:#d7aebb;box-shadow:0 0 0 3px #f8edf1}.primary-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:8px 12px;font-size:.73rem}.primary-btn{border:1px solid #d6a8b8;background:#d69bb3;color:#fff}.secondary-btn{border:1px solid #ddd5da;background:#fff;color:#655f63}.danger-btn{border:1px solid #e6c9cf;background:#fff7f8;color:#a65d69}.gate-dialog .primary-btn{width:100%;margin-top:10px}.form-error{min-height:1.2em;margin:7px 0 0;color:#b45262;font-size:.68rem}
.admin-body{background:#f6f7f9}.admin-shell{width:min(1280px,calc(100% - 26px));margin:28px auto 70px}.admin-login{width:min(460px,100%);margin:80px auto;padding:28px}.admin-login h1,.admin-heading h1{margin:0;font-family:Georgia,serif}.admin-login p{color:#8d878c;font-size:.78rem}.admin-login form{display:grid;gap:10px}.admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.admin-heading p{margin:4px 0 0}.status-line{color:#8c858a;font-size:.72rem}.admin-actions{display:flex;gap:8px}.admin-layout{display:grid;grid-template-columns:190px 1fr;gap:18px}.admin-nav{display:flex;flex-direction:column;gap:5px;align-self:start;position:sticky;top:76px}.admin-nav button{border:0;background:transparent;text-align:left;padding:9px;border-radius:6px;color:#746d72;font-size:.75rem}.admin-nav button.active{background:#f4e8ed;color:#704f5c;font-weight:700}.admin-panels{min-width:0}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.panel-head{margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-family:Georgia,serif;font-size:1.25rem}.panel-head p{margin:3px 0 0;color:#918990;font-size:.73rem}.with-action{display:flex;justify-content:space-between;gap:16px;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.span-2{grid-column:span 2}.admin-shell small{color:#9d959b;font-size:.66rem}.editor-split{display:grid;grid-template-columns:240px 1fr;gap:14px}.admin-list{border:1px solid var(--line);border-radius:8px;overflow:hidden;align-self:start}.admin-list button{display:block;width:100%;padding:10px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:#635d61;font-size:.73rem}.admin-list button:last-child{border-bottom:0}.admin-list button.active{background:#faf0f4;color:#744f5d}.editor-card{padding:16px}.empty-editor{color:#a69fa4;font-size:.75rem}.editor-card .form-grid{margin-bottom:12px}.editor-toolbar{display:flex;gap:7px;justify-content:flex-end;margin-top:14px}.admin-image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-image-card{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.admin-image-preview{height:130px;border-radius:6px;background:linear-gradient(145deg,#f0dce4,#e2ecf2);background-size:cover;background-position:center;margin-bottom:9px}.admin-image-card label{margin-bottom:7px}.inline-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important}.inline-check input{width:auto!important}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-columns h3{font-family:Georgia,serif;font-size:1rem}.mini-editor-row{display:grid;grid-template-columns:110px 1fr auto;gap:6px;margin-bottom:6px}.mini-editor-row input{padding:7px 8px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:6px;color:#9b7c88}.access-card{display:grid;grid-template-columns:1fr 280px auto;gap:12px;align-items:end;padding:16px;margin-bottom:14px}.access-card p{margin:3px 0 0;color:#938b91;font-size:.7rem}.access-card form{display:grid;grid-template-columns:1fr auto;gap:6px}.password-output{display:block;margin-top:10px;padding:10px;border:1px dashed #d9c3cb;border-radius:7px;background:#fff8fa;color:#7d5764;font-weight:700;letter-spacing:.06em;word-break:break-all}.backup-actions{display:flex;gap:8px;flex-wrap:wrap}.file-btn input{display:none}
@media(max-width:900px){.notion-layout,.work-layout{grid-template-columns:1fr;padding:0 24px}.sidebar-stack,.work-side{display:grid;grid-template-columns:repeat(3,1fr);align-items:start}.project-grid{grid-template-columns:1fr}.masonry-grid{columns:3 140px}.work-hero,.character-hero,.character-tabs,.character-panel{margin-left:24px;margin-right:24px}.back-link{margin-left:24px}.admin-layout{grid-template-columns:1fr}.admin-nav{position:static;display:grid;grid-template-columns:repeat(4,1fr)}.admin-image-grid{grid-template-columns:repeat(2,1fr)}.editor-split{grid-template-columns:1fr}.admin-list{display:grid;grid-template-columns:repeat(2,1fr)}.access-card{grid-template-columns:1fr}.character-profile-layout{grid-template-columns:210px 1fr}}
@media(max-width:650px){.topbar{padding:0 14px}.topnav{gap:12px}.topnav a:nth-child(2){display:none}.page-shell{width:100%;margin-top:0}.cover-banner{height:178px;border-radius:0;border-left:0;border-right:0}.page-title-block{padding:20px 18px}.notion-layout,.work-layout{padding:0 18px}.sidebar-stack,.work-side{grid-template-columns:1fr}.project-card{grid-template-columns:92px 1fr}.teaser-grid,.character-grid{grid-template-columns:1fr}.masonry-grid{columns:2 130px}.section-title-row{align-items:start;flex-direction:column}.news-row{grid-template-columns:80px 1fr}.news-tag{display:none}.work-hero{margin:0 18px 20px;min-height:260px}.work-hero-copy{padding:24px}.back-link{margin-left:18px}.character-hero{grid-template-columns:100px 1fr;margin:0 18px 16px;padding:12px;gap:14px}.character-hero-copy h1{font-size:1.6rem}.character-tabs,.character-panel{margin-left:18px;margin-right:18px}.character-profile-layout{grid-template-columns:1fr}.portrait-card{max-width:240px}.admin-shell{width:calc(100% - 18px)}.admin-heading{align-items:start;flex-direction:column}.admin-nav{grid-template-columns:repeat(2,1fr)}.form-grid,.two-columns{grid-template-columns:1fr}.span-2{grid-column:span 1}.admin-image-grid{grid-template-columns:1fr}.admin-list{grid-template-columns:1fr}.mini-editor-row{grid-template-columns:1fr}.access-card form{grid-template-columns:1fr}}
