/* 윈98 공통 부품. 색과 치수는 시안 보드의 스타일을 그대로 옮긴다. */
html,body{margin:0;height:100%}
body{background:#3E6B4A}
.w98 *{box-sizing:border-box}
.w98 button,.w98 select,.w98 input,.w98 textarea{font-family:inherit;font-size:inherit;color:inherit;font-weight:inherit}
.w98{word-break:keep-all;overflow-wrap:anywhere;font-size:15px;color:#1E211D}
/* 탭·버튼·목록 줄은 줄 높이를 고정한다: 글꼴에 없는 글자(예: 가운뎃점 ·)를 다른 글꼴로 빌려 그려도 크기가 변하지 않게 */
.w98 .btn,.w98 .tsk,.w98 .trow,.w98 .ep,.w98 .mrow,.w98 .prow{line-height:20px}
.w98 .ptab,.w98 .menuitem{line-height:15px}

.raised{background:#C4C9C0;border:1px solid;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px -1px 0 #7D8579,inset 1px 1px 0 #E3E7E0}
.sunken{border:1px solid;border-color:#7D8579 #FFFFFF #FFFFFF #7D8579;box-shadow:inset 1px 1px 0 #23291F,inset -1px -1px 0 #E3E7E0}
.btn{background:#C4C9C0;border:1px solid;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px -1px 0 #7D8579,inset 1px 1px 0 #E3E7E0;min-height:32px;padding:0 12px;cursor:pointer;white-space:nowrap}
.btn:active,.btn.on{border-color:#23291F #FFFFFF #FFFFFF #23291F;box-shadow:inset 1px 1px 0 #7D8579,inset -1px -1px 0 #E3E7E0;padding-top:2px}
.btn.on{background-color:#E8D3BF;background-image:repeating-conic-gradient(#E8D3BF 0 25%,#F3E6D8 0 50%);background-size:2px 2px}
.btn.off{color:#7D8579;text-shadow:1px 1px 0 #FFFFFF}
.btn:focus-visible,.ep:focus-visible,.tsk:focus-visible,.splitter:focus-visible{outline:1px dotted #23291F;outline-offset:-5px}
.btn.flat{border-color:transparent;box-shadow:none;min-height:28px}
.tsk{background:#C4C9C0;border:1px solid;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px -1px 0 #7D8579,inset 1px 1px 0 #E3E7E0;min-height:34px;padding:0 12px;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}
.tsk.on{border-color:#23291F #FFFFFF #FFFFFF #23291F;box-shadow:inset 1px 1px 0 #7D8579;background-image:repeating-conic-gradient(#C4C9C0 0 25%,#FFFFFF 0 50%);background-size:2px 2px}
.tb{width:20px;height:18px;min-height:0;padding:0;display:grid;place-items:center}
.band{display:flex;align-items:center;gap:4px;padding:3px 6px 3px 4px;border:1px solid;border-color:#FFFFFF #7D8579 #7D8579 #FFFFFF}
.grip{width:4px;align-self:stretch;margin:2px 6px 2px 2px;border:1px solid;border-color:#FFFFFF #7D8579 #7D8579 #FFFFFF}
.blabel{padding:0 6px 0 2px;color:#3A4236;white-space:nowrap}
.fmt{min-width:32px;padding:0 8px;display:inline-grid;place-items:center;font-size:18px;line-height:1}
.fmt svg{width:21px;height:18px}
.w98 .fmt{font-size:18px}
.field{height:30px;padding:0 10px;background:#FFFFFF;caret-color:#BE7F4F;outline:none}
.field::selection{background:#DBA277;color:#1E211D}
.pick{height:32px;background:#FFFFFF;padding:0 6px}

/* 윈98 스크롤바 */
.w98 ::-webkit-scrollbar{width:16px;height:16px}
.w98 ::-webkit-scrollbar-track{background-color:#E3E7E0;background-image:repeating-conic-gradient(#C4C9C0 0 25%,#FFFFFF 0 50%);background-size:2px 2px}
.w98 ::-webkit-scrollbar-thumb{background:#C4C9C0;border:1px solid;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px -1px 0 #7D8579}
/* 버튼은 양쪽 끝에 하나씩만(크롬은 모양을 바꾸면 끝마다 두 개씩 그린다), 도트 화살표, 누르면 들어간 모양 */
.w98 ::-webkit-scrollbar-button{background-color:#C4C9C0;background-repeat:no-repeat;border:1px solid;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px -1px 0 #7D8579,inset 1px 1px 0 #E3E7E0;height:16px;width:16px}
.w98 ::-webkit-scrollbar-button:vertical:start:increment,.w98 ::-webkit-scrollbar-button:vertical:end:decrement,
.w98 ::-webkit-scrollbar-button:horizontal:start:increment,.w98 ::-webkit-scrollbar-button:horizontal:end:decrement{display:none}
.w98 ::-webkit-scrollbar-button:vertical:decrement{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='4' shape-rendering='crispEdges'%3E%3Cpath d='M3 0h1v1H3zM2 1h3v1H2zM1 2h5v1H1zM0 3h7v1H0z' fill='%231E211D'/%3E%3C/svg%3E");background-position:3px 5px}
.w98 ::-webkit-scrollbar-button:vertical:increment{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='4' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h7v1H0zM1 1h5v1H1zM2 2h3v1H2zM3 3h1v1H3z' fill='%231E211D'/%3E%3C/svg%3E");background-position:3px 5px}
.w98 ::-webkit-scrollbar-button:horizontal:decrement{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='7' shape-rendering='crispEdges'%3E%3Cpath d='M0 3h1v1H0zM1 2h1v3H1zM2 1h1v5H2zM3 0h1v7H3z' fill='%231E211D'/%3E%3C/svg%3E");background-position:5px 3px}
.w98 ::-webkit-scrollbar-button:horizontal:increment{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='7' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h1v7H0zM1 1h1v5H1zM2 2h1v3H2zM3 3h1v1H3z' fill='%231E211D'/%3E%3C/svg%3E");background-position:5px 3px}
.w98 ::-webkit-scrollbar-button:vertical:active{border-color:#7D8579;box-shadow:none;background-position:4px 6px}
.w98 ::-webkit-scrollbar-button:horizontal:active{border-color:#7D8579;box-shadow:none;background-position:6px 4px}
.w98 ::-webkit-scrollbar-corner{background:#C4C9C0}

/* 메뉴 */
.menuitem{display:block;width:100%;text-align:left;padding:8px 14px;border:0;background:transparent;cursor:pointer;white-space:nowrap}
.menuitem:hover,.menuitem:focus-visible{background:#2F5236;color:#FFFFFF;outline:none}
.msep{height:0;margin:3px 2px;border-top:1px solid #7D8579;border-bottom:1px solid #FFFFFF}
.menu-shade{position:fixed;inset:0;z-index:300}
.menu-pop{position:absolute;top:calc(100% + 2px);padding:2px;z-index:301}

/* 제목 표시줄 */
.titlebar{background:linear-gradient(90deg,#2F5236,#6E9677);color:#FFFFFF;display:flex;align-items:center;gap:8px}
.titletext{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 글꼴 고르기 (윈98 콤보 상자) */
.fontpick-btn{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:0 2px 0 6px;background:#FFFFFF;cursor:pointer;text-align:left}
.fontpick-btn:focus-visible .fontpick-name{background:#2F5236;color:#FFFFFF;outline:1px dotted #DBA277}
.fontpick-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 2px;font-size:15px;line-height:20px}
.fontpick-arrow{flex:0 0 auto;width:18px;align-self:stretch;margin:2px 0;display:grid;place-items:center;background:#C4C9C0;border:1px solid;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px -1px 0 #7D8579,inset 1px 1px 0 #E3E7E0}
.fontpick-list{margin:0;padding:1px;list-style:none;background:#FFFFFF;border:1px solid #23291F;box-shadow:2px 2px 0 rgba(34,48,31,.35);max-height:70vh;overflow-y:auto}
.fontpick-item{display:flex;align-items:center;padding:0 8px;cursor:pointer;white-space:nowrap;font-size:16px;line-height:20px;color:#1E211D}
.fontpick-item.hi{background:#2F5236;color:#FFFFFF}

/* 대화상자 */
.dlg-shade{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:rgba(35,41,31,0.25);z-index:400}

/* 데스크톱 화면 틀 */
.desk{height:100vh;height:100dvh;background:#3E6B4A;display:flex;flex-direction:column;position:relative;overflow:hidden}
.desk-win{margin:12px 12px 8px;padding:3px;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;padding:6px 4px;border-top:1px solid #7D8579;box-shadow:inset 0 1px 0 #FFFFFF;border-bottom:1px solid #7D8579;position:relative;z-index:5}
.toolbar.oneline{flex-wrap:nowrap;gap:8px;white-space:nowrap}
.addrbar{display:flex;align-items:center;gap:8px;padding:5px 4px;border-bottom:1px solid #7D8579;box-shadow:0 1px 0 #FFFFFF;flex-wrap:wrap}
.work{display:flex;gap:6px;padding:6px 2px;flex:1 1 auto;align-items:stretch;min-height:0;overflow:hidden}
.statusbar{display:flex;flex-wrap:wrap;gap:3px;padding-top:3px;align-items:stretch}
.statusbar>.sunken{padding:5px 10px;display:flex;align-items:center;gap:8px}
.taskbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;border-left:0;border-right:0;border-bottom:0}

/* 휴대폰 화면 틀 */
.mob{height:100vh;height:100dvh;background:#C4C9C0;display:flex;flex-direction:column;position:relative;overflow:hidden}
.mob .menuitem{min-height:44px}
.mbtn{min-height:44px;padding:0 12px}
.mtask{flex:1 1 0;min-width:0;min-height:44px;padding:0 2px;justify-content:center;font-size:13px}
.mtoolbar{display:flex;gap:4px;padding:4px;border-top:1px solid #7D8579;box-shadow:inset 0 1px 0 #FFFFFF;border-bottom:1px solid #7D8579;flex:0 0 auto;position:relative;z-index:6;align-items:center}
.mstatus{display:flex;gap:3px;padding:0 4px 4px;flex:0 0 auto;align-items:stretch}
.mstatus>.sunken{padding:5px 8px;display:flex;align-items:center}
.mstatus>.grow{flex:1 1 auto;min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mmenu-field{display:flex;flex-direction:column;gap:4px;padding:6px 14px}
.mmenu-row{display:flex;align-items:center;gap:8px;padding:6px 14px;min-height:44px}

/* 원고 칸·목록·분할 (시안 그대로) */
.paper{background:#FFFFFF;color:#1E211D;caret-color:#BE7F4F;font-size:16px;line-height:1.85;outline:none;resize:none}
.paper::selection{background:#DBA277;color:#1E211D}
.ep{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:6px 8px;border:0;background:transparent;text-align:left;cursor:pointer}
.ep.sel{background:#2F5236;color:#FFFFFF}
.eprow{display:flex;align-items:center;gap:4px;padding-left:6px}
.eprow.drop-before{box-shadow:inset 0 2px 0 #BE7F4F}
.eprow.drop-after{box-shadow:inset 0 -2px 0 #BE7F4F}
.eprow.dragging{opacity:.5}
.ellip{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.splitter{flex:0 0 6px;align-self:stretch;margin:0 -3px;cursor:col-resize;touch-action:none;border-left:1px solid #FFFFFF;border-right:1px solid #7D8579;background:#C4C9C0}
.hsplit{flex:0 0 6px;cursor:row-resize;touch-action:none;border-top:1px solid #FFFFFF;border-bottom:1px solid #7D8579;background:#C4C9C0}
.splitter:hover,.splitter.drag,.hsplit:hover,.hsplit.drag{background:#DBA277}
.hsplit:focus-visible{outline:1px dotted #23291F}
.dragging-ui,.dragging-ui *{user-select:none;cursor:inherit}
.mrow{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:4px 10px;border:0;border-bottom:1px solid #E3E7E0;background:transparent;text-align:left;cursor:pointer}
.mrow.sel{background:#2F5236;color:#FFFFFF}
.chk{width:15px;height:15px;flex:0 0 auto;accent-color:#2F5236}
.mob .chk{width:20px;height:20px}
.empty-box{background:#FFFFFF;flex:1 1 auto;min-height:0;display:grid;place-items:center;padding:24px;text-align:center}

/* 플래너·인물 공통 부품 (시안 그대로) */
.fld{display:block;width:100%;background:#FFFFFF;color:#1E211D;caret-color:#BE7F4F;padding:6px 8px;line-height:1.6;outline:none;resize:none;overflow:hidden;min-height:34px}
.fld::selection{background:#DBA277}
textarea.fld{overflow-y:hidden}
.cap{max-height:300px;overflow-y:auto !important}
.nb{min-width:34px;min-height:28px;padding:0 6px}
.pbody{background:#E3E7E0}
.chipx{width:20px;height:20px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:#5B7E63}
.chipx:hover{background:#DBA277}
.ghead{color:#2F5236;font-size:17px;padding:4px 0 10px;display:flex;align-items:center;gap:8px}
.ghead::before{content:"";width:8px;height:8px;background:#DBA277;outline:1px solid #22301F}
.mini{width:22px;height:22px;min-height:0;padding:0;display:grid;place-items:center;flex:0 0 auto}
.ptab{background:#C4C9C0;border:1px solid;border-bottom:0;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px 0 0 #7D8579;padding:6px 12px 5px;margin-top:3px;cursor:pointer;white-space:nowrap;position:relative}
.ptab.on{margin-top:0;padding:8px 14px 7px;z-index:1;margin-bottom:-1px}
.ptab:focus-visible{outline:1px dotted #23291F;outline-offset:-5px}
.pcard{border:1px solid #7D8579;background:#FFFFFF;display:flex;flex-direction:column}
.pcard.drop-before{box-shadow:0 -3px 0 #BE7F4F}
.pcard.drop-after{box-shadow:0 3px 0 #BE7F4F}
.pcard.dragging{opacity:.5}
.pcard-head{display:flex;align-items:center;gap:6px;padding:3px 4px;background:#F3F5F1;border-bottom:1px solid #C4C9C0;min-height:32px;cursor:grab}
.mob .pcard-head{min-height:44px}
.mob .mini,.mob .pcard-head .chipx{width:44px;height:44px}
.mob .nb{min-width:44px;min-height:44px}

/* 인물: 트리·속성 창·메모 */
.trow{display:flex;align-items:center;gap:6px;width:100%;min-height:34px;padding:3px 6px;border:0;background:transparent;text-align:left;cursor:pointer;white-space:nowrap;box-shadow:none}
.trow.sel .tl{background:#2F5236;color:#FFFFFF}
.tl.unnamed{color:#7D8579}
.trow.sel .tl.unnamed{color:#E3E7E0}
.trow:focus-visible{outline:1px dotted #23291F;outline-offset:-3px}
.trow.drop-into{background:#F1E1D1;outline:1px dotted #BE7F4F;outline-offset:-1px}
.trow.drop-before{box-shadow:inset 0 2px 0 #BE7F4F}
.trow.drop-after{box-shadow:inset 0 -2px 0 #BE7F4F}
.tl{padding:1px 4px;overflow:hidden;text-overflow:ellipsis;font-size:17px;min-width:0}
.twist{flex:0 0 auto;width:13px;height:13px;display:grid;place-items:center;background:#FFFFFF;border-color:#7D8579;box-shadow:none;font-size:0;cursor:pointer}
.emo22{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;font-size:18px;line-height:1;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.emo32{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;font-size:27px;line-height:1;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.emoji-in{flex:0 0 auto;width:80px;height:80px;padding:0;text-align:center;font-size:46px;line-height:1;background:#FFFFFF;outline:none;caret-color:#BE7F4F;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.chip{display:inline-flex;align-items:center;gap:2px;padding:1px 2px 1px 8px;background:#E9F0E9;color:#2F5236;border:1px solid #84A88B;line-height:1.5}
.prow{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:3px 8px;cursor:pointer;user-select:none}
.prow.on{background:#2F5236;color:#FFFFFF}
.grp{border:1px solid #7D8579;box-shadow:inset 1px 1px 0 #FFFFFF,1px 1px 0 #FFFFFF;margin:0;padding:12px 14px 14px;min-width:0}
.grp>legend{padding:0 6px}
.sheet.all{background:transparent}
.rich{overflow-wrap:anywhere;white-space:pre-wrap}
.rich hr{border:0;border-top:1px solid #7D8579;border-bottom:1px solid #FFFFFF;margin:8px 0}
.rich mark[data-memo]{background:#FFF3B0;color:inherit;border-bottom:2px solid #D9B84A;padding:0}
.rich mark.memo-on{outline:2px solid #BE7F4F}
.memo-note{background:#FFF3B0;border:1px solid #D9B84A;box-shadow:2px 2px 0 rgba(34,48,31,.25);padding:6px 6px 8px;display:flex;flex-direction:column;gap:4px}
.memo-text{display:block;width:100%;border:0;background:transparent;resize:none;outline:none;overflow:hidden;line-height:1.5;color:#3A2E0A;min-height:40px;caret-color:#BE7F4F}
.fsp{width:6px;flex:0 0 auto}
.mfmt{display:flex;flex-wrap:wrap;gap:4px;padding:0 0 6px;flex:0 0 auto;border-bottom:1px solid #7D8579;margin-bottom:6px;align-items:center}
.mfmt .fsp{display:none}
.mfmt .btn.mbtn:not(.fmt){padding:0 10px}
.mob .trow{min-height:44px}
.mob .trow.sel .tl{background:transparent;color:#1E211D;text-decoration:underline;text-decoration-color:#DBA277;text-decoration-thickness:3px;text-underline-offset:4px}
.mob .trow.sel .tl.unnamed{color:#7D8579}
.mob .chipx{width:44px;height:44px}
.mob .prow{min-height:44px}

/* 로그인·불러오기 화면 */
.login-bg{box-sizing:border-box;min-height:100vh;min-height:100dvh;background:#3E6B4A;display:grid;place-items:center;padding:16px}
.login-grid{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 8px;align-items:center}
.login-field{height:32px;width:100%}
.login-btn{min-width:96px}
@media (max-width:760px){.login-field{height:44px}.login-btn{min-height:44px}}

/* 빈 작업 영역 */
.blank{flex:1 1 auto;min-width:0;min-height:0}
/* 연표 */
.tl-board{flex:1 1 auto;min-width:0;min-height:0;position:relative}
.tl-scroll{position:absolute;inset:2px;overflow:auto;user-select:none;-webkit-user-select:none}
.tl-card{position:absolute;cursor:pointer;touch-action:none;outline-offset:4px;-webkit-touch-callout:none}
.tl-root{padding:6px;display:flex;flex-direction:column;gap:6px}
.tl-lcd{background:#1E2A22;padding:7px 10px;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-rtitle{flex:1 1 auto;display:grid;place-items:center;padding:2px 6px 4px;line-height:1.4;text-align:center}
.tl-child{background:#FFFBEA;border:1px solid #22301F;padding:9px 12px 11px;display:flex;flex-direction:column}
.tl-child{overflow:hidden}
.tl-cscroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;margin-right:-8px;padding-right:8px}
.w98 .tl-cscroll::-webkit-scrollbar{width:6px}
.w98 .tl-cscroll::-webkit-scrollbar-track{background:transparent;background-image:none}
.w98 .tl-cscroll::-webkit-scrollbar-thumb{background:#B9C9B6;border:0;box-shadow:none}
.w98 .tl-cscroll::-webkit-scrollbar-thumb:hover{background:#84A88B}
.w98 .tl-cscroll::-webkit-scrollbar-button{display:none;width:0;height:0}
.tl-cdate{flex:0 0 auto;color:#2F5236;line-height:1.3;text-align:center;padding-bottom:5px;margin-bottom:6px;border-bottom:1px dotted #84A88B}
.tl-txt{white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}
.tl-txt div,.tl-txt p{margin:0}
.tl-insp{flex:0 0 320px;max-width:100%;min-height:0;display:flex;flex-direction:column;padding:3px}
.tl-sheet{position:absolute;left:0;right:0;bottom:0;height:58%;z-index:15}
.lab{display:flex;flex-direction:column;gap:5px}
.sw{width:24px;height:24px;padding:0;border:1px solid #7D8579;cursor:pointer;flex:0 0 auto}
.sw.on{outline:2px solid #1E211D;outline-offset:1px}
.mob .sw{width:44px;height:44px}
.tl-area{position:absolute;inset:2px;cursor:crosshair;touch-action:none;z-index:45;background:rgba(35,41,31,0.12);overflow:hidden}
.tl-area-rect{position:absolute;border:1px dashed #DBA277;background:rgba(219,162,119,0.18)}
.tl-banner{position:absolute;left:8px;top:8px;z-index:46;display:flex;align-items:center;gap:8px;padding:3px 3px 3px 10px;white-space:nowrap}
.march{animation:march 1.6s steps(10) infinite}
@keyframes march{from{background-position:0 0}to{background-position:160px 0}}
@media (prefers-reduced-motion:reduce){.march{animation:none}}
/* 관계도 */
.m-board{flex:1 1 auto;min-width:0;min-height:0;position:relative;background:#F3F5F1;overflow:hidden}
.m-board.m-shot{position:fixed;inset:0;z-index:500;border:0;box-shadow:none}
.m-vp{position:absolute;inset:2px;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none}
.m-shot .m-vp{inset:0}
.m-layer{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
.m-emoji{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.m-nemoji{position:absolute;inset:0;display:grid;place-items:center;font-size:35px;line-height:1;pointer-events:none;text-shadow:0 0 3px #fff,0 0 7px #fff,0 0 13px rgba(255,255,255,0.92)}
.m-init{position:absolute;inset:0;display:grid;place-items:center;font-family:'RoundedFixedsys',monospace;font-size:31px;pointer-events:none;text-shadow:1px 1px 0 rgba(0,0,0,0.18)}
.m-cmt{font-size:13px;color:#3A4236;text-align:center;line-height:1.35;max-width:140px}
.m-modebar{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:10px;padding:4px 4px 4px 12px;cursor:default;z-index:6;max-width:calc(100% - 20px)}
.m-shotbtn{position:absolute;right:10px;top:10px;z-index:6}
.m-sws{display:flex;flex-wrap:wrap;gap:4px}
.seg{display:flex;gap:4px;flex-wrap:wrap}
.nicon{width:80px;height:80px;position:relative;cursor:pointer;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(2px 3px 0 rgba(34,48,31,0.28));transition:transform .12s}
.nwrap:hover .nicon{transform:translateY(-2px)}
.nlab{padding:1px 6px;text-align:center;line-height:1.35;max-width:130px;overflow-wrap:anywhere;background:rgba(243,245,241,0.85)}
.nlab.on{background:#2F5236;color:#FFFFFF !important;outline:1px dotted #DBA277;outline-offset:1px}
.pxl{position:absolute;isolation:isolate;background:var(--bd);clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,calc(100% - 2px) 2px,calc(100% - 2px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 2px) calc(100% - 4px),calc(100% - 2px) calc(100% - 2px),calc(100% - 4px) calc(100% - 2px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 2px),2px calc(100% - 2px),2px calc(100% - 4px),0 calc(100% - 4px),0 4px,2px 4px,2px 2px,4px 2px)}
.pxl::after{content:"";position:absolute;inset:2px;z-index:-1;background:var(--fl);clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,calc(100% - 2px) 2px,calc(100% - 2px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 2px) calc(100% - 4px),calc(100% - 2px) calc(100% - 2px),calc(100% - 4px) calc(100% - 2px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 2px),2px calc(100% - 2px),2px calc(100% - 4px),0 calc(100% - 4px),0 4px,2px 4px,2px 2px,4px 2px)}
.pxw{filter:drop-shadow(2px 2px 0 rgba(90,74,85,0.18))}
.elab{--bd:var(--c);--fl:#FFFFFF;transform:translate(-50%,-50%);font-size:14.5px;font-weight:700;color:var(--c);padding:3px 10px;white-space:nowrap;cursor:pointer}
.elab.on{--fl:color-mix(in srgb,var(--c) 14%,#fff)}
.glab{--bd:color-mix(in srgb,var(--c) 62%,#5A4A55);--fl:var(--c);transform:translate(-50%,-50%);font-family:'RoundedFixedsys',monospace;font-size:15px;font-weight:700;letter-spacing:.02em;color:#5A4A55;padding:4px 13px;cursor:grab;white-space:nowrap}
.glab.on{--fl:color-mix(in srgb,var(--c) 70%,#fff)}
.hdl{position:absolute;right:-9px;top:-9px;width:24px;height:24px;background:#BE7F4F;clip-path:polygon(6px 0,calc(100% - 6px) 0,calc(100% - 6px) 3px,calc(100% - 3px) 3px,calc(100% - 3px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 3px) calc(100% - 6px),calc(100% - 3px) calc(100% - 3px),calc(100% - 6px) calc(100% - 3px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 3px),3px calc(100% - 3px),3px calc(100% - 6px),0 calc(100% - 6px),0 6px,3px 6px,3px 3px,6px 3px);cursor:crosshair;opacity:0;touch-action:none;z-index:4}
.hdl::before{content:"";position:absolute;inset:3px;background:#DBA277}
.nwrap:hover .hdl,.hdl:active{opacity:1}
.mob .hdl{display:none}
.mob .m-sws .sw{width:44px;height:44px}
.cp-bar{position:relative;flex:1 1 auto;height:24px;cursor:pointer;touch-action:none;background:#FFFFFF}
.cp-bar:focus-visible{outline:1px dotted #23291F;outline-offset:2px}
.cp-thumb{position:absolute;top:-5px;width:10px;height:32px;pointer-events:none;background:#C4C9C0;border:1px solid;border-color:#FFFFFF #23291F #23291F #FFFFFF;box-shadow:inset -1px -1px 0 #7D8579}
/* 집필실 분할 창·참고 창에 띄운 다른 페이지 */
.pane-view{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-top:3px;position:relative;overflow:hidden}
.pane-tools{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:2px 0 4px;flex:0 0 auto}
.pane-tools .btn{min-height:28px;padding:0 8px}
.pane-tools.mob-tools .btn{min-height:44px}
.pane-fmt{display:flex;flex-wrap:wrap;gap:3px;align-items:center;width:100%}
.pane-fmt .pick{height:28px}
.pane-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;overflow:auto}
.pane-body>.m-board,.pane-body>.tl-board{flex:1 1 auto;min-height:120px}
.pane-undo{display:flex;gap:2px}
.pane-undo .btn{min-height:24px;height:24px;padding:0 4px}
/* 인물 창: 좁고 낮은 창에서도 목록이 보이게, 줄이지 않고 창 안 전체를 스크롤 */
.pb-people>*{flex-shrink:0 !important}
.pb-people [role=tree]{min-height:150px !important}
/* 상태 표시줄 백업 칸(누르면 폴더 지정) */
.backup-cell{padding:5px 10px;display:flex;align-items:center;background:transparent;cursor:pointer;font:inherit;color:inherit}
.backup-cell:focus-visible{outline:1px dotted #23291F;outline-offset:-4px}
/* 위쪽 막대 접기·펼치기 버튼(작품 칸 줄 오른쪽 끝) */
.w98 .head-toggle{flex:0 0 auto;width:28px;min-height:30px;height:30px;padding:0;display:grid;place-items:center}
.addrbar.shut{border-top:1px solid #7D8579;box-shadow:inset 0 1px 0 #FFFFFF,0 1px 0 #FFFFFF}
