
@font-face{font-family:"Chosun Gulim";src:url("/fonts/chosun-gulim.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:"Chosun Logo";src:url("/fonts/chosun-logo.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{--ink:#29252a;--muted:#7e747c;--line:#eadfe5;--accent:#ec78a1;--soft:#fff0f5;--paper:#fff;--shadow:0 18px 55px rgba(89,52,70,.1);--font-body:"Chosun Gulim","Malgun Gothic",sans-serif;--font-display:"Chosun Logo","Chosun Gulim","Malgun Gothic",sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#fff9fb,#fff 38rem);color:var(--ink);font:15px/1.65 var(--font-body)}button,input,textarea,select{font:inherit}h1,h2,h3,.brand,.eye,.side button,.btn,.node a,.placeholder,.avatar,.boot b{font-family:var(--font-display)}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.boot b{font-size:42px;color:var(--accent)}.header{position:sticky;top:0;z-index:30;height:66px;border-bottom:1px solid var(--line);background:#fffafbeF;backdrop-filter:blur(16px)}.header-in,.admin-in,.main{max-width:1280px;margin:auto}.header-in{height:100%;display:flex;align-items:center;padding:0 24px}.brand{font-size:22px;font-weight:950}.brand i{color:var(--accent)}.tagline{margin-left:auto;color:var(--muted);font-size:12px}.admin{position:sticky;top:66px;z-index:25;background:var(--ink);color:#fff}.admin-in{display:flex;gap:7px;align-items:center;padding:9px 24px;overflow:auto}.admin-in>*{flex:none}.admin-in .grow{flex:1}.main{padding:34px 24px 90px}.home{display:grid;grid-template-columns:180px minmax(0,1fr);gap:42px}.side{position:sticky;top:98px;display:grid;gap:5px;align-self:start}.side small{padding:0 12px 7px;color:var(--accent);font-weight:900;letter-spacing:.12em}.side button{border:0;background:none;text-align:left;padding:10px 12px;border-radius:11px;color:var(--muted);font-weight:800}.side button:hover{background:var(--soft)}.side button.on{background:var(--ink);color:#fff}.head{display:flex;align-items:end;gap:14px;margin-bottom:24px}.head h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1.1;letter-spacing:-.05em}.head h2{margin:0;font-size:27px}.head p{margin:6px 0 0;color:var(--muted)}.grow{flex:1}.eye{display:block;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-weight:800}.btn.sm{font-size:11px;padding:5px 9px}.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.red{color:#b72850;background:#fff7fa}.works{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:23px 12px}.work{position:relative;min-width:0}.thumb{aspect-ratio:2/3;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#ffe7f0,#efebff);box-shadow:0 5px 17px #59344612;transition:.2s}.work:hover .thumb{transform:translateY(-3px);box-shadow:var(--shadow)}.thumb img{width:100%;height:100%;object-fit:cover}.placeholder{height:100%;display:grid;place-items:center;color:#ec78a166;font-size:45px;font-weight:950}.work h3{font-size:15px;margin:9px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work p{font-size:12px;color:var(--muted);margin:3px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tools{position:absolute;z-index:4;right:6px;top:6px;display:flex;gap:4px}.empty{border:1px dashed #dbcbd3;border-radius:18px;padding:36px;text-align:center;color:var(--muted)}.list{display:grid;gap:11px}.item,.paper{position:relative;border:1px solid var(--line);background:#fff;border-radius:18px;padding:21px;box-shadow:0 6px 22px #412b360a}.item h3{margin:0 0 4px}.item p{margin:0;color:var(--muted)}.profile{display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:center}.profile img,.avatar{width:150px;aspect-ratio:1;border-radius:30px;object-fit:cover;background:var(--soft)}.avatar{display:grid;place-items:center;color:var(--accent);font-size:32px;font-weight:900}.tree{display:grid;gap:3px}.node{display:flex;align-items:center;gap:4px}.node a{flex:1;padding:8px 10px;border-radius:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node a:hover{background:var(--soft)}.node.on a{background:var(--ink);color:#fff}.children{margin-left:16px;padding-left:9px;border-left:1px solid var(--line)}.detail-layout{display:grid;grid-template-columns:230px minmax(0,880px);gap:42px}.detail-nav{position:sticky;top:98px;align-self:start}.detail{min-width:0;margin:auto}.back{display:inline-block;color:var(--muted);font-weight:800;margin-bottom:20px}.title{font-size:clamp(40px,7vw,72px);line-height:1.05;letter-spacing:-.06em;margin:4px 0 0}.summary{font-size:17px;color:var(--muted);white-space:pre-wrap}.actions,.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.chip{border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--muted);font-size:12px}.tag{color:#7563cf;background:#f7f4ff}.section{padding-top:36px}.section .head{margin-bottom:15px}.rich{overflow-wrap:anywhere}.rich h1,.rich h2,.rich h3{line-height:1.3;margin:1.5em 0 .6em}.rich p{margin:.7em 0}.rich ul{padding-left:1.3em}.rich hr{border:0;border-top:1px solid var(--line);margin:26px 0}.rich code{background:#fff0f5;color:#bc345f;padding:1px 5px;border-radius:5px;font-family:Consolas,monospace}.rich-img{margin:20px 0}.rich-img img{width:100%;max-height:900px;object-fit:contain;object-position:left;background:#f7f3f5}.missing{padding:10px;border:1px dashed #df99b0;color:#a74b69}.codebox{position:relative;background:#27242a;color:#fff;border-radius:13px;overflow:hidden;margin:17px 0}.codebox pre{margin:0;padding:19px;overflow:auto}.codebox code{background:none;color:inherit;padding:0}.copy{position:absolute;right:7px;top:7px;border:1px solid #ffffff44;background:#ffffff18;color:#fff;border-radius:7px;padding:4px 8px}.recommend{border-left:5px solid #8172d7}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.pic{position:relative;aspect-ratio:1;margin:0;overflow:hidden;border-radius:13px;background:var(--soft)}.pic>img{width:100%;height:100%;object-fit:cover}.pic .tools{top:auto;bottom:5px}.adult{padding:27px;text-align:center;background:linear-gradient(135deg,#fff5f8,#f7f2ff);border:1px solid #e9ccd7;border-radius:18px}.adult form{display:flex;gap:7px;max-width:420px;margin:14px auto 0}.adult input{flex:1;min-width:0}.field{display:grid;gap:6px;margin:13px 0}.field label{font-size:13px;font-weight:850}.field small{color:var(--muted);white-space:pre-wrap}.field input,.field textarea,.field select,.adult input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.field textarea{min-height:110px;resize:vertical}.field textarea.editor{min-height:310px;font:13px/1.6 Consolas,monospace}.check{display:flex;align-items:center}.check input{width:auto}.modal-bg{position:fixed;inset:0;z-index:100;background:#19131688;display:grid;place-items:center;padding:10px}.modal{width:min(720px,100%);max-height:91vh;overflow:auto;background:#fff;border-radius:22px;padding:25px}.modal-head,.modal-actions{display:flex;align-items:center;gap:8px}.modal-head h2{margin:0;flex:1}.modal-actions{justify-content:flex-end;margin-top:18px}.toast{position:fixed;z-index:200;right:18px;bottom:18px;background:var(--ink);color:#fff;padding:12px 15px;border-radius:12px}.toast.err{background:#a82d50}.lightbox{position:fixed;inset:0;z-index:110;background:#0f0c0eee;display:grid;place-items:center}.lightbox img{max-width:95vw;max-height:93vh}.lightbox button{position:absolute;right:18px;top:15px;background:none;border:0;color:#fff;font-size:33px}.login{min-height:100vh;display:grid;place-items:center}.login form{width:min(430px,90%)}footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:28px;font-size:12px}@media(max-width:1100px){.works{grid-template-columns:repeat(4,1fr)}}@media(max-width:850px){.main{padding:20px 16px 70px}.home,.detail-layout{display:block}.side{position:sticky;top:66px;z-index:20;display:flex;overflow:auto;margin:-20px -16px 22px;padding:9px 16px;background:#fffafbf2;border-bottom:1px solid var(--line)}.side small{display:none}.side button{flex:none}.admin-mode .side{top:111px}.detail-nav{position:static;margin-bottom:22px}.works{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.header{height:58px}.header-in{padding:0 16px}.tagline{display:none}.admin{top:58px}.admin-in{padding:7px 11px}.admin-mode .side{top:101px}.works{grid-template-columns:repeat(2,1fr);gap:20px 9px}.gallery{grid-template-columns:repeat(2,1fr)}.head{align-items:start;flex-wrap:wrap}.profile{display:block}.profile img,.avatar{width:94px;margin-bottom:14px}.paper{padding:17px}.rich-img{margin-left:-17px;margin-right:-17px}.adult form{display:grid}}
.home-dashboard{min-width:0}.home-hero{position:relative;min-height:260px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:radial-gradient(circle at 18% 20%,#fff 0 7%,transparent 8%),radial-gradient(circle at 82% 24%,#fff 0 5%,transparent 6%),linear-gradient(135deg,#ffe9f1,#f3efff 54%,#e5f5f1);box-shadow:var(--shadow)}.home-hero.has-image{background-position:center;background-size:cover}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(35,25,31,.52))}.home-hero-tools{position:absolute;z-index:2;right:16px;top:16px;display:flex;gap:7px}.home-hero-copy{position:absolute;z-index:2;left:clamp(22px,5vw,54px);right:22px;bottom:28px;color:#fff;text-shadow:0 2px 16px #24182066}.home-hero-copy h1{margin:0;font:950 clamp(36px,6vw,68px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.045em}.home-hero-copy p{margin:8px 0 0;max-width:680px;font-weight:700;white-space:pre-wrap}.home-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:26px 8px 14px}.home-intro h2{font-size:25px;margin:0}.home-intro p{color:var(--muted);margin:5px 0 0;white-space:pre-wrap}.home-shortcuts{display:flex;gap:8px;flex-wrap:wrap}.home-shortcuts button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-weight:800}.home-shortcuts button:hover{background:var(--soft)}.widget-head{display:flex;align-items:end;gap:12px;margin:26px 0 14px}.widget-head h2{margin:0;font-size:22px}.widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.widget{position:relative;grid-column:span 6;min-width:0;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 24px #412b360b;overflow:hidden}.widget[data-width="narrow"]{grid-column:span 4}.widget[data-width="normal"]{grid-column:span 6}.widget[data-width="wide"]{grid-column:span 8}.widget[data-width="full"]{grid-column:1/-1}.widget-inner{padding:20px}.widget .eye{margin-bottom:5px}.widget h3{margin:0 0 8px;font-size:18px}.widget-note{color:var(--muted);margin:10px 0 0;white-space:pre-wrap}.widget-media{aspect-ratio:16/9;background:#f4eef1}.widget-media iframe,.widget-media img{border:0;width:100%;height:100%;object-fit:cover}.widget-audio{width:100%;margin-top:12px}.music-link,.home-link{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#fff6fa,#f7f4ff);font-weight:850}.music-link span:first-child,.home-link span:first-child{font-size:24px}.clock{text-align:center;padding:28px 20px;background:linear-gradient(145deg,#fff5f8,#f4f1ff)}.clock-time{font:800 clamp(31px,5vw,50px)/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.06em}.clock-date{margin-top:10px;color:var(--muted);font-weight:700}.widget .tools{right:9px;top:9px}.widget-empty{padding:34px;border:1px dashed #dbcbd3;border-radius:18px;text-align:center;color:var(--muted)}@media(max-width:1000px){.widget[data-width="narrow"],.widget[data-width="normal"],.widget[data-width="wide"]{grid-column:span 6}}@media(max-width:700px){.home-hero{min-height:230px;border-radius:18px}.home-intro{display:block;padding:21px 2px 10px}.home-shortcuts{margin-top:15px}.widget-grid{display:block}.widget{margin-bottom:12px}.widget-media{aspect-ratio:16/10}}@media(max-width:420px){.home-hero{min-height:210px}.home-hero-tools{right:9px;top:9px}.home-hero-copy{left:20px;bottom:22px}.home-hero-copy p{font-size:13px}}
.inline-editor-tip{margin:14px 0;padding:12px 14px;border:1px solid #f0ccd9;border-radius:13px;background:#fff5f8;color:#76515f}.inline-editor-tip b{color:#b52f5b}.inline-editor-toolbar{position:sticky;top:-25px;z-index:3;display:flex;align-items:center;gap:9px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fffffff2;backdrop-filter:blur(10px)}.inline-editor-toolbar small{color:var(--muted)}.field textarea.inline-editor{min-height:48vh}.editor-status{color:#387457!important;font-weight:750}@media(max-width:560px){.inline-editor-toolbar{align-items:flex-start;flex-direction:column}.field textarea.inline-editor{min-height:54vh}}
html{scroll-behavior:smooth}button,a[data-nav],[data-sec],.item,.work a,.feed-post{transition:transform .34s cubic-bezier(.34,1.7,.5,1),opacity .18s ease,box-shadow .12s ease,background-color .12s ease}button:active,a[data-nav]:active,[data-sec]:active,.item:active,.work a:active,.feed-post:active,.pressed{transform:scale(.96)!important;opacity:.78;transition:transform .07s ease,opacity .07s ease}.loading{position:relative;pointer-events:none;opacity:.62}.loading:after{content:"";display:inline-block;width:12px;height:12px;margin-left:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body.page-loading .main{opacity:.82;transition:opacity .12s}.detail-layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);width:100%}.detail{width:100%;max-width:none;margin:0}.guide-root{display:block}.guide-preview{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.guide-preview a{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 9px}.guide-preview-empty{font-size:12px;color:var(--muted)}.works-list{display:grid;grid-template-columns:1fr;gap:12px}.works-list .work>a{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:15px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:10px;background:#fff}.works-list .thumb{grid-row:1/3;width:92px}.works-list .work h3,.works-list .work p{margin:0}.list.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.about-compact .profile{grid-template-columns:92px 1fr}.about-compact .profile img,.about-compact .avatar{width:92px;border-radius:22px}.adult-section{scroll-margin-top:90px}.adult-nav{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 22px}.adult-nav button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 10px;color:var(--muted);font-size:12px;font-weight:800}.adult-group{padding-top:10px;margin-top:25px;scroll-margin-top:115px}.adult-group:first-of-type{margin-top:0}.adult-group-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 12px}.adult-group-head .adult-group-title{margin:0}.adult-group-head .gallery-section-x{flex:none}.gallery-empty-note{margin:0 0 12px}.adult-group-title{margin:0 0 12px;letter-spacing:-.03em}.adult-group-title.title-small{font-size:19px}.adult-group-title.title-medium{font-size:26px}.adult-group-title.title-large{font-size:36px}.adult-pic img{transition:filter .22s ease,transform .22s ease}.adult-pic.blurred img{filter:blur(12px);transform:scale(1.08)}.adult-warning{position:absolute;z-index:3;inset:0;display:grid;place-items:center;padding:16px;text-align:center;background:#211a2088;color:#fff;border:0;font-weight:850;line-height:1.45}.adult-warning small{display:block;margin-top:7px;font-weight:600;opacity:.88}.adult-pic:not(.blurred) .adult-warning{display:none}.adult-tools{left:6px}.dropzone{margin-top:14px;border:2px dashed #d9bdc9;border-radius:16px;padding:22px;text-align:center;color:var(--muted);background:#fffafd;font-weight:750}.dropzone.dragging{border-color:var(--accent);background:var(--soft);color:var(--ink);transform:scale(.995)}.inline-dropzone{padding:13px;margin:10px 0}.field-note{color:var(--muted);font-size:12px}.layout-compact .item{padding:14px 17px}.qna-cards .tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qna-cards .node a{border:1px solid var(--line);background:#fff;padding:15px;border-radius:14px}.qna-cards .children{grid-column:1/-1}@media(max-width:850px){.detail-layout{width:auto}.list.cards,.qna-cards .tree{grid-template-columns:1fr}.adult-group-title.title-large{font-size:30px}}@media(max-width:560px){.adult-nav{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.adult-nav button{flex:none}.dropzone{padding:17px}.adult-group-title.title-large{font-size:27px}}
.work-toc{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:24px 0 4px;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 18px #412b3608}.work-toc b{margin-right:3px;font-size:12px;color:var(--accent);letter-spacing:.08em}.work-toc button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 10px;color:var(--muted);font-size:12px;font-weight:800}.work-toc button:hover{background:var(--soft);color:var(--ink)}.work-section{scroll-margin-top:92px}.work-section-admin{display:flex;gap:6px;flex-wrap:wrap}.work-section .head{align-items:center}@media(max-width:560px){.work-toc{overflow-x:auto;flex-wrap:nowrap;padding:11px 12px}.work-toc b,.work-toc button{flex:none}.work-section{scroll-margin-top:76px}}
.page-toc{position:sticky;top:76px;z-index:18;background:#fffafbf2;backdrop-filter:blur(14px)}.admin-mode .page-toc{top:121px}.work-toc button.on{border-color:var(--ink);background:var(--ink);color:#fff}.markdown-section{scroll-margin-top:150px}.markdown-section .head{margin-bottom:12px}.markdown-section .paper{padding:clamp(20px,4vw,34px)}@media(max-width:560px){.page-toc{top:66px;margin-left:-2px;margin-right:-2px}.admin-mode .page-toc{top:108px}.markdown-section{scroll-margin-top:136px}}
.profile p{white-space:pre-wrap;overflow-wrap:anywhere}.about-sections{display:grid;gap:16px;margin-top:22px}.about-section{position:relative;padding:24px}.about-section .eye{margin-bottom:5px}.about-section h2{margin:0 0 10px;font-size:27px;line-height:1.25}.about-section .rich{margin-top:10px}.about-section-tools{position:absolute;right:16px;top:16px;display:flex;gap:5px}.about-section-tools+.eye,.about-section-tools~h2{padding-right:118px}@media(max-width:560px){.about-section{padding:19px}.about-section-tools{position:static;justify-content:flex-end;margin-bottom:10px}.about-section-tools+.eye,.about-section-tools~h2{padding-right:0}}
#work-characters .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:24px 14px}#work-characters .item{min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}#work-characters .item>img{width:100%!important;aspect-ratio:1!important;object-fit:cover!important;border-radius:14px!important;float:none!important;margin:0 0 10px!important;border:1px solid var(--line);background:var(--soft)}#work-characters .item>a{display:block}#work-characters .item h3{margin:0 0 2px;font-size:15px;line-height:1.35}#work-characters .item p{display:-webkit-box;margin:0;color:var(--muted);font-size:12px;line-height:1.5;white-space:normal;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}#work-characters .item>div:last-child{display:none}#work-characters .tools{right:7px;top:7px;max-width:calc(100% - 14px);flex-wrap:wrap;justify-content:flex-end}#work-characters .tools .btn{box-shadow:0 2px 8px #24182022}@media(max-width:420px){#work-characters .list{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 10px}}
#work-characters .item{cursor:pointer}.rich-img{display:grid;justify-items:center;width:min(100%,760px);margin:30px auto;text-align:center}.rich-img img{width:auto;max-width:100%;max-height:none;margin:auto;border-radius:16px;background:transparent;box-shadow:0 10px 30px #412b3612}.rich-img figcaption{margin-top:7px;text-align:center;color:var(--muted);font-size:12px}.rich-carousel{position:relative;width:min(100%,860px);margin:30px auto}.rich-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border:1px solid var(--line);border-radius:18px;background:#f8f4f6;box-shadow:0 10px 30px #412b3610;scrollbar-width:none}.rich-carousel-track::-webkit-scrollbar{display:none}.rich-carousel-slide{flex:0 0 100%;display:grid;place-items:center;min-width:0;min-height:280px;margin:0;padding:14px;scroll-snap-align:center}.rich-carousel-slide img{width:auto;max-width:100%;max-height:min(78vh,900px);object-fit:contain;border-radius:12px}.carousel-arrow{position:absolute;z-index:4;top:50%;width:42px;height:42px;margin-top:-21px;border:1px solid #ffffff99;border-radius:50%;background:#221b21b8;color:#fff;font-size:28px;line-height:1;box-shadow:0 4px 15px #0003}.carousel-arrow.prev{left:12px}.carousel-arrow.next{right:12px}.carousel-count{position:absolute;z-index:4;right:14px;bottom:12px;padding:3px 8px;border-radius:999px;background:#221b21b8;color:#fff;font-size:11px;font-weight:800}.gallery-zone{display:grid;gap:14px}.gallery-upload-zones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.adult-badge{position:absolute;z-index:2;left:7px;top:7px;padding:3px 7px;border-radius:999px;background:#20191fdd;color:#fff;font-size:10px;font-weight:900}.gallery-lock{margin-top:18px}.category-actions{display:flex;gap:7px;flex-wrap:wrap}.side-add{margin-top:8px!important;border:1px dashed #d9bdc9!important;color:var(--accent)!important}.custom-category .paper{padding:clamp(20px,4vw,42px)}.editor-preview{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fffafd}.editor-preview>span{margin-bottom:10px}.editor-preview .rich-img,.editor-preview .rich-carousel{margin:18px auto}@media(max-width:560px){.rich-img,.rich-carousel{width:100%;margin:24px auto}.rich-img img,.rich-carousel-track{border-radius:12px}.rich-carousel-slide{min-height:220px;padding:8px}.carousel-arrow{width:36px;height:36px;margin-top:-18px;font-size:23px}.carousel-arrow.prev{left:7px}.carousel-arrow.next{right:7px}.gallery-upload-zones{grid-template-columns:1fr}.category-actions{width:100%}}
.gallery-bulk{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fffafd}.gallery-bulk label{display:flex;align-items:center;gap:6px;font-weight:800}.gallery-bulk input,.gallery-select input{accent-color:var(--accent)}.gallery-bulk-count{color:var(--muted);font-size:12px}.gallery-select{position:absolute;z-index:7;left:8px;top:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#fff;box-shadow:0 2px 10px #24182035;cursor:pointer}.gallery-select input{width:17px;height:17px;margin:0}.pic:has(.gallery-select input:checked){outline:4px solid var(--accent);outline-offset:-4px}.pic:has(.gallery-select) .adult-badge{left:43px}.gallery-bulk .btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:560px){.gallery-bulk{align-items:stretch}.gallery-bulk .btn{margin-left:auto}}
@font-face{font-family:"Maru Buri Site";src:url("/fonts/maru-buri-semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:"Gmarket Sans Site";src:url("/fonts/gmarket-sans-medium.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Gmarket Sans Site";src:url("/fonts/gmarket-sans-bold.ttf") format("truetype");font-style:normal;font-weight:700 900;font-display:swap}@font-face{font-family:"Chosun Shinmyeongjo Site";src:url("/fonts/chosun-shinmyeongjo.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Chosun Thick Myeongjo Site";src:url("/fonts/chosun-thickmyeongjo.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:"Black Han Sans Site";src:url("/fonts/black-han-sans.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"SB Aggro Light Site";src:url("/fonts/sb-aggro-light.ttf") format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:"Pretendard GOV Site";src:url("/fonts/pretendard-gov-semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}:root{--font-display:"Pretendard GOV Site","Noto Sans KR","Malgun Gothic",sans-serif;--font-body:"Chosun Gulim","Malgun Gothic",sans-serif}.btn,.node a,.side button{font-family:var(--font-body)}.brand,.eye{font-weight:600}.work h3,.item h3{font-family:var(--font-display);font-weight:600}.work h3{font-size:16px;letter-spacing:-.015em}.home-hero-copy h1{font-family:var(--font-display);font-weight:600}.title,.head h1,.head h2,.section h2,.about-section h2{font-weight:600;letter-spacing:-.035em}.rich strong{font-weight:900;color:#1f1a1e}.rich em{font-style:italic;color:#5f5159}
.widget-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}.widget{flex:1 1 calc(50% - 7px)}.widget[data-width="narrow"]{flex-basis:calc(33.333% - 10px)}.widget[data-width="normal"]{flex-basis:calc(50% - 7px)}.widget[data-width="wide"]{flex-basis:calc(66.667% - 5px)}.widget[data-width="full"]{flex-basis:100%}.widget[data-custom-size="true"]{flex:0 1 var(--widget-crop-width);width:min(100%,var(--widget-crop-width));max-width:100%}.widget-indify{position:relative;width:100%;height:var(--widget-crop-height,140px);background:#fff;overflow:hidden}.widget-indify iframe{display:block;width:100%;height:100%;border:0;background:#fff}.widget-indify.is-clock{height:var(--widget-crop-height,140px)}.widget-indify.is-button{height:var(--widget-crop-height,74px)}@media(max-width:700px){.widget-grid{display:flex}.widget{flex-basis:100%;width:100%;margin-bottom:0}.widget[data-custom-size="true"]{flex-basis:min(100%,var(--widget-crop-width));width:min(100%,var(--widget-crop-width))}}
.home{grid-template-columns:var(--home-side-width,180px) minmax(0,1fr)}.side-profile{position:relative;width:min(100%,var(--home-profile-size,128px));aspect-ratio:1;margin:0 0 18px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--soft);box-shadow:0 10px 30px #412b3614}.side-profile img{width:100%;height:100%;object-fit:cover}.home-profile-edit{position:absolute;right:6px;bottom:6px;border:1px solid #ffffffaa;background:#211a20cc;color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}@media(max-width:850px){.side-profile{flex:none;width:52px!important;margin:0 8px 0 0;border-radius:13px}.side-profile .home-profile-edit{right:3px;bottom:3px;padding:2px 5px;font-size:9px}}@media(max-width:560px){.side-profile{width:46px!important}}

/* 1.18 editorial archive theme */
:root{--ink:#241f20;--muted:#776f70;--line:#dfd9d5;--accent:#98546a;--accent-deep:#672334;--soft:#f4efed;--paper:#fff;--shadow:0 18px 55px rgba(48,34,37,.08)}
body{background:linear-gradient(180deg,#f6f3f0 0,#fbfaf8 32rem,#fff 72rem);color:var(--ink);font-size:15.5px;line-height:1.72}
.header{height:72px;border-bottom:1px solid rgba(70,54,58,.11);background:rgba(250,248,246,.88);backdrop-filter:blur(20px) saturate(1.1)}
.header-in,.admin-in,.main{max-width:1360px}.header-in{padding:0 30px}.brand{font-size:20px;letter-spacing:-.035em}.tagline{letter-spacing:.08em;text-transform:uppercase}
.admin{top:72px;background:#292326}.admin-in{padding:9px 30px}
.main{padding:46px 30px 112px}.home{gap:54px}.side{top:110px;gap:2px}.side small{padding:0 14px 12px;color:var(--accent);font-size:10px;letter-spacing:.18em}.side button{position:relative;padding:11px 14px;border-radius:8px;font-weight:400;color:#797174}.side button:hover{background:#f0ebe8;color:var(--ink)}.side button.on{background:var(--ink);color:#fff;box-shadow:0 8px 22px rgba(36,31,32,.14)}.side button.on:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:#d89aae}
.side-profile{border:0;border-radius:14px;background:#eee9e6;box-shadow:0 12px 30px rgba(48,34,37,.1)}
.head{margin-bottom:30px}.head h1{font-size:clamp(38px,4.7vw,62px);line-height:1.02;letter-spacing:-.05em}.head h2{font-size:26px}.head p{max-width:640px;margin-top:9px;color:#817879}.eye{color:var(--accent);font-size:10px;letter-spacing:.17em}
.btn{border-color:#d9d2ce;border-radius:8px;padding:8px 13px;background:#fff;color:#342d2f;font-weight:700;box-shadow:0 1px 0 rgba(38,29,31,.02);transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.btn:hover{border-color:#bcaeb2;background:#faf7f6;box-shadow:0 6px 18px rgba(48,34,37,.07)}.btn.dark{background:#292326;border-color:#292326}.btn.red{color:#9e3954;background:#fff}
.home-hero{min-height:320px;border:0;border-radius:16px;background:linear-gradient(135deg,#3d111a,#711d2d 62%,#251c1f);box-shadow:0 24px 70px rgba(59,25,33,.18)}.home-hero:after{background:linear-gradient(100deg,rgba(22,13,16,.65) 0,rgba(31,17,21,.24) 58%,rgba(20,12,15,.1))}.home-hero-copy{left:clamp(28px,5vw,64px);bottom:38px;text-shadow:0 2px 20px rgba(20,9,12,.28)}.home-hero-copy h1{font-size:clamp(43px,6vw,76px);letter-spacing:-.055em}.home-hero-copy p{max-width:620px;font-weight:400;line-height:1.65;opacity:.9}.home-intro{padding:32px 0 26px;border-bottom:1px solid var(--line)}.home-intro h2{font-size:27px}.home-intro p{max-width:680px}.home-shortcuts{gap:7px}.home-shortcuts button{border-color:#d8d1cd;border-radius:8px;padding:9px 14px;background:transparent;font-weight:700}.home-shortcuts button:hover{background:#292326;border-color:#292326;color:#fff}
.widget-head{margin:38px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.widget-head h2{font-size:23px}.widget-grid{gap:18px}.widget{border:1px solid rgba(84,65,69,.15);border-radius:13px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(48,34,37,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.widget:hover{transform:translateY(-2px);border-color:rgba(103,35,52,.25);box-shadow:0 18px 44px rgba(48,34,37,.1)}.widget-inner{padding:22px}.widget h3{font-size:17px;letter-spacing:-.025em}.widget-note{font-size:13px;line-height:1.65}.widget-media{background:#eeeae7}.widget-media img{transition:transform .35s ease}.widget:hover .widget-media img{transform:scale(1.015)}.widget-indify,.widget-indify iframe{background:#fff}.music-link,.home-link{min-height:62px;border:0;border-radius:9px;background:#f3efec;font-family:var(--font-display);font-weight:600}.music-link span:first-child,.home-link span:first-child{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cfc5c7;border-radius:50%;font-size:17px}.clock{background:#f3efec}.clock-time{font-weight:600;color:#332b2e}.widget-empty{border-color:#cec3c4;border-radius:10px;background:#faf8f7}
.works{gap:30px 16px}.thumb{border:0;border-radius:10px;background:#eee9e6;box-shadow:0 7px 20px rgba(45,31,34,.08);transition:transform .22s ease,box-shadow .22s ease}.thumb img{transition:transform .35s ease}.work:hover .thumb{transform:translateY(-4px);box-shadow:0 18px 38px rgba(45,31,34,.14)}.work:hover .thumb img{transform:scale(1.018)}.work h3{margin:12px 2px 0;font-size:15.5px;line-height:1.42}.work p{margin-top:4px;color:#8a8182;line-height:1.5}
.item,.paper{border-color:rgba(84,65,69,.15);border-radius:12px;background:rgba(255,255,255,.93);box-shadow:0 9px 28px rgba(48,34,37,.045)}.item{padding:23px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.item:hover{border-color:rgba(103,35,52,.22);box-shadow:0 14px 34px rgba(48,34,37,.075)}.list{gap:14px}.list.cards{gap:16px}
.detail{color:#2b2527}.back{margin-bottom:25px;color:#8a8182;font-weight:400}.title{max-width:980px;font-size:clamp(43px,6.5vw,76px);line-height:1.06;letter-spacing:-.052em}.summary{max-width:800px;margin-top:13px;color:#7d7476;font-size:16.5px;line-height:1.7}.chips{margin-top:20px}.chip{border-color:#ddd6d2;border-radius:6px;padding:5px 9px;background:rgba(255,255,255,.58);font-size:11px}.tag{color:#73546a;background:#f3eff3}.section{padding-top:48px}.section>.head,.markdown-section>.head{padding-bottom:12px;border-bottom:1px solid var(--line)}.section>.head h2{font-size:27px}.paper.rich,.markdown-section .paper,.custom-category .paper{padding:clamp(25px,4vw,44px)}.rich{font-size:15.5px;line-height:1.84}.rich h1,.rich h2,.rich h3{letter-spacing:-.03em}.rich hr{border-color:#ddd7d3;margin:32px 0}
.work-toc{gap:4px;margin:28px 0 2px;padding:8px;border-color:rgba(84,65,69,.13);border-radius:10px;background:rgba(250,248,246,.92);box-shadow:0 8px 28px rgba(48,34,37,.055)}.work-toc b{padding:0 9px;color:var(--accent);font-size:10px;letter-spacing:.13em}.work-toc button{border:0;border-radius:7px;padding:7px 10px;background:transparent;font-weight:400}.work-toc button:hover{background:#ece7e4}.work-toc button.on{background:#292326;color:#fff}.page-toc{top:82px;background:rgba(250,248,246,.92)}.admin-mode .page-toc{top:127px}
.profile{gap:32px}.profile img,.avatar{border-radius:14px}.about-sections{gap:18px}.about-section{padding:28px}.tree.paper{padding:12px}.node a{border-radius:7px}.node.on a{background:#292326}.guide-preview a{border-radius:6px}.qna-cards .node a{border-radius:10px}
#work-characters .list{gap:28px 17px}#work-characters .item>img{border:0!important;border-radius:10px!important;box-shadow:0 8px 22px rgba(45,31,34,.09)}#work-characters .item h3{margin-top:10px;font-size:15.5px}.rich-img img,.rich-carousel-track{border-radius:10px;box-shadow:0 14px 38px rgba(48,34,37,.085)}.pic{border-radius:9px}.adult{border-color:#d9c9ce;border-radius:12px;background:#f5f0f1}.adult-warning{background:rgba(31,24,27,.78)}
.modal{border:1px solid rgba(84,65,69,.15);border-radius:16px;box-shadow:0 30px 90px rgba(31,22,25,.22)}.field input,.field textarea,.field select,.adult input{border-color:#d8d1cd;border-radius:8px;background:#fcfbfa}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(152,84,106,.2);border-color:#a87484}.dropzone{border-color:#cbbdc1;border-radius:10px;background:#faf8f7}.toast{border-radius:8px;background:#292326}
footer{border-color:#e0dad6;padding:34px}
@media(max-width:850px){.header{height:64px}.header-in{padding:0 18px}.admin{top:64px}.main{padding:26px 18px 82px}.home{gap:0}.side{top:64px;margin:-26px -18px 27px;padding:10px 18px;background:rgba(250,248,246,.94);backdrop-filter:blur(18px)}.admin-mode .side{top:108px}.side button{padding:8px 12px}.side button.on:before{display:none}.home-hero{min-height:270px}.page-toc{top:74px}.admin-mode .page-toc{top:118px}.detail-layout{display:block}.detail-nav{margin-bottom:30px}.works{gap:25px 12px}}
@media(max-width:560px){body{font-size:15px}.header{height:60px}.main{padding:22px 15px 70px}.side{top:60px;margin:-22px -15px 24px;padding:8px 15px}.admin-mode .side{top:103px}.home-hero{min-height:235px;border-radius:12px}.home-hero-copy{left:22px;right:18px;bottom:25px}.home-hero-copy h1{font-size:42px}.home-intro{padding:25px 0 20px}.home-intro h2{font-size:23px}.home-shortcuts button{padding:8px 11px}.widget-head{margin-top:30px}.widget-grid{gap:12px}.widget{border-radius:10px}.widget-inner{padding:18px}.works{gap:23px 9px}.thumb{border-radius:8px}.work h3{margin-top:9px;font-size:14.5px}.title{font-size:clamp(38px,13vw,52px)}.summary{font-size:15px}.section{padding-top:38px}.section>.head h2{font-size:23px}.paper.rich,.markdown-section .paper,.custom-category .paper{padding:21px 18px}.work-toc{top:69px;margin-left:0;margin-right:0}.admin-mode .page-toc{top:112px}.rich{font-size:15px}.profile img,.avatar{border-radius:11px}}

/* 1.19 freeform home canvas */
.home-dashboard{min-height:520px}.home-dashboard .home-hero,.home-dashboard+.dropzone[data-drop-role="home-banner"]{display:none!important}.home-dashboard .home-intro{padding:2px 0 28px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.widget-toolbar{display:flex;align-items:center;gap:12px;margin:10px 0 14px}.widget-toolbar p{margin:0;color:var(--muted);font-size:12px}.widget-toolbar .grow{flex:1}.widget-toolbar .btn{white-space:nowrap}
.widget-canvas{position:relative;min-height:var(--widget-canvas-height,420px);margin-top:10px}.widget-canvas .widget{position:absolute;left:var(--widget-x,0);top:var(--widget-y,0);width:var(--widget-w,48%);height:var(--widget-h,200px);display:flex;flex-direction:column;margin:0;overflow:hidden;transform:none}.widget-canvas .widget:hover{transform:none}.widget-canvas .widget-inner{overflow:auto}.widget-canvas .widget-media{flex:1;min-height:0;aspect-ratio:auto}.widget-canvas .widget-indify,.widget-canvas .clock{height:100%;min-height:0}.widget-canvas .widget[data-type="link"] .widget-inner{display:flex;flex:1;flex-direction:column;justify-content:center}.widget-canvas .widget[data-type="image"] .widget-media{min-height:0}
.admin-mode .widget-canvas{border:1px dashed rgba(103,35,52,.24);border-radius:12px;background-image:linear-gradient(rgba(103,35,52,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(103,35,52,.04) 1px,transparent 1px);background-size:20px 20px}.admin-mode .widget-canvas .widget{border-color:rgba(103,35,52,.34);box-shadow:0 10px 30px rgba(48,34,37,.09)}.admin-mode .widget-canvas .widget iframe{pointer-events:none}.widget-drag-handle{position:absolute;z-index:9;left:8px;top:8px;display:flex;align-items:center;gap:5px;height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.72);border-radius:7px;background:rgba(41,35,38,.86);color:#fff;font:700 11px/1 var(--font-body);cursor:grab;touch-action:none;box-shadow:0 4px 14px rgba(31,22,25,.18);user-select:none}.widget-drag-handle:active{cursor:grabbing}.widget-resize-handle{position:absolute;z-index:10;right:0;bottom:0;width:28px;height:28px;border:0;background:linear-gradient(135deg,transparent 0 45%,rgba(103,35,52,.8) 46% 55%,transparent 56% 63%,rgba(103,35,52,.8) 64% 73%,transparent 74%);cursor:nwse-resize;touch-action:none}.widget.is-arranging{z-index:20;box-shadow:0 18px 55px rgba(67,35,43,.2)!important}.widget-save-state{color:var(--accent);font-size:11px;font-weight:700}
@media(max-width:700px){.widget-toolbar{align-items:flex-start;flex-wrap:wrap}.widget-toolbar p{flex-basis:100%;order:2}.widget-canvas{display:grid;gap:12px;min-height:0!important}.widget-canvas .widget{position:relative;left:auto;top:auto;width:100%!important;height:auto!important;min-height:150px}.widget-canvas .widget[data-type="indify"]{height:clamp(100px,var(--widget-h,180px),320px)!important}.widget-canvas .widget[data-type="clock"],.widget-canvas .widget[data-type="link"]{min-height:130px}.admin-mode .widget-canvas{padding:8px}.widget-drag-handle,.widget-resize-handle{display:none}}

/* 1.20 freeform content styling */
.widget-canvas .widget{border:0;background:transparent;color:var(--widget-color,#241f20);box-shadow:none}.widget-canvas .widget:hover{border-color:transparent;box-shadow:none}.widget-canvas .widget.frame-color{background:var(--widget-bg,#fff)}.widget-canvas .widget.frame-paper{border:1px solid rgba(84,65,69,.15);background:rgba(255,255,255,.9);box-shadow:0 12px 34px rgba(48,34,37,.06)}.widget-canvas .widget.frame-transparent .widget-inner,.widget-canvas .widget.frame-transparent .clock,.widget-canvas .widget.frame-transparent .home-link,.widget-canvas .widget.frame-transparent .music-link{background:transparent}.widget-canvas .widget h3,.widget-canvas .widget .rich,.widget-canvas .widget .widget-note,.widget-canvas .widget .clock-time,.widget-canvas .widget .clock-date{color:inherit}.widget-canvas .widget .eye,.widget-canvas .widget .rich a,.widget-canvas .widget .rich code{color:var(--widget-accent,#98546a)}.widget-canvas .widget.align-left{text-align:left}.widget-canvas .widget.align-center{text-align:center}.widget-canvas .widget.align-right{text-align:right}.widget-canvas .widget.size-small .rich,.widget-canvas .widget.size-small .widget-caption{font-size:13px}.widget-canvas .widget.size-normal .rich,.widget-canvas .widget.size-normal .widget-caption{font-size:15.5px}.widget-canvas .widget.size-large .rich,.widget-canvas .widget.size-large .widget-caption{font-size:20px}.widget-caption{flex:none;padding:14px 18px;color:inherit;overflow:auto}.widget-caption>*:first-child{margin-top:0}.widget-caption>*:last-child{margin-bottom:0}.widget[data-has-caption="true"] .widget-indify,.widget[data-has-caption="true"] .clock{flex:1;height:auto}.widget-canvas .widget[data-type="text"] .widget-inner{height:100%;padding:10px 2px}.widget-canvas .widget.frame-color[data-type="text"] .widget-inner,.widget-canvas .widget.frame-paper[data-type="text"] .widget-inner{padding:22px}.widget-canvas .widget[data-type="text"] h3{margin-top:0}.widget-canvas .widget.frame-transparent .widget-media{background:transparent}.widget-canvas .widget.frame-transparent[data-type="text"]{overflow:visible}.widget-canvas .widget.frame-transparent[data-type="text"] .widget-inner{overflow:auto}.admin-mode .widget-canvas .widget{border:1px dashed rgba(103,35,52,.42);background-color:color-mix(in srgb,var(--widget-bg,#fff) 22%,transparent);box-shadow:none}.admin-mode .widget-canvas .widget.frame-paper{background:rgba(255,255,255,.9)}
.widget-canvas .widget.frame-transparent .widget-indify iframe{mix-blend-mode:multiply}

/* 1.21 working multi-photo home blocks */
.widget-photo-wrap{position:relative;display:flex;flex:1;min-height:0;height:100%;overflow:hidden}.widget-photo-media{display:flex;flex:1;min-height:0;height:100%;background:transparent}.widget-photo-media img{width:100%;height:100%;object-fit:contain;background:transparent}.widget-image-carousel{position:relative;display:flex;flex:1;min-height:0;height:100%;overflow:hidden}.widget-image-track{width:100%;height:100%;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}.widget-image-slide{flex:0 0 100%;display:grid;place-items:center;min-width:0;height:100%;min-height:0;margin:0;padding:0;scroll-snap-align:center}.widget-image-slide img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:0;background:transparent}.widget-image-carousel .carousel-arrow{opacity:.78;transition:opacity .16s ease,transform .16s ease}.widget-image-carousel:hover .carousel-arrow,.widget-image-carousel:focus-within .carousel-arrow{opacity:1}.widget-photo-empty{display:grid;place-content:center;justify-items:center;gap:10px;flex:1;min-height:150px;padding:28px;border:1px dashed #cbb8c0;border-radius:10px;background:rgba(255,255,255,.62);text-align:center}.widget-photo-empty span{max-width:260px;color:var(--muted);font-size:12px;line-height:1.55}.admin-mode [data-drop-widget-images].dragging{outline:3px solid color-mix(in srgb,var(--accent) 70%,white);outline-offset:-4px;background:color-mix(in srgb,var(--accent) 9%,white)}.admin-mode .widget[data-type="image"] .tools{z-index:12}.admin-mode .widget[data-type="image"] .widget-photo-wrap{cursor:default}@media(max-width:700px){.widget-photo-wrap,.widget-photo-media,.widget-image-carousel{min-height:240px}.widget-image-carousel .carousel-arrow{opacity:1}}
[hidden]{display:none!important}.form-file-picker{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf8f8}.form-file-picker input[type="file"]{width:100%;padding:9px;border:1px solid #d5c9ce;border-radius:8px;background:#fff}.form-file-drop{display:grid;place-items:center;min-height:86px;padding:16px;border:2px dashed #cbb8c0;border-radius:10px;color:var(--muted);text-align:center;cursor:pointer;transition:.15s ease}.form-file-drop:hover,.form-file-drop.dragging{border-color:var(--accent);background:#fff4f8;color:var(--ink)}.form-file-preview,.widget-order-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.form-file-card,.widget-order-card{position:relative;border:2px solid transparent;border-radius:9px;background:#fff;overflow:hidden;cursor:grab;user-select:none;touch-action:none}.form-file-card:active,.widget-order-card:active{cursor:grabbing}.form-file-card.dragging,.widget-order-card.dragging{z-index:4;opacity:.58;border-color:var(--accent);box-shadow:0 8px 24px rgba(52,35,43,.18)}.form-file-card img,.widget-order-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#eee;pointer-events:none}.form-file-card span,.widget-order-card span{position:absolute;left:5px;top:5px;display:grid;place-items:center;width:auto;min-width:24px;height:24px;padding:0 5px;border-radius:7px;background:#211b1edb;color:#fff;font-size:11px;font-weight:900;pointer-events:none}.form-file-remove{position:absolute;z-index:2;right:5px;top:5px;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:#b52d50;color:#fff;font-weight:900;line-height:1}.widget-order-select{position:absolute;z-index:2;right:5px;top:5px;display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:7px;background:#fff;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer;touch-action:auto}.widget-order-select input{margin:0}.form-file-summary{font-weight:700;color:var(--accent)}.widget-order-help{margin:0 0 12px;color:var(--muted);font-size:13px}.widget-order-actions{display:flex;align-items:center;gap:8px;margin:0 0 12px}.widget-order-actions label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:800}.widget-order-actions .grow{flex:1}@media(max-width:560px){.form-file-preview,.widget-order-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.work-external-links{gap:9px;margin-top:22px;margin-bottom:4px}.work-external-links .work-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 17px;transition:transform .16s ease,box-shadow .16s ease}.work-external-links .work-link:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(48,34,37,.12)}.work-external-links .work-link-safe{border-color:#b8cec4;background:#edf7f1;color:#285742}@media(max-width:560px){.work-external-links{display:grid;grid-template-columns:1fr}.work-external-links .work-link{width:100%}}
.side [data-category-key][draggable="true"]{cursor:grab}.side [data-category-key][draggable="true"]:active{cursor:grabbing}.side .category-dragging{opacity:.42;outline:2px dashed var(--accent);outline-offset:2px}.page-widget-area{margin-top:34px}.page-widget-area+.page-widget-area{margin-top:18px}.category-page-layout{grid-template-columns:minmax(190px,230px) minmax(0,1fr)}.category-back{border:0;background:none;padding:0;text-align:left}.custom-category>.page-widget-area{margin-top:28px}@media(max-width:850px){.side [data-category-key][draggable="true"]{cursor:grab}.category-page-layout{display:block}.category-page-layout .detail-nav{margin-bottom:24px}}

/* 1.32 Notion-like page blocks */
.flow-builder{margin:28px 0}.flow-toolbar{padding:10px 0;border-top:1px solid var(--line)}.flow-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:16px;align-items:start}.admin-mode .flow-grid{padding:10px;background-image:repeating-linear-gradient(90deg,rgba(152,84,106,.055) 0,rgba(152,84,106,.055) calc(8.333% - 14.7px),transparent calc(8.333% - 14.7px),transparent 8.333%);border-radius:12px}.admin-mode .flow-grid.is-arranging{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.flow-placeholder{grid-column:var(--block-start,1) / span var(--block-span,12);min-height:74px;border:2px dashed var(--accent)!important;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,transparent)!important}.inline-widget{position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;min-height:0;margin:0;color:var(--widget-color,#241f20);overflow:visible}.inline-flow{grid-column:var(--block-start,1) / span var(--block-span,12);min-width:0;transition:grid-column .12s ease,opacity .12s ease}.page-flow-card{position:relative;min-width:0}.page-flow-card>a{display:block;height:100%;padding:22px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.78);color:inherit;text-decoration:none}.page-flow-card>a:hover{border-color:var(--accent);transform:translateY(-1px)}.page-flow-card h3{margin:5px 0 0}
.page-flow-card.display-text>a{padding:14px 16px}.page-flow-card.display-text h3{margin:0;font-size:16px;line-height:1.35}.page-flow-card.display-text p{margin:4px 0 0;font-size:12.5px;line-height:1.5}.page-flow-card.display-text .eye{font-size:10px}.page-flow-card p{margin:8px 0 0;color:var(--muted)}.legacy-flow-body{padding:18px 0}.inline-widget.frame-transparent{border:0;background:transparent;box-shadow:none}.inline-widget.frame-color{background:var(--widget-bg,#fff)}.inline-widget.frame-paper{border:1px solid rgba(84,65,69,.15);background:rgba(255,255,255,.9);box-shadow:0 12px 34px rgba(48,34,37,.06)}.inline-widget .widget-inner{padding:20px;overflow:visible}.inline-widget.frame-transparent[data-type="text"] .widget-inner{padding:4px 0}.inline-widget .widget-media{aspect-ratio:16/9}.inline-widget[data-type="image"] .widget-photo-wrap,.inline-widget[data-type="image"] .widget-image-carousel,.inline-widget[data-type="image"] .widget-photo-media{min-height:240px;height:min(56vw,540px)}.inline-widget .widget-image-slide img,.inline-widget .widget-photo-media img{object-fit:contain}.inline-widget .widget-indify{height:280px}.inline-widget[data-type="clock"] .clock{min-height:150px}.inline-widget.align-left{text-align:left}.inline-widget.align-center{text-align:center}.inline-widget.align-right{text-align:right}.inline-widget.size-small .rich,.inline-widget.size-small .widget-caption{font-size:13px}.inline-widget.size-normal .rich,.inline-widget.size-normal .widget-caption{font-size:15.5px}.inline-widget.size-large .rich,.inline-widget.size-large .widget-caption{font-size:20px}.inline-token-widget{display:block;margin:26px 0}.inline-token-widget .inline-widget{width:100%!important}.inline-token-missing{margin:18px 0;padding:14px;border:1px dashed #c8b7bd;border-radius:8px;color:var(--muted);font-size:13px}.flow-drag-handle{position:absolute;z-index:13;left:8px;top:8px;height:28px;padding:0 9px;border:0;border-radius:7px;background:rgba(41,35,38,.88);color:#fff;font:700 11px/1 var(--font-body);cursor:grab;touch-action:none;user-select:none}.flow-drag-handle:active{cursor:grabbing}.flow-resize-handle{position:absolute;z-index:13;right:-5px;top:38px;bottom:8px;width:10px;border:0;border-radius:8px;background:var(--accent);opacity:.32;cursor:ew-resize;touch-action:none}.flow-resize-handle:hover{opacity:.82}.admin-mode .inline-flow{padding-top:38px;border:1px dashed rgba(103,35,52,.34)}.admin-mode .inline-flow.is-arranging{z-index:100;opacity:.88;outline:3px solid var(--accent);outline-offset:2px;pointer-events:none}.admin-mode .inline-flow iframe{pointer-events:none}.inline-editor-toolbar{flex-wrap:wrap}.inline-editor-toolbar small{flex-basis:100%}
@media(max-width:800px){.flow-grid{grid-template-columns:1fr}.inline-flow{grid-column:1!important}.flow-resize-handle{display:none}.admin-mode .flow-grid{background-image:none;padding:0}}
@media(max-width:560px){.inline-widget[data-type="image"] .widget-photo-wrap,.inline-widget[data-type="image"] .widget-image-carousel,.inline-widget[data-type="image"] .widget-photo-media{min-height:210px;height:70vw}}
.inline-widget[data-type="image"] .widget-photo-wrap.is-single,.inline-widget[data-type="image"] .widget-photo-wrap.is-single .widget-photo-media{min-height:0;height:auto;aspect-ratio:auto}.inline-widget[data-type="image"] .widget-photo-wrap.is-single .widget-photo-media img{display:block;width:100%;height:auto;object-fit:contain}
.page-entry{padding:0;overflow:hidden}.page-entry-link{display:block;padding:24px 56px 24px 24px;transition:background-color .16s ease}.page-entry-link:hover{background:var(--soft)}.page-entry-link h3{margin-top:3px}.page-entry-arrow{display:inline-block;margin-top:14px;color:var(--accent);font-size:12px;font-weight:850}.post-detail{width:min(100%,940px);margin:auto}.post-detail>.paper.rich{padding:clamp(22px,4vw,42px)}.category-page-cards{margin-top:20px}
.svg-tool{margin-top:26px;padding:clamp(18px,3vw,26px);border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.svg-tool h2{margin:0 0 6px;font:800 19px/1.3 var(--font-display)}.svg-tool-help{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.7}.svg-tool-help code{padding:1px 5px;border-radius:5px;background:var(--soft);font-size:12px}.svg-tool-input{display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--ink);font:500 13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.svg-tool-input:focus{outline:2px solid var(--accent);outline-offset:1px}.svg-tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.svg-tool-note{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:12px;line-height:1.7;word-break:break-all}.svg-tool-note.bad{background:rgba(190,60,60,.1);color:#9e2b2b}.svg-tool-view{margin-top:16px;padding:12px;border-radius:12px;background:var(--soft);text-align:center}.svg-tool-view img{max-width:100%;height:auto;border-radius:8px;background:#fff}@media(max-width:850px){.svg-tool-actions .btn{flex:1 1 auto}}
.field:has(input[name="icon_size"]){display:none}.link-widget-inner .link-icon-shell{position:relative;width:min(100%,var(--link-icon-size,96px));line-height:0}.link-widget-inner .home-link.icon-only{display:block;width:100%;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}.link-widget-inner .home-link.icon-only img{display:block;width:100%;height:auto;object-fit:contain}.link-widget-inner .home-link.icon-only:hover{transform:translateY(-2px);filter:drop-shadow(0 7px 12px rgba(48,34,37,.18))}.widget.align-left .link-widget-inner .link-icon-shell{align-self:flex-start}.widget.align-center .link-widget-inner .link-icon-shell{align-self:center}.widget.align-right .link-widget-inner .link-icon-shell{align-self:flex-end}.widget[data-link-display="icon"] .link-widget-inner{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:0}.widget.icon-link-widget{border:0;background:transparent;box-shadow:none;overflow:visible}.admin-mode .inline-flow.icon-link-widget{padding-top:0;border:0;background:transparent;box-shadow:none}.icon-link-widget .flow-drag-handle,.icon-link-widget .widget-drag-handle{left:8px;top:8px}.link-icon-resize-handle{position:absolute;z-index:16;right:-7px;bottom:-7px;width:20px;height:20px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 2px 8px rgba(34,25,28,.28);cursor:nwse-resize;touch-action:none}.link-icon-resize-handle::after{content:"";position:absolute;right:4px;bottom:4px;width:6px;height:6px;border-right:2px solid #fff;border-bottom:2px solid #fff}.icon-link-widget .tools{top:8px;right:8px}.icon-link-widget.is-icon-resizing{z-index:100}.icon-link-widget.is-icon-resizing .link-icon-shell{filter:drop-shadow(0 8px 18px rgba(48,34,37,.22))}
.icon-crop-modal{width:min(760px,calc(100vw - 24px))}.icon-crop-copy{margin:0 0 12px;color:var(--muted);font-size:13px}.icon-crop-stage-wrap{display:flex;justify-content:center;max-height:58vh;overflow:auto;padding:10px;border-radius:14px;background:#211d1f}.icon-crop-stage{position:relative;flex:0 0 auto;overflow:hidden;touch-action:none;user-select:none}.icon-crop-stage>img{display:block;width:100%;height:100%;pointer-events:none}.icon-crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(16,12,14,.57),0 0 0 1px rgba(0,0,0,.45);cursor:move;touch-action:none}.icon-crop-box::before,.icon-crop-box::after{content:"";position:absolute;background:rgba(255,255,255,.62);pointer-events:none}.icon-crop-box::before{left:33.333%;top:0;bottom:0;width:1px;box-shadow:calc(100% + (var(--crop-w,120px) / 3)) 0 rgba(255,255,255,.62)}.icon-crop-box::after{left:0;right:0;top:33.333%;height:1px}.icon-crop-grip{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:var(--accent);cursor:nwse-resize;touch-action:none}.icon-crop-size{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-size:12px}
@media(max-width:800px){.link-widget-inner .link-icon-shell{max-width:100%}.icon-crop-stage-wrap{max-height:52vh}}
.page-flow-card>a{overflow:hidden}.page-flow-image{width:100%;aspect-ratio:16/9;background:rgba(63,52,56,.06);overflow:hidden}.page-flow-image.ratio-portrait{aspect-ratio:2/3}.page-flow-image.ratio-square{aspect-ratio:1}.page-flow-image.ratio-natural{aspect-ratio:auto}.page-flow-image img{display:block;width:100%;height:100%;object-fit:cover}.page-flow-image.ratio-natural img{height:auto}.page-flow-image-empty{display:grid;place-items:center;padding:16px;color:var(--muted);font-size:12px;text-align:center}.page-flow-card.display-image>a{padding:0;border:0;background:transparent}.page-flow-card.display-image .page-flow-image{border-radius:14px}.page-flow-card.display-image_text>a{padding:0}.page-flow-card.display-image_text .page-flow-image{border-radius:13px 13px 0 0}.page-flow-card.display-image_text .page-flow-copy{padding:18px 20px 20px}.page-flow-card.style-notice>a{background:color-mix(in srgb,var(--soft) 58%,white);border-left:4px solid var(--accent)}.page-flow-card.style-intro>a{border-radius:24px;background:linear-gradient(145deg,#fff,#fff8fb);box-shadow:0 14px 38px rgba(68,42,53,.08)}.page-flow-card.style-minimal>a{padding-left:0;padding-right:0;border:0;border-radius:0;background:transparent}.flow-toc{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:4px 0}.flow-toc button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 12px;color:var(--muted);font-weight:800}.flow-toc button:hover,.flow-toc button.on{border-color:var(--accent);color:var(--ink);background:var(--soft)}
.entity-order-tree>[data-reorder-id],.list>[data-reorder-id],.works>[data-reorder-id]{position:relative}.entity-drag-handle{position:absolute;z-index:15;left:8px;top:8px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:rgba(41,35,38,.88);color:#fff;font:800 15px/1 var(--font-body);cursor:grab;box-shadow:0 5px 14px rgba(35,28,31,.15)}.entity-drag-handle:active{cursor:grabbing}.node>.entity-drag-handle{position:static;flex:0 0 30px;margin-right:3px}.entity-dragging,.entity-order-tree>[data-reorder-id].dragging,.list>[data-reorder-id].dragging,.works>[data-reorder-id].dragging,.side [data-category-key].dragging{opacity:.42;outline:2px dashed var(--accent);outline-offset:3px}.admin-mode [data-reorder-entity]{min-height:12px}.admin-mode .guide-root>.entity-drag-handle{left:auto;right:8px}.admin-mode .page-entry>.entity-drag-handle{left:auto;right:8px}.entity-order-tree{display:grid;gap:4px}.category-page-layout.no-category-tree{display:block}.category-page-layout.no-category-tree>.detail{width:100%;max-width:none}
.shortcut-plain{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.75;background:#fff;color:var(--ink)}
.entity-drag-handle{display:flex;width:auto;min-width:54px;gap:4px;padding:0 8px;font-size:13px;touch-action:none;user-select:none}.entity-drag-handle span{display:inline;font-size:10px}.node>.entity-drag-handle{display:flex;width:auto;min-width:54px;flex:0 0 auto;gap:4px;padding:0 8px;font-size:13px}.node .child-add,.node .nav-hide{flex:0 0 auto;padding-inline:7px}.node .nav-hide{color:#9b3553}.side [data-category-key]{touch-action:none;user-select:none}
.lightbox{padding:58px 18px 18px}.lightbox img{max-height:calc(100vh - 82px)}.lightbox-actions{position:absolute;z-index:2;right:18px;top:14px;display:flex;align-items:center;gap:9px}.lightbox .lightbox-actions .lightbox-download{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff18;color:#fff;padding:0;font:900 24px/1 var(--font-body);backdrop-filter:blur(10px)}.lightbox .lightbox-actions .lightbox-download:hover{background:#ffffff30;transform:translateY(-1px)}.lightbox .lightbox-actions button{position:static;line-height:1}.page-action-dock{position:fixed;z-index:46;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;width:min(178px,calc(100vw - 28px));max-height:72vh;padding:11px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 16px 45px rgba(41,32,37,.16);backdrop-filter:blur(16px);overflow:auto}.page-action-dock>small{padding:1px 5px 4px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em}.page-action-dock .btn{width:100%;border-radius:9px;text-align:left;font-size:12px;padding:8px 10px}.page-action-dock .btn.dark{order:-1}@media(max-width:850px){.page-action-dock{left:8px;right:8px;top:auto;bottom:8px;transform:none;flex-direction:row;width:auto;max-height:none;padding:8px;overflow-x:auto;overflow-y:hidden}.page-action-dock>small{display:none}.page-action-dock .btn{width:auto;flex:none;border-radius:999px;text-align:center}}@media(max-width:560px){.lightbox-actions{right:10px}.lightbox .lightbox-actions .lightbox-download{width:40px;height:40px;font-size:22px}}
.rich strong{font-family:inherit;font-weight:600;font-style:normal;color:var(--paper);background:var(--ink);padding:.08em .3em;border-radius:.18em;text-decoration:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}.rich .dialogue-line>span{padding:.08em .26em;border-radius:.22em;background:linear-gradient(180deg,transparent 12%,color-mix(in srgb,var(--accent) 18%,transparent) 12%,color-mix(in srgb,var(--accent) 18%,transparent) 88%,transparent 88%);box-decoration-break:clone;-webkit-box-decoration-break:clone}.document-body{width:100%;padding:4px 0}.document-body>.rich{font-size:16px;line-height:1.82}.unified-page-builder .document-body+.flow-grid{margin-top:24px}
.document-organizer{display:grid;gap:2px}.document-piece{position:relative;min-height:42px;padding:7px 5px 7px 43px;border-top:1px dashed transparent;border-bottom:1px dashed transparent}.document-piece:hover{border-color:#dcc7d0;background:#fff}.document-piece.dragging{z-index:3;opacity:.5;outline:2px dashed var(--accent);border-radius:10px}.document-piece-handle{position:absolute;z-index:6;left:5px;top:10px;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:#2d272a;color:#fff;font-weight:900;cursor:grab;touch-action:none;user-select:none}.document-piece-handle:active{cursor:grabbing}.document-piece>.rich>*:first-child{margin-top:0}.document-piece>.rich>*:last-child{margin-bottom:0}.document-piece .rich-carousel-slide img{cursor:grab;touch-action:none;user-select:none}.document-piece .rich-carousel-slide img.extracting{opacity:.48;outline:3px solid var(--accent)}.document-piece-hint{display:block;margin:7px 0 0;color:var(--muted);font-size:11px}.editor-preview.document-organizer-preview{padding:14px}.editor-preview.document-organizer-preview>.eye{margin:4px 5px 11px}
.document-editor-surface{position:relative}
.document-editor-surface.dropping{outline:2px dashed var(--accent);outline-offset:4px}
.editor-preview.dropping{outline:2px dashed var(--accent);outline-offset:3px;background:#fff4f8}
/* Room under the writing to press and start a new line. */
.doc-body{min-height:9em;outline:none;cursor:text}
/* 편집기는 쓴 글을 그대로 보여줍니다 - 마크다운 기호까지. 그려서 보여주면 기호가
   사라져 고칠 수가 없고, 배포된 모습과도 달라집니다. */
.doc-source{white-space:pre-wrap;font:inherit;line-height:1.75;margin:0 0 .9em}
[data-in-place][contenteditable="plaintext-only"]{outline:none;cursor:text;border-radius:6px;transition:background-color .12s ease}
[data-in-place][contenteditable="plaintext-only"]:hover,[data-in-place][contenteditable="plaintext-only"]:focus{background:rgba(63,52,56,.05)}
.chip-pick{appearance:none;-webkit-appearance:none;font-family:inherit;font-weight:inherit;line-height:inherit;cursor:pointer}
.editing-off .doc-embed-handle,.editing-off .doc-embed-remove{display:none}
.notice-feed{display:grid;gap:22px;margin-top:8px}
.notice-post{position:relative;border:1px solid var(--line);background:#fff;border-radius:20px;padding:26px 28px;box-shadow:0 6px 22px #412b360a}
.notice-post .tools{right:14px;top:14px;opacity:0;transition:.15s}
.notice-post:hover .tools,.notice-post:focus-within .tools{opacity:1}
.notice-post-cover{display:block;width:100%;height:auto;margin:0 0 18px;border-radius:12px}
.notice-post-head{margin-bottom:12px;padding-right:150px}
.notice-post-head .eye{display:block;margin:0 0 4px}
.notice-post-head h3{margin:0;font-size:22px}
.notice-post-summary{margin:6px 0 0;color:var(--muted)}
.notice-post-body>:first-child,.notice-post .doc-body>:first-child{margin-top:0}
.notice-post-body>:last-child{margin-bottom:0}
.notice-feed-more{height:1px}
@media(max-width:560px){.notice-post{padding:19px 17px}.notice-post-head{padding-right:0}.notice-post .tools{position:static;opacity:1;display:flex;justify-content:flex-end;margin-bottom:10px}.notice-post-head h3{font-size:19px}}
.doc-body>:first-child{margin-top:0}
.doc-embed{position:relative;margin:18px 0}
.doc-embed.is-moving{opacity:.4}
.doc-body>*{position:relative}
.doc-body>.drop-above:before,.doc-body>.drop-below:after{content:'';position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.doc-body>.drop-above:before{top:-7px}
.doc-body>.drop-below:after{bottom:-7px}
.doc-embed-handle{position:absolute;z-index:2;left:8px;top:8px;width:28px;height:28px;display:grid;place-content:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:13px;line-height:1;cursor:grab;opacity:0;transition:opacity .12s ease}
.doc-embed-handle:active{cursor:grabbing}
.doc-embed:hover .doc-embed-handle{opacity:1}
.doc-embed-handle:hover{border-color:var(--accent);color:var(--accent)}
.doc-embed-remove{position:absolute;z-index:2;right:8px;top:8px;width:28px;height:28px;display:grid;place-content:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:16px;line-height:1;opacity:0;transition:opacity .12s ease}
.doc-embed:hover .doc-embed-remove{opacity:1}
.doc-embed-remove:hover{border-color:var(--accent);color:var(--accent)}
.inline-page-source{margin-top:16px}
.inline-page-source>summary{cursor:pointer;padding:6px 2px;color:var(--muted);font-size:12px;font-weight:700;list-style:none}
.inline-page-source>summary::-webkit-details-marker{display:none}
.inline-page-source>summary:hover{color:var(--accent)}
.editor-preview.dropping{outline:2px dashed var(--accent);outline-offset:3px;background:#fff4f8}
.document-piece.drop-before{border-top:2px solid var(--accent)}
.document-piece.drop-after{border-bottom:2px solid var(--accent)}
body:not(.admin-mode) img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}body:not(.admin-mode) [data-light]{cursor:zoom-in}
.page-heading-toc{margin:18px 0 25px}.page-heading-toc button[data-level="2"]{margin-left:8px}.page-heading-toc button[data-level="3"]{margin-left:16px}.page-heading-anchor{scroll-margin-top:155px}.page-heading-toc-empty{color:var(--muted);font-size:12px}@media(max-width:560px){.page-heading-anchor{scroll-margin-top:138px}}
.inline-page-admin-editor{margin:0;padding:0;border:0;background:none;box-shadow:none}.inline-page-editor-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}.inline-page-editor-head>div{flex:1}.inline-page-editor-head b{display:block;font-family:var(--font-display);font-size:18px}.inline-page-editor-head small{color:#39735a;font-weight:800}.inline-page-editor-head small.dirty{color:#a86420}.inline-page-editor-head small.error{color:#b52d50}.inline-page-body{display:block;width:100%;min-height:260px;max-height:68vh;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font:15px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.document-inline-preview{margin-top:15px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.document-inline-preview>.eye{margin-bottom:10px}.inline-page-admin-editor .document-piece{padding-right:8px}.document-piece [data-direct-editable]{min-height:1.65em;padding:5px 7px;border-radius:8px;outline:1px solid transparent;cursor:text;transition:background-color .14s ease,outline-color .14s ease}.document-piece [data-direct-editable]:hover{background:color-mix(in srgb,var(--accent) 5%,white);outline-color:color-mix(in srgb,var(--accent) 22%,transparent)}.document-piece [data-direct-editable]:focus{background:#fff;outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent)}.document-piece [data-direct-editable]:empty:before{content:"여기를 클릭해 글을 입력하세요.";color:var(--muted);pointer-events:none}@media(max-width:560px){.inline-page-body{min-height:230px;padding:14px;font-size:13px}.document-inline-preview{padding:12px}}
.codebox.labeled .copy{position:static;display:block;margin:0 10px 10px auto;background:#fff;color:#27242a;border-color:#fff;font-weight:850}
/* Mobile keeps the editor's saved proportions instead of flattening every block to 100%. */
@media(max-width:800px){
  .flow-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:8px}
  .inline-flow[data-span="1"],.inline-flow[data-span="2"],.inline-flow[data-span="3"],.inline-flow[data-span="4"]{grid-column:span 4!important}
  .inline-flow[data-span="5"],.inline-flow[data-span="6"]{grid-column:span 6!important}
  .inline-flow[data-span="7"],.inline-flow[data-span="8"],.inline-flow[data-span="9"],.inline-flow[data-span="10"],.inline-flow[data-span="11"],.inline-flow[data-span="12"]{grid-column:1/-1!important}
  .admin-mode .flow-grid{padding:0;background-image:none}
}
@media(max-width:700px){
  .home-shortcuts{display:none!important}
  .widget-canvas{position:relative;display:block;min-height:var(--widget-canvas-height,420px)!important}
  .widget-canvas .widget{position:absolute;left:var(--widget-x,0);top:var(--widget-y,0);width:var(--widget-w,48%)!important;height:var(--widget-h,200px)!important;min-height:0;margin:0}
  .widget-canvas .widget[data-type="clock"],.widget-canvas .widget[data-type="link"]{min-height:0}
  .widget-canvas .widget[data-type="image"]{height:auto!important}
  .widget-canvas .widget[data-type="image"] .widget-photo-wrap.is-single,.widget-canvas .widget[data-type="image"] .widget-photo-wrap.is-single .widget-photo-media{min-height:0;height:auto}
  .inline-widget[data-type="image"] .widget-photo-wrap,.inline-widget[data-type="image"] .widget-image-carousel,.inline-widget[data-type="image"] .widget-photo-media{min-height:0;height:auto}
  .inline-widget[data-type="image"] .widget-photo-wrap.is-slider,.inline-widget[data-type="image"] .widget-image-carousel{aspect-ratio:1}
}
.widget-canvas .widget.icon-link-widget,.inline-flow.icon-link-widget,.inline-token-widget .inline-widget.icon-link-widget{width:var(--link-icon-size,96px)!important;height:auto!important;min-height:0!important;justify-self:start;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.admin-mode .widget-canvas .widget.icon-link-widget,.admin-mode .inline-flow.icon-link-widget{border:0!important;background:transparent!important;box-shadow:none!important}.icon-link-widget .link-widget-inner,.icon-link-widget .link-icon-shell{width:var(--link-icon-size,96px);height:auto;min-height:0;overflow:visible}.icon-link-widget .link-icon-shell{max-width:none}.icon-link-widget .home-link.icon-only{width:100%;height:auto;overflow:visible}.icon-link-widget .home-link.icon-only img{width:100%;height:auto;max-width:none;object-fit:contain}.icon-link-widget .link-icon-resize-handle{right:0;bottom:0;width:24px;height:24px;border:0;border-radius:0;background:linear-gradient(135deg,transparent 0 52%,rgba(31,25,28,.72) 53% 59%,transparent 60% 67%,rgba(31,25,28,.72) 68% 74%,transparent 75%);box-shadow:none}.icon-link-widget .link-icon-resize-handle::after{display:none}@media(max-width:700px){.widget-canvas .widget.icon-link-widget,.inline-flow.icon-link-widget,.inline-token-widget .inline-widget.icon-link-widget{width:min(var(--link-icon-size,96px),calc(100vw - 30px))!important;height:auto!important}.icon-link-widget .link-widget-inner,.icon-link-widget .link-icon-shell{width:min(var(--link-icon-size,96px),calc(100vw - 30px))}}
.flow-grid>.inline-flow.icon-link-widget{grid-column:var(--block-start,1) / span var(--block-span,1)!important}
.header{background:rgba(252,251,250,.88);backdrop-filter:blur(18px);border-bottom:1px solid #e7e1dd}
.brand{font-weight:700;letter-spacing:-.04em}
.tagline{font-size:10px;letter-spacing:.2em;color:#a49b96}
.home-intro{padding:4px 0 30px;margin-bottom:40px;border-bottom:1px solid #e7e1dd}
.home-intro h2{font-size:clamp(28px,4.6vw,52px);line-height:1.03;letter-spacing:-.04em;font-weight:700}
.home-intro p{margin-top:14px;color:#8a817c}
footer{border-top:1px solid #ede8e4;padding:44px;font-size:11px;letter-spacing:.08em;color:#b3a9a4}
@media(min-width:851px){.header{height:64px}
.main{padding-top:52px}
.home{grid-template-columns:200px minmax(0,1fr);gap:60px}
.side{top:100px;gap:1px}
.side-profile{width:min(100%,84px);border-radius:18px;margin-bottom:22px}
.side small{padding:0 12px 10px;font-size:9px;letter-spacing:.22em;color:#b3a9a4}
.side button{padding:10px 12px;font-size:14px;font-weight:500;color:#7b7370;border-radius:7px}
.side button.on{box-shadow:none;background:#26211f}}
.home-overview{margin-top:14px}
.home-band{margin-top:46px}
.home-band-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.home-band-head h2{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}
.home-band-head small{color:#a49b96;font-size:12px}
.home-band-cards{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px}
.home-card{position:relative;display:block;padding:26px 28px;border:1px solid #e7e1dd;border-radius:16px;background:#fff}
.home-card .eye{display:block;margin-bottom:14px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.18em}
.home-card-notice{transition:border-color .15s ease,transform .15s ease}
.home-card-notice:hover{border-color:#d9c9cf;transform:translateY(-2px)}
.home-card-notice h3{margin:0;font-size:21px;line-height:1.3;letter-spacing:-.02em}
.home-card-notice p{margin:10px 0 0;color:#8a817c;font-size:14px;line-height:1.6}
.home-card-notice time{display:block;margin-top:16px;color:#b3a9a4;font-size:11px;letter-spacing:.08em}
.home-card-go{position:absolute;right:24px;bottom:22px;color:#cdbfc4;font-size:17px;transition:color .15s ease,transform .15s ease}
.home-card-notice:hover .home-card-go{color:var(--accent);transform:translateX(3px)}
.home-card-links{display:flex;flex-direction:column;gap:2px;padding:26px 20px}
.home-link-row{display:flex;align-items:center;gap:12px;padding:11px 8px;border-radius:10px;font-size:14px;color:#6f6763;transition:background .15s ease}
.home-link-row:hover{background:#f6f2ef;color:var(--ink)}
.home-link-row img{width:26px;height:26px;border-radius:7px;object-fit:cover;flex:none}
.home-link-dot{width:26px;height:26px;border-radius:7px;background:var(--soft);flex:none}
.home-link-row b{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-link-row span[aria-hidden]{color:#cdbfc4;font-size:13px}
.home-rail{display:grid;grid-auto-flow:column;grid-auto-columns:168px;gap:18px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:thin}
.home-rail-card{scroll-snap-align:start;min-width:0}
.home-rail-cover{display:block;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:#efe9e5}
.home-rail-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.home-rail-card:hover .home-rail-cover img{transform:scale(1.04)}
.home-rail-tag{display:block;margin:12px 0 5px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}
.home-rail-card b{display:block;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-rail-sub{display:block;margin-top:4px;color:#a49b96;font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shortcut-copy-list,.list.shortcut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.list.shortcut-grid{margin-top:4px}
.item.shortcut-item{display:block;padding:0;border:0;margin:0;background:none;box-shadow:none}
.shortcut-chip{display:flex;flex-direction:column;justify-content:center;gap:3px;width:100%;min-height:58px;padding:12px 14px;border:1px solid #e7e1dd;border-radius:11px;background:#fff;color:var(--ink);text-align:left;transition:border-color .12s ease,background .12s ease,transform .12s ease}
.shortcut-chip:hover{border-color:var(--accent);background:#fffafc}
.shortcut-chip:active,.shortcut-chip.pressed{transform:scale(.9)!important}
.shortcut-chip.copied{border-color:var(--accent);background:var(--soft)}
.shortcut-chip-name{font-size:14px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere;line-height:1.3}
.shortcut-chip-note{color:#a49b96;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shortcut-revealed{margin:6px 0 0;padding:12px 14px;border-radius:9px;background:#f6f2ef;color:var(--ink);font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto;-webkit-user-select:text;user-select:text}
@media(max-width:560px){.shortcut-copy-list,.list.shortcut-grid{grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:8px}.shortcut-chip{min-height:52px;padding:10px 11px}.shortcut-chip-name{font-size:13px}}
.shortcut-copy{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid #e7e1dd;border-radius:12px;background:#fff;color:var(--ink)}
.shortcut-copy .shortcut-copy-text{flex:1;min-width:0}
.shortcut-copy b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shortcut-copy small{display:block;margin-top:3px;color:#a49b96;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shortcut-copy .copy{position:static;flex:none;padding:9px 18px;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;opacity:1}
.shortcut-copy .copy:hover{background:#000;border-color:#000}
.shortcut-copy .copy.copied{background:var(--accent);border-color:var(--accent)}
.shortcut-copy pre.revealed{display:block;flex-basis:100%;order:3;margin:12px 0 0;padding:12px 14px;border-radius:9px;background:#f6f2ef;color:var(--ink);font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;-webkit-user-select:text;user-select:text}
.shortcut-copy{flex-wrap:wrap}
.item.shortcut-item{padding:0;border:0;background:none;box-shadow:none}
.list .item.shortcut-item{margin:0}
.shortcut-copy-area{margin-top:8px}
@media(max-width:560px){.shortcut-copy{gap:12px;padding:12px 13px}.shortcut-copy .copy{padding:9px 14px}}
.load-error-hint{margin-top:6px;color:#a49b96;font-size:13px}
.load-error-actions{display:flex;gap:8px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.home-card-label{display:block}
.home-card-label .eye{margin-bottom:12px}
.home-card-label:hover .eye{color:var(--ink)}
.home-card-list{padding:24px 18px}
.home-card-list .home-card-label{padding:0 8px}
.home-list-row{display:flex;align-items:center;gap:12px;padding:11px 8px;border-radius:10px;transition:background .15s ease}
.home-list-row:hover{background:#f6f2ef}
.home-list-row>span{flex:1;min-width:0}
.home-list-row b{display:block;font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-list-row small{display:block;margin-top:3px;color:#a49b96;font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-list-row i{flex:none;color:#cdbfc4;font-size:13px;font-style:normal;transition:color .15s ease,transform .15s ease}
.home-list-row:hover i{color:var(--accent);transform:translateX(2px)}
@media(min-width:1000px){.home-dashboard{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);column-gap:46px;align-items:start}
.home-dashboard>.page-widget-area{grid-column:1;grid-row:1/span 2;margin-top:0}
.home-dashboard>.home-intro{grid-column:2;grid-row:1;margin-bottom:28px;padding-top:0}
.home-dashboard>.home-band-cards{grid-column:2;grid-row:2;grid-template-columns:minmax(0,1fr);margin-top:0;gap:16px}
.home-dashboard>.home-band-rail{grid-column:1/-1;grid-row:3;margin-top:52px}}
@media(max-width:850px){.home-band-cards{grid-template-columns:minmax(0,1fr)}.home-band{margin-top:36px}.home-card{padding:22px}.home-rail{grid-auto-columns:140px;gap:14px}}
.widget-canvas .widget[data-type="image"]{height:auto!important}
.widget-canvas .widget[data-type="image"] .widget-inner,.widget-canvas .widget[data-type="image"] .widget-media,.widget-canvas .widget[data-type="image"] .widget-photo-wrap,.widget-canvas .widget[data-type="image"] .widget-image-carousel,.widget-canvas .widget[data-type="image"] .rich-carousel-track,.widget-canvas .widget[data-type="image"] .widget-image-slide,.widget-canvas .widget[data-type="image"] .widget-photo-media{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
.widget-canvas .widget[data-type="image"] img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
@media(max-width:700px){.widget-canvas.is-stacked{display:flex!important;flex-direction:column;align-items:stretch;gap:18px;min-height:0!important;height:auto!important;padding:0!important}
.widget-canvas.is-stacked>[data-widget-id]{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:0!important}
.widget-canvas.is-stacked>[data-widget-id].icon-link-widget{width:min(var(--link-icon-size,96px),60vw)!important;align-self:center}
.widget-canvas.is-stacked>[data-widget-id][data-type="image"] .widget-photo-wrap,.widget-canvas.is-stacked>[data-widget-id][data-type="image"] .widget-image-carousel{aspect-ratio:3/4;height:auto!important;min-height:0!important}}
.inline-page-admin-editor.compact{margin:0;padding:0;border:0;background:none;box-shadow:none}
.inline-page-admin-editor.compact .inline-page-editor-head{display:none}
.inline-page-admin-editor.compact.active{border:0;box-shadow:none}
.inline-page-admin-editor.compact .document-editor-surface:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:6px;border-radius:10px}
.widget-body-empty:empty:before{content:"여기를 눌러 바로 쓰세요";color:var(--muted)}
.home-card-empty{display:grid;gap:9px;align-content:start}
.home-card-empty p{margin:0;color:var(--muted);font-size:13px}
.home-card-empty .btn{justify-self:start}
.widget-canvas:not(.is-stacked) .widget[data-type="image"]{max-height:var(--widget-h)!important;overflow:hidden}
.widget-canvas:not(.is-stacked) .widget[data-type="image"] .widget-photo-wrap,.widget-canvas:not(.is-stacked) .widget[data-type="image"] .widget-image-carousel,.widget-canvas:not(.is-stacked) .widget[data-type="image"] .widget-image-slide,.widget-canvas:not(.is-stacked) .widget[data-type="image"] .widget-photo-media{max-height:var(--widget-h)!important}
.widget-canvas:not(.is-stacked) .widget[data-type="image"] img{width:auto!important;max-width:100%!important;max-height:var(--widget-h)!important;margin-inline:auto}
.widget-image-slide{position:relative}
.widget-slide-link{display:block;position:relative}
.widget-slide-label{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-weight:850;font-family:var(--font-display);font-size:17px;background:linear-gradient(transparent,rgba(24,16,20,.78));border-radius:0 0 inherit inherit}
.widget-slide-link-btn{position:absolute;left:9px;top:9px;z-index:3;opacity:.82}
.widget-slide-link-btn:hover{opacity:1}
/* 1.66 체험 cards */
.home-band-exp .home-band-head{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.home-band-exp .home-band-head p{margin:0;color:var(--muted);font-size:13px}
.exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px}
.exp-card{position:relative;display:grid;grid-template-rows:auto auto;gap:12px;text-align:left;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 22px #412b360a}
.exp-art{display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:linear-gradient(140deg,#ffe7f0,#efebff)}
.exp-art img{width:100%;height:100%;object-fit:cover}
.exp-art.is-empty{display:grid;place-items:center;color:#ec78a177;font-weight:900;font-family:var(--font-display)}
.exp-text{display:grid;gap:3px}
.exp-text b{font-size:16px;font-family:var(--font-display)}
.exp-text small{color:var(--muted)}
.exp-tools{position:absolute;right:9px;top:9px;display:flex;gap:4px;opacity:0;transition:.15s}
.exp-card:hover .exp-tools,.exp-card:focus-within .exp-tools{opacity:1}
.exp-modal{width:min(820px,100%)}
.exp-hint{margin:0 0 14px;color:var(--muted);font-size:13px}
.exp-preview{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#faf7f8}
.exp-preview canvas{display:block;width:100%;height:auto}
.exp-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;margin-top:16px}
.exp-field{display:grid;gap:5px;font-size:13px;font-weight:800}
.exp-field input{width:100%;border:1px solid var(--line);border-radius:11px;padding:9px 11px;font-weight:500}
.exp-photo{margin-top:11px}
@media(max-width:560px){.exp-grid{grid-template-columns:1fr}.exp-tools{opacity:1}}
/* 1.66 Cards rise into place instead of appearing all at once */
[data-rise]{opacity:0;transform:translateY(15px);transition:opacity .52s ease var(--reveal-delay,0ms),transform .58s cubic-bezier(.22,1,.3,1) var(--reveal-delay,0ms)}
[data-rise].revealed{opacity:1;transform:none}
.home-card{transition:transform .34s cubic-bezier(.34,1.7,.5,1),box-shadow .2s ease,border-color .2s ease}
.home-card:hover{box-shadow:0 16px 40px rgba(65,43,54,.11);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.home-rail-card img,.work .thumb img,.widget-image-slide img{transition:transform .5s cubic-bezier(.22,1,.3,1)}
.work a:hover .thumb img,.widget-slide-link:hover img{transform:scale(1.035)}
.widget-slide-label{transition:opacity .3s ease}
@media(prefers-reduced-motion:reduce){[data-rise],[data-rise].revealed{opacity:1;transform:none;transition:none}.home-rail-card img,.work .thumb img,.widget-image-slide img{transition:none}}
/* 1.65 Press feedback springs back instead of easing back */
@keyframes copy-pop{0%{transform:scale(.9)}45%{transform:scale(1.06)}72%{transform:scale(.985)}100%{transform:scale(1)}}
.shortcut-chip.copied{animation:copy-pop .42s cubic-bezier(.34,1.6,.5,1)}
/* Full-width cards squash less than buttons - 4% on a wide card reads as a glitch. */
.item:active,.item.pressed,.feed-post:active,.feed-post.pressed{transform:scale(.985)!important;opacity:.94}
@media(prefers-reduced-motion:reduce){button,a[data-nav],[data-sec],.item,.work a,.feed-post{transition-duration:.12s,.12s,.12s,.12s}.shortcut-chip.copied{animation:none}}
/* Feed categories: posts stack on the category page itself */
.feed-list{display:grid;gap:20px;margin-top:8px}
.feed-post{position:relative;border:1px solid var(--line);background:#fff;border-radius:20px;padding:26px 28px;box-shadow:0 6px 22px #412b360a}
.feed-post .tools{right:14px;top:14px;opacity:0;transition:.15s}
.feed-post:hover .tools,.feed-post:focus-within .tools{opacity:1}
.feed-post-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px;padding-right:150px}
.feed-post-head .eye{flex:none;margin:0}
.feed-post-head h3{margin:0;font-size:22px;width:100%}
.feed-post-body>:first-child{margin-top:0}
.feed-post-body>:last-child{margin-bottom:0}
.feed-empty{color:var(--muted)}
.feed-hidden{border-style:dashed;background:#fffdf8}
@media(max-width:560px){.feed-post{padding:19px 17px}.feed-post-head{padding-right:0}.feed-post .tools{position:static;opacity:1;display:flex;justify-content:flex-end;margin-bottom:10px}.feed-post-head h3{font-size:19px}}

/* dialogs */
.form-modal{display:flex;flex-direction:column;width:min(780px,100%);max-height:88vh;padding:0;overflow:hidden}
.form-modal .modal-head{position:sticky;top:0;z-index:2;padding:17px 24px 13px;background:#fff;border-bottom:1px solid var(--line)}
.form-modal .modal-head h2{font-size:19px}
.form-body{overflow:auto;padding:18px 24px 8px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px;align-items:start}
.form-grid>.field{margin:0;min-width:0}
.form-grid>.field.wide,.form-grid>.field.check{grid-column:1/-1}
.form-modal .field>label{font-size:12px;font-weight:850;color:var(--muted);letter-spacing:.03em}
.form-modal .field small{color:var(--muted);font-size:12px;line-height:1.5}
.form-modal .field input,.form-modal .field select,.form-modal .field textarea{border-radius:11px;padding:10px 12px}
.form-modal .field input:focus,.form-modal .field select:focus,.form-modal .field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.form-modal .modal-actions{position:sticky;bottom:0;z-index:2;margin:0;padding:14px 24px 17px;background:#fff;border-top:1px solid var(--line)}
.color-row{display:flex;gap:8px;align-items:center}
.color-row input[type="color"]{flex:none;width:44px;height:40px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}
.color-row input[type="text"]{flex:1;font-family:Consolas,monospace}
.field.switch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fffdfe;cursor:pointer}
.field.switch input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.switch-box{position:relative;width:41px;height:24px;border-radius:999px;background:#e5d9df;transition:background .18s ease}
.switch-box:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:transform .22s cubic-bezier(.34,1.6,.5,1)}
.field.switch input:checked+.switch-box{background:var(--accent)}
.field.switch input:checked+.switch-box:after{transform:translateX(17px)}
.switch-text b{display:block;font-size:13.5px;font-family:var(--font-body)}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.form-body{padding:16px 16px 6px}.form-modal .modal-head{padding:15px 16px 12px}.form-modal .modal-actions{padding:13px 16px 15px}}
/* writing where the words are */
[data-live]{outline:none;border-radius:6px;transition:background .16s ease,box-shadow .16s ease}
[data-live]:hover{background:var(--soft)}
[data-live]:focus{background:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}
[data-live]:empty:before{content:attr(data-placeholder);color:var(--muted)}
.accent-pick{position:relative;gap:7px;overflow:hidden}
.accent-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}
.accent-pick span{width:13px;height:13px;border-radius:50%;background:var(--accent);border:1px solid rgba(255,255,255,.4)}
.edit-toggle{border-color:#ffffff3d!important;background:#ffffff14!important;color:#fff!important;font-weight:850}
.edit-toggle.on{background:var(--accent)!important;border-color:var(--accent)!important}
/* 보기 mode */
.editing-off .tools,.editing-off .exp-tools,.editing-off .widget-drag-handle,.editing-off .widget-resize-handle,.editing-off .flow-drag-handle,.editing-off .flow-resize-handle,.editing-off .entity-drag-handle,.editing-off .link-icon-resize-handle,.editing-off .gallery-select,.editing-off .gallery-bulk,.editing-off .dropzone,.editing-off .widget-toolbar,.editing-off .widget-empty,.editing-off .category-actions,.editing-off .actions,.editing-off .nav-hide,.editing-off .child-add,.editing-off .home-card-empty,.editing-off .widget-slide-link-btn,.editing-off .page-action-dock,.editing-off .home-profile-edit,.editing-off .side-add,.editing-off .widget-order-actions{display:none!important}
.inline-page-admin-editor.compact{margin:0;padding:0;border:0;background:none;box-shadow:none}
.inline-page-admin-editor.compact .inline-page-editor-head{display:none}
.widget-body-empty:empty:before{content:"여기를 눌러 바로 쓰세요";color:var(--muted)}

/* 시리즈: works that share a world */
.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:26px 16px}
.series-card{position:relative;min-width:0}
.series-cover{position:relative;display:block;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#ffe7f0,#efebff);box-shadow:0 5px 17px #59344612;transition:transform .2s ease,box-shadow .2s ease}
.series-cover img{width:100%;height:100%;object-fit:cover}
.series-card:hover .series-cover{transform:translateY(-3px);box-shadow:var(--shadow)}
.series-count{position:absolute;right:7px;bottom:7px;background:rgba(26,20,24,.76);color:#fff;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:800}
.series-status{display:inline-block;margin-top:10px;border:1px solid var(--line);border-radius:5px;padding:1px 7px;font-size:11px;color:var(--muted)}
.series-card h3{margin:7px 2px 0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.series-card p{margin:3px 2px 0;font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.series-tools{position:absolute;right:6px;top:6px;z-index:4;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}
.series-card:hover .series-tools{opacity:1}
.series-hidden .series-cover{outline:2px dashed var(--accent);outline-offset:-2px}
.series-head{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;margin:4px 0 8px}
.series-head-art img{width:150px;aspect-ratio:2/3;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}
.work-series .head{align-items:center;gap:10px}
.work-series-name{cursor:pointer}
.work-series-name:hover{color:var(--accent)}
.series-alone{color:var(--muted);font-size:13px}
@media(max-width:560px){.series-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:20px 10px}.series-head{grid-template-columns:1fr;gap:14px}.series-head-art img{width:110px}.series-tools{opacity:1}}


/* a work sits inside a series: the trail above its title */
.series-crumb{display:inline-flex;align-items:baseline;gap:8px;margin:2px 0 6px;padding:5px 11px 5px 10px;border:1px solid var(--line);border-radius:999px;background:#fff}
.series-crumb .eye{font-size:9px;letter-spacing:.18em;color:var(--accent)}
.series-crumb b{font-size:13px;font-weight:850}
.series-crumb small{font-size:11px;color:var(--muted)}
a.series-crumb:hover{border-color:var(--accent)}
a.series-crumb:hover b{color:var(--accent)}

/* 소개 */
.about-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;padding:14px 0 30px;border-bottom:1px solid var(--line)}
.about-hero img,.about-hero .avatar{width:138px;aspect-ratio:1;border-radius:50%;object-fit:cover;background:var(--soft)}
.about-hero-body{display:grid;gap:6px;justify-items:start}
.about-hero-body h1{margin:2px 0 0;font-size:clamp(30px,4.4vw,46px);letter-spacing:-.045em;line-height:1.05}
.about-hero-body p{margin:4px 0 0;font-size:16px;color:var(--muted);max-width:52ch;white-space:pre-wrap}
.about-hero-body .actions{margin-top:10px}
.about-note{margin:22px 0 0;color:var(--muted);font-size:13.5px;max-width:58ch}
.about-page .about-sections{display:grid;gap:14px;margin-top:26px}
.about-admin{margin-top:22px}
@media(max-width:560px){.about-hero{grid-template-columns:1fr;gap:16px;padding-bottom:24px}.about-hero img,.about-hero .avatar{width:96px}}


/* A link is a link, not a panel: the pill shrinks to its words and sits where the
   block was placed, so the block keeps the position it was given. */
.widget[data-type="link"]:not(.icon-link-widget){width:max-content;max-width:100%;min-height:0}
.widget[data-type="link"]:not(.icon-link-widget).frame-transparent{background:none;border:0;box-shadow:none;padding:0}
.widget[data-type="link"] .link-widget-inner{display:inline-flex;width:auto}
.home-link:not(.icon-only){display:inline-flex;align-items:center;gap:8px;min-height:0;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13.5px;font-weight:800;white-space:nowrap;transition:border-color .16s ease,color .16s ease,transform .3s cubic-bezier(.3,1.6,.5,1)}
.home-link:not(.icon-only):hover{border-color:var(--accent);color:var(--accent)}
.home-link:not(.icon-only) span:first-child{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:11px}
.widget[data-type="link"] .widget-caption{margin-top:6px;font-size:12px}


/* A series is several works. Its cover sits on a stack so it cannot be mistaken for
   one more cover in the grid below. */
.series-band{padding-top:26px}
.series-band .head{align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.series-band .head h2{font-size:18px}
.works-band{padding-top:34px}
.works-band .head{align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.works-band .head h2{font-size:18px}
.work-count{color:var(--muted);font-size:12px}
.series-stack{position:relative;display:block;padding:0 7px 7px 0}
.series-stack.is-many:before,.series-stack.is-many:after{content:"";position:absolute;top:7px;left:7px;right:0;bottom:0;border-radius:12px;background:#efe7eb;border:1px solid var(--line)}
.series-stack.is-many:before{top:12px;left:12px;background:#f5eff2}
.series-stack .series-cover{position:relative;z-index:2;margin:0}
.series-count{position:absolute;left:0;bottom:0;z-index:3;background:var(--ink);color:#fff;border-radius:7px;padding:3px 9px;font-size:11px;font-weight:800;letter-spacing:.02em}
.series-card:hover .series-stack .series-cover{transform:translateY(-3px)}
.series-card h3{margin-top:11px}
@media(max-width:560px){.series-stack{padding:0 5px 5px 0}.series-stack.is-many:before{top:9px;left:9px}}


/* Page cards are placed and sized freely on the canvas, like the home blocks. */
.widget-canvas>.page-flow-card{display:flex;flex-direction:column;overflow:hidden}
.widget-canvas>.page-flow-card>a,.widget-canvas>.page-flow-card>.page-flow-open{flex:1;min-height:0;display:flex;flex-direction:column}
.widget-canvas>.page-flow-card .page-flow-image{flex:1;min-height:0;aspect-ratio:auto}
.widget-canvas>.page-flow-card .page-flow-image img{width:100%;height:100%;object-fit:cover}
.widget-canvas>.page-flow-card.display-text .page-flow-copy{flex:1}
.page-flow-card.is-open>.page-flow-open{cursor:default}
.page-flow-body{padding:0 17px 17px;overflow:auto}
.page-flow-body>:first-child{margin-top:0}
.page-flow-card.is-open .page-flow-copy{padding-bottom:9px}
.field-preview img{max-width:220px;border:1px solid var(--line);border-radius:11px}
@media(max-width:700px){.widget-canvas>.page-flow-card{height:auto!important;min-height:0!important}.widget-canvas>.page-flow-card .page-flow-image{aspect-ratio:16/9;flex:none}}


/* A banner made for the job, and an original that is never cut. */
.page-flow-image.ratio-banner{aspect-ratio:3/1}
.page-flow-image.ratio-natural{aspect-ratio:auto}
.page-flow-image.ratio-natural img{height:auto;object-fit:contain}
.widget-canvas>.page-flow-card .page-flow-image.ratio-natural{flex:none}
.widget-canvas>.page-flow-card .page-flow-image.ratio-natural img{height:auto;object-fit:contain;background:#f3eef0}
.widget-canvas>.page-flow-card .page-flow-image.ratio-banner{flex:none;aspect-ratio:3/1}


/* One list of entries, told apart by a tag the owner names and colours. */
.entry-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.entry-filters .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:700;color:var(--muted)}
.entry-filters .chip[data-entry-filter]:not([data-entry-filter=""]):before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tag,#8c8c8c);margin-right:6px;vertical-align:1px}
.entry-filters .chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.entry-rows{border-top:1px solid var(--line)}
.entry{position:relative;border-bottom:1px solid var(--hair,#eee)}
.entry-head{display:flex;align-items:center;gap:11px;width:100%;padding:14px 2px;text-align:left;background:none;border:0}
.entry-head:hover{background:rgba(0,0,0,.016)}
.entry-head b{flex:1;min-width:0;font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entry-head time{flex:none;color:var(--muted);font-size:12px}
.entry-tag{flex:none;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:800;color:#fff;background:var(--tag,#8c8c8c)}
.entry-thumb{flex:none;width:30px;height:40px;border-radius:4px;overflow:hidden;background:var(--soft)}
.entry-thumb img{width:100%;height:100%;object-fit:cover}
.entry-count{flex:none;color:var(--muted);font-size:11.5px}
.entry-body{padding:2px 2px 20px}
.entry-body>.rich{font-size:14.5px}
.entry.is-hidden .entry-head b{color:var(--muted)}
.entry-tools{position:absolute;right:2px;top:9px;z-index:3;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}
.entry:hover .entry-tools{opacity:1}
.entry-works{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:18px 12px;margin-top:14px}
.entry-works .shelf-item b{font-size:12.5px}
@media(max-width:560px){.entry-head{flex-wrap:wrap;gap:7px}.entry-head b{flex:1 1 100%;order:3;white-space:normal}.entry-head time{margin-left:auto}.entry-tools{opacity:1}}


/* Picking a few things out of a list is a row of chips, not a column of switches. */
.pick-row{display:flex;flex-wrap:wrap;gap:6px}
.pick{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:700;color:var(--muted)}
.pick:hover{border-color:var(--accent);color:var(--accent)}
.pick.on{background:var(--ink);border-color:var(--ink);color:#fff}
.field-picks{margin-top:4px}


/* The card an entry used to be, with its tag beside the date. */
.feed-post-head{align-items:center}
.feed-post-head .entry-tag{flex:none;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:800;color:#fff;background:var(--tag,#8c8c8c)}
.feed-post-head .eye{flex:none;margin:0;color:var(--muted)}
.feed-post-head .chip{flex:none}
.feed-post-head h3{width:100%;margin-top:4px}
.feed-post .entry-body:empty{display:none}
.feed-post .entry-works{margin-top:16px}


/* An offer to bring strays into the page they belong on. */


/* Pages inside pages: the trail back up, and what each card holds. */
.page-trail{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;font-size:12.5px;color:var(--muted)}
.page-trail a{font-weight:700}
.page-trail a:hover{color:var(--accent)}
.page-trail i{font-style:normal;opacity:.5}
.feed-post-head h3 a:hover{color:var(--accent)}
.entry-inside{margin-top:12px;font-size:12.5px}
.entry-inside a{color:var(--accent);font-weight:700}
.custom-category .head h1[data-live]{min-width:2em}


/* A picture is changed by pressing it. */
.editing-off [data-swap-owner]{cursor:inherit}
[data-swap-owner]{position:relative}
.admin-mode:not(.editing-off) [data-swap-owner]{cursor:pointer}
.admin-mode:not(.editing-off) [data-swap-owner]:hover{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}



/* The cover opens the thing it belongs to; a small control on it changes the picture. */
[data-swap-host]{position:relative}
.swap-btn{position:absolute;left:7px;bottom:7px;z-index:6;border:0;border-radius:7px;padding:3px 9px;background:rgba(23,21,26,.78);color:#fff;font-size:11px;font-weight:800;opacity:0;transition:opacity .15s ease}
[data-swap-host]:hover .swap-btn,.swap-btn:focus-visible{opacity:1}
.editing-off .swap-btn{display:none!important}
@media(max-width:700px){.swap-btn{opacity:1}}


/* The work log: one rule running down the page, everything hung off it in order. */
.timeline{margin-top:22px}
.timeline-filters{margin-bottom:16px}
.view-switch{display:inline-flex;gap:5px;margin-left:10px}
/* A day is not a box any more. The owner asked for the log to read as one thread:
   a single rule down the left, every line hanging off it the way a reply hangs off a
   comment, and no rule drawn between one day and the next. The year and the month are
   written on that same rail where they change - 2026년, then 11월 - so a reader always
   knows where they are without the month being repeated on every line. */
.tl-stream{list-style:none;margin:0;padding:0}
.tl-stream>li{position:relative;padding-left:21px}
.tl-stream>li:before{content:"";position:absolute;left:4px;top:0;bottom:0;width:1.5px;background:var(--line)}
.tl-stream>li:first-child:before{top:10px}
.tl-stream>li:last-child:before{bottom:10px}
.tl-stream>.tl-record{margin:0;padding:8px 10px 8px 21px;border-radius:0 11px 11px 0}
/* 세 단계가 같은 선에 걸립니다: 2026년, 그 아래 10월, 그 아래 27일 (일). 글씨는
   년 > 월 > 일 > 본문 순으로 작아지고, 그 차례가 곧 무엇이 무엇에 속하는지를 말합니다 -
   들여쓰기로 말하면 선이 네 겹이 되고, 선은 하나여야 합니다. */
.tl-mark{padding-top:22px;padding-bottom:4px}
.tl-mark-month{padding-top:20px}
.tl-mark-day{padding-top:14px;padding-bottom:2px}
.tl-stream>.tl-mark:first-child{padding-top:2px}
.tl-mark b{display:inline-block;font-family:var(--font-display);line-height:1.2}
.tl-mark-year b{font-size:21px;font-weight:900;color:var(--ink);letter-spacing:.02em}
.tl-mark-month b{font-size:17px;font-weight:800;color:var(--muted);letter-spacing:.04em}
.tl-mark-day b{font-size:15px;font-weight:800;color:var(--muted);letter-spacing:.02em}
.tl-mark-year+.tl-mark-month{padding-top:3px}
.tl-mark-month+.tl-mark-day{padding-top:5px}
.tl-text{flex:1 1 180px;min-width:0;font-size:14px;overflow-wrap:anywhere}
.tl-text:empty:before{content:attr(data-placeholder);color:var(--muted)}
.tl-when{flex:none;padding:3px 7px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;font-family:inherit}
/* While editing, the row shows the list to pick from; otherwise it shows the name. */
.tl-del{flex:none;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:15px;opacity:0;transition:opacity .15s ease}
.tl-record:hover .tl-del,.tl-del:focus-visible{opacity:1}
.tl-del:hover{background:#f6e2e8;color:#9a3850}
@media(max-width:700px){
  .tl-stream>li,.tl-stream>.tl-record{padding-left:16px}
  .tl-stream>li:before{left:3px}
  .tl-work,.tl-pick{max-width:100%}
  .tl-text{flex-basis:100%}
  .tl-del{opacity:1}
}


/* How long this has been going on, and when each line was actually written down. */


/* The label is written, not chosen, so it looks like the chip it becomes. */


/* One entry on the chart: a line that reads at a glance, and under it as much writing
   and as many pictures as that entry needed. */
.tl-record{min-width:0;padding:7px 9px;border-radius:11px;transition:background .15s ease}
.tl-record:hover{background:var(--soft)}
/* Hovering a line that carries on another must not light up the whole thread. */
.tl-record:has(.tl-record:hover){background:transparent}
/* 제목이 두 줄이어도 날짜는 가운데로 내려오지 않고 첫 줄 옆에 섭니다 - 첫 줄이 곧
   날짜 줄이고, 나머지는 그 밑으로 흘러내립니다. */
.tl-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
/* The coloured dots at the head of every line are gone. Six dots nobody could name
   without hovering each one told a reader less than the line of writing beside them,
   and the buttons at the top are how the log is read by work. */
/* 두 줄로 적었으면 두 줄로 남습니다. 고치는 칸(contenteditable)은 브라우저가 알아서
   줄바꿈을 지켜 주지만 손님 화면은 지키지 않아, 주인이 올리고 나서야 한 줄로 붙은 것을
   보게 됐습니다. */
.tl-text{flex:1 1 220px;min-width:0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}
.tl-text:empty:before{content:attr(data-placeholder);color:var(--muted)}
.tl-when{flex:none;padding:3px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:13px;font-family:inherit}

/* A line that carries on another hangs off it, the way a reply hangs off a comment:
   a step to the right, a ㄴ drawn with two borders, and its own day on the row. The
   trunk is what the thread is about, so it is the one printed heavier. */
/* A quote: set in from the text around it, with a rule down its left side. */
.rich blockquote{margin:1.1em 0;padding:2px 0 2px 16px;border-left:3px solid color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--muted)}
.rich blockquote p{margin:.35em 0}

/* The short list that "/" opens while writing. It sits on the page by the line being
   written, not in a window, and closes the moment something is picked. */
.doc-slash{position:absolute;z-index:40;display:flex;flex-wrap:wrap;gap:5px;width:max-content;max-width:min(430px,82vw);padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(48,34,38,.18)}
.doc-slash-hint{width:100%;margin-bottom:2px;color:var(--muted);font-size:11px;font-weight:700}
.doc-slash button{border:1px solid var(--line);border-radius:999px;padding:5px 11px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;font-family:inherit}
.doc-slash button:hover,.doc-slash button:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}

/* Nothing placed on the canvas: one column, full width, and the empty canvas sits at
   the bottom instead of holding a 42% gap open beside the name. */
.home-dashboard.is-single{display:block}
.home-dashboard.is-single>.home-band-rail{margin-top:34px}
.home-dashboard.is-single>.home-band-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:34px}
.home-dashboard.is-single>.page-widget-area{margin-top:44px}

/* A links card sitting on a page of its own rather than in the front page's grid. */
.flow-builder .home-card-links{margin-top:14px;max-width:560px}
.home-link-line{display:flex;align-items:center;gap:8px}
.home-link-line .home-link-row{flex:1;min-width:0}
.link-row-tools{flex:none;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}
.home-link-line:hover .link-row-tools,.link-row-tools:focus-within{opacity:1}
@media(max-width:700px){.link-row-tools{opacity:1}}
.tl-kids{list-style:none;margin:4px 0 0;padding:0 0 0 19px;display:grid;gap:3px}
.tl-kid{position:relative}
/* Drawn, not laid out: on a narrow screen the row wraps and a ㄴ in the flow would
   be left stranded on a line of its own. */
.tl-branch{position:absolute;left:-10px;top:11px;width:11px;height:10px;border-left:1.5px solid #cfc3c6;border-bottom:1.5px solid #cfc3c6;border-bottom-left-radius:2px}
/* A line is not a heading. The day above it on the rail is, and a line printed
   heavier than its own day read as four headings stacked on each other. So a line is
   body writing: the same size as the note under it, and no heavier. */
.tl-record:not(.tl-kid)>.tl-line>.tl-text{font-size:14px;font-weight:400;color:var(--ink);letter-spacing:0}
.tl-kid>.tl-line>.tl-text{font-size:13.5px}
/* 2026-11-08: 줄 위에 서 있던 먹색 작품 이름을 주인이 빼라고 했습니다. 어느 작품인지는
   맨 위 버튼으로 고르는 것이고, 줄에는 그날 한 일만 남습니다. */
.tl-sub-date{flex:none;font-style:normal;font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap}

/* Which works an entry is about. Shut, it is a word and a count; open, it is every
   name so far, ticked on or off, with a box to write a new one into. */
.tl-labels{position:relative;flex:none}
.tl-labels-open{padding:3px 9px;border:1px dashed var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:11.5px;font-weight:700;font-family:inherit;cursor:pointer}
.tl-labels-open:hover{border-style:solid;border-color:var(--accent);color:var(--ink)}
.tl-labels-open.on{border-style:solid;border-color:var(--ink);background:var(--ink);color:#fff}
.tl-label-chips{position:absolute;z-index:14;top:calc(100% + 6px);left:0;display:flex;flex-wrap:wrap;gap:5px;width:max-content;max-width:min(420px,78vw);padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 14px 38px rgba(48,34,38,.16)}
.tl-label-chips[hidden]{display:none}
/* Ticked has to be unmistakable at a glance: the dot is the work's colour, and what
   is chosen turns dark with a tick on it. Without this a picked name looked exactly
   like an unpicked one. */
.tl-label-hint{width:100%;margin-bottom:2px;color:var(--muted);font-size:11px;font-weight:700}
.tl-label-chips .chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 11px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;font-family:inherit}
.tl-label-chips .chip:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--tag,#c8bfc2);box-shadow:inset 0 0 0 1px rgba(20,16,18,.12)}
.tl-label-chips .tl-chip-all:before{background:linear-gradient(135deg,#98546a,#4f7d8f)}
.tl-label-chips .chip:hover{border-color:var(--accent);color:var(--ink)}
.tl-label-chips .chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tl-label-chips .chip.on:after{content:"✓";flex:none;font-size:11px;font-weight:900}
.tl-label-chips .chip.on:before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.tl-label-new{width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:9px;font-size:12px;font-family:inherit}
.tl-label-new:focus{outline:none;border-color:var(--accent)}

/* Carrying a line forward, and taking one off the chart. Only the line being pointed
   at offers these - otherwise every line above it in the thread offers them too. */
/* 이어서는 없앴습니다 - 주인이 그렇게 쓰지 않습니다. 전에 그렇게 적어 둔 줄들은
   그대로 제 줄기 밑에 남습니다. 버튼을 치운다고 적어 둔 글까지 가져가면 안 됩니다. */

/* The entry's own writing: line breaks and pictures, nothing heavier. */
.tl-note{margin:0;padding:0 0 0 17px;font-size:13.5px;color:var(--muted)}
.tl-note:empty{display:none}
.tl-note p{margin:5px 0}
.tl-note img,.tl-note .rich-img img{max-width:100%;border-radius:9px}
.tl-note .rich-img{width:min(100%,460px);margin:9px 0}

@media(max-width:700px){
  .tl-text{flex-basis:100%}
  /* A line that begins a thread says only "4일 (토)" before its title, so the two sit
     on one line even on a phone - a day on a line of its own reads as a heading, and
     the heading on this rail is the month. */
  .timeline .tl-record>.tl-line>.tl-text{flex-basis:140px}
  .tl-del{opacity:1}
  .tl-label-chips{left:auto;right:0}
  .tl-note{padding-left:0}
  .tl-kids{padding-left:14px}
}


/* A character: the name and the face side by side, and one quiet square where there
   is no face yet. */
.char-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:28px;margin-bottom:6px}
.char-head-text{min-width:0}
.char-head-text .title{margin-top:0}
.char-portrait{position:relative;width:min(210px,32vw);margin:4px 0 0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--soft)}
.char-portrait img{display:block;width:100%;aspect-ratio:1;object-fit:cover;cursor:zoom-in}
.char-portrait-add{display:grid;place-items:center;width:100%;aspect-ratio:1;margin-bottom:10px;border:1px dashed var(--line);border-radius:14px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}
.char-portrait-add:hover{border-style:solid;border-color:var(--accent);color:var(--accent)}
.char-head > .char-portrait-add{width:min(210px,32vw);margin:4px 0 0}
.editing-off .char-portrait-add{display:none}
@media(max-width:700px){
  .char-head{grid-template-columns:minmax(0,1fr);gap:14px}
  .char-portrait,.char-head > .char-portrait-add{width:min(190px,54vw)}
}


/* What can be done to one picture, where the picture is. */
.pic-hint{position:absolute;right:8px;bottom:8px;z-index:5;padding:2px 7px;border-radius:999px;background:rgba(23,21,26,.62);color:#fff;font-size:10.5px;font-weight:700;opacity:0;transition:opacity .15s ease;pointer-events:none}
.pic:hover .pic-hint{opacity:1}
.editing-off .pic-hint{display:none}
.pic-menu{position:fixed;z-index:80;display:grid;gap:3px;min-width:198px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 18px 48px rgba(48,34,38,.2)}
.pic-menu hr{margin:3px 0;border:0;border-top:1px solid var(--line)}
.pic-menu-item{display:block;width:100%;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--ink);font-size:13px;font-family:inherit;text-align:left;cursor:pointer}
.pic-menu-item:hover{background:var(--soft)}
.pic-menu-item.danger{color:#9a3850}
.pic-menu-item.danger:hover{background:#f6e2e8}
.pic-menu-field{display:grid;gap:3px;padding:5px 10px 7px}
.pic-menu-field span{font-size:11px;font-weight:700;color:var(--muted)}
.pic-menu-field input{padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;font-family:inherit}
.pic-menu-field input:focus{outline:none;border-color:var(--accent)}
.pic-menu-field select{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:12.5px;font-family:inherit}
.pic-menu-field select:focus{outline:none;border-color:var(--accent)}
.pic-menu-note{margin:1px 10px 5px;color:var(--muted);font-size:11px;line-height:1.45}
.gallery-drag-handle{position:absolute;z-index:7;right:8px;top:8px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:9px;background:rgba(41,35,38,.86);color:#fff;font:800 14px/1 var(--font-body);cursor:grab;touch-action:none;opacity:.55;transition:opacity .15s ease}
.pic:hover .gallery-drag-handle{opacity:1}
.gallery-drag-handle:active{cursor:grabbing;opacity:1}
.editing-off .gallery-drag-handle{display:none}
.admin-mode .gallery[data-gallery-order] .pic{cursor:grab}
.admin-mode .gallery[data-gallery-order] .pic.dragging{cursor:grabbing;opacity:.45;outline:2px dashed var(--accent);outline-offset:3px}
.editing-off .gallery[data-gallery-order] .pic{cursor:default}


/* The page list reads as a list of page names. A row's controls appear when that row
   is pointed at, and the card keeps them inside it instead of spilling them across
   the writing next to it. */
.tree{overflow:hidden}
.node{min-width:0}
.node > a{min-width:0}
.node .entity-drag-handle,.node .nav-hide,.node .child-add{display:none}
.node:hover .entity-drag-handle,.node:hover .nav-hide,.node:hover .child-add,.node:focus-within .entity-drag-handle,.node:focus-within .nav-hide,.node:focus-within .child-add{display:inline-flex}
.editing-off .node .entity-drag-handle,.editing-off .node .nav-hide,.editing-off .node .child-add{display:none!important}
@media(max-width:700px){.node .entity-drag-handle,.node .nav-hide,.node .child-add{display:inline-flex}}

