/* 쓰기 화면만 공통 셸의 토큰·기하에 연결한다. */
.hn-page:has(#writing-app),.hn-page:has(#notebook-app) {
 --writing-canvas:var(--hn-canvas);--writing-paper:var(--hn-paper);--writing-warm:var(--hn-warm);
 --writing-ink:var(--hn-ink);--writing-ink-soft:var(--hn-ink-soft);--writing-muted:var(--hn-muted);
 --writing-line:var(--hn-line);--writing-line-soft:var(--hn-line-soft);--writing-selected:var(--hn-selected);
 --writing-accent:var(--hn-accent);--writing-accent-deep:var(--hn-accent-deep);--writing-accent-soft:var(--hn-accent-soft);
}
.hn-page .writing-shell {width:100%;max-width:none;margin:0;padding:0;font:var(--hn-body)/1.75 var(--hn-sans);min-width:0}
.hn-page .writing-shell :is(input,textarea,select){font:17px/1.6 var(--hn-sans);max-width:100%;min-width:0}
.hn-page .writing-shell button {white-space:normal}
.write-tabs {display:flex;border-bottom:1px solid var(--hn-line);margin:0 0 20px;gap:0}
.hn-page .write-tabs button {border:0;border-radius:0;background:none;flex:1;padding:8px 4px;border-bottom:3px solid transparent;font-size:17px}
.hn-page .write-tabs [aria-selected=true] {color:var(--hn-accent);border-bottom-color:var(--hn-accent);font-weight:600}
.hn-page .write-new {margin-bottom:16px;min-height:40px}
.writing-side .op-field-grid {grid-template-columns:minmax(0,1fr)}
.writing-side .tile-field {display:block;margin:0 0 12px;font-size:15px}
.writing-side :is(input,textarea) {display:block;width:100%;height:44px;padding:8px 10px;border:1px solid var(--hn-line);border-radius:4px;background:var(--hn-paper);margin-top:6px;color:var(--hn-ink)}
.writing-side .op-drawer {margin:0 0 20px;border:1px solid var(--hn-line);border-radius:4px;background:var(--hn-paper)}
.writing-side .op-drawer>summary {padding:10px 12px;font-size:17px}
.writing-side .op-drawer-content {padding:0 12px 14px}
.writing-side .writing-title-picker {margin-top:14px}
.writing-side .writing-title-card {padding:0;border:0}
.writing-side .writing-title-actions {display:flex;flex-wrap:wrap;gap:8px}
.writing-side p,.writing-side small {font-size:15px;overflow-wrap:anywhere}
.write-draft-list {border-block:1px solid var(--hn-line);padding:12px 0;margin:12px 0 16px}
.write-draft-list summary {cursor:pointer;font-size:17px;min-height:40px}
.write-draft-list summary span {display:block;font-size:15px;color:var(--hn-muted)}
.write-draft-entry {display:block;padding:12px 8px;border-top:1px solid var(--hn-line-soft);overflow-wrap:anywhere}
.write-draft-entry[aria-current] {background:var(--hn-selected)}
.write-draft-entry strong,.write-draft-entry span {display:block;font-size:15px}
.write-draft-entry span {color:var(--hn-muted)}
.write-side-note {padding-top:16px;border-top:1px solid var(--hn-line-soft);color:var(--hn-muted);margin-top:24px}
.write-guide-link {display:block;font-size:15px;margin-top:20px}
.writing-side #writing-account-tools:not(:empty) {margin:12px 0}
.writing-side .account-writing-tools {display:flex;flex-wrap:wrap;gap:8px}
.writing-side .account-writing-tools>* {max-width:100%;font-size:15px}
.hn-page #writing-app .hn-context {margin-top:0}
.hn-page #writing-app .hn-title-row h1 {margin:0;font:600 32px/60px var(--hn-serif)}
.hn-page #writing-app .hn-primary-action {min-height:44px;background:var(--hn-accent);color:var(--hn-paper);padding:8px 14px;white-space:nowrap}
.hn-page #writing-app button:disabled {opacity:.45;cursor:not-allowed}
#writing-app .op-toolbar {margin:0 0 20px;gap:12px;align-items:end}
#writing-app .op-toolbar .op-form-field {flex:0 0 160px}
#writing-app .op-toolbar .op-title-field {flex:1;max-width:none}
#writing-app .op-toolbar :is(input,select) {height:44px;padding:8px 10px;margin-top:6px;font-size:17px;line-height:26px;border-radius:4px}
#writing-app .op-toolbar .tile-field {font-size:15px;font-weight:400}
#writing-app .op-draft-list {display:none}
#writing-app .op-workspace {display:block;border:0;background:none}
#writing-app .op-manuscript {padding:0;margin:0 0 20px;background:none;position:static;max-height:none;border:0}
#writing-app .op-poem {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#writing-app .op-poem>h2 {display:none}
#writing-app .op-poem-line {padding:12px;margin:0;border:1px solid var(--hn-line);border-radius:4px;background:var(--hn-paper);min-width:0}
#writing-app .op-poem-line[aria-current=true] {border-color:var(--hn-accent);background:var(--hn-accent-soft)}
#writing-app .op-line-label {margin:0 0 8px;min-height:24px;padding:0;border:0;background:none;color:var(--hn-ink);font-size:15px}
#writing-app .op-mini-cells {gap:4px}
.hn-page #writing-app .op-mini-cell {padding:0;min-height:0;border:0;background:none;min-width:0}
#writing-app .op-mini-cell b {font:24px/38px var(--hn-hanzi);min-width:0}
#writing-app .op-mini-cell small {font-size:15px;line-height:22px}
#writing-app .op-poem-meaning {border:0;background:none;min-height:30px;padding:4px 0;margin:4px 0 0;text-align:left;font-size:15px;line-height:1.6;color:var(--hn-muted);white-space:normal}
#writing-app .op-poem-meaning-input {width:100%;margin:6px 0 0;padding:4px;min-height:40px;font-size:15px;border:1px solid var(--hn-accent)}
#writing-app .op-desk {border:0;background:none;padding:0;min-height:0}
#writing-app .op-desk>.op-drawer {border:1px solid var(--hn-line);border-radius:4px;background:var(--hn-paper);margin-bottom:12px}
#writing-app .op-desk>.op-drawer>summary {min-height:52px;padding:12px 16px;font-size:17px}
#writing-app .op-drawer-content {padding:0 16px 16px}
#writing-app .op-locked .op-step-head {font-size:17px}
#writing-app .op-desk :is(summary,small,p),#writing-app .writing-deep-review>p,#writing-app .writing-teacher-review :is(details,cite) {font-size:15px}
#writing-app .op-desk .tile-slots {top:72px}
#writing-app :is(.op-drawer,.op-meaning) {scroll-margin-top:80px}
#writing-app .op-completed {max-width:100%;padding:24px}
#writing-app .op-completed-line {font-size:clamp(22px,4vw,40px)}
#writing-app .verse-search {position:static;border:0;padding:0;width:100%;min-height:0;max-height:none;overflow:visible}
#writing-app .verse-search>h2 {display:none}
#writing-app .verse-search-input {display:flex;gap:8px;min-width:0}
#writing-app .verse-search-input input {width:100%;min-width:0;flex:1}
#writing-app .verse-results {max-width:100%;overflow-wrap:anywhere}
.hn-page .notebook-shell {padding:0;margin:0;max-width:none;font:17px/1.75 var(--hn-sans);--nb-line:var(--hn-line);--nb-ink:var(--hn-ink);--nb-muted:var(--hn-muted);--nb-accent:var(--hn-accent);--nb-surface:var(--hn-paper)}
.hn-page .notebook-shell>.nb-top,.hn-page .notebook-shell>.nb-tabs {display:none}
.hn-page .notebook-shell .nb-seal-layout {margin:20px 0;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hn-page .notebook-shell .nb-seal-preview {min-height:340px;padding:16px}
.hn-page .notebook-shell .nb-seal-layout h2 {display:none}
.hn-page .notebook-shell .nb-art-layout {grid-template-columns:minmax(0,1fr) 240px}
.hn-page .notebook-shell .nb-controls {top:80px}
.hn-page .notebook-shell .nb-options button {white-space:normal}
.hn-page .notebook-shell .nb-mini {overflow-x:auto}
.hn-page .notebook-shell .nb-row {flex-wrap:wrap}
.hn-page .notebook-shell :is(.nb-work,.nb-row,.nb-conflict,.nb-seal-preview,form) {min-width:0;overflow-wrap:anywhere}
.write-share {padding:0}
@media(max-width:900px) {
 #writing-app .op-manuscript {position:sticky;top:112px;z-index:18;background:var(--hn-canvas);padding:0;margin-bottom:16px;max-height:calc(100dvh - 128px);overflow:auto}
 #writing-app .op-mobile-poem {display:block;width:100%;min-height:44px;text-align:left;border:1px solid var(--hn-line);border-radius:4px;background:var(--hn-paper);padding:8px 12px;font-size:15px}
 #writing-app .op-poem:not(.is-expanded) {display:none}
 #writing-app .op-poem.is-expanded {display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding-top:8px;max-height:35dvh;overflow:auto}
 #writing-app .op-poem-line {padding:8px}
 #writing-app .op-mini-cell b {font-size:24px;line-height:34px}
 #writing-app .hn-title-row {margin-bottom:16px}
 .hn-page #writing-app .hn-title-row h1 {line-height:1.55}
 #writing-app .op-toolbar .op-form-field {flex:0 0 124px}
 #writing-app .op-toolbar .op-title-field {flex:1;min-width:0}
 #writing-app .op-toolbar {gap:8px}
 #writing-app .op-desk .tile-slots {top:164px}
 #writing-app :is(.op-drawer,.op-meaning) {scroll-margin-top:168px}
 #writing-app .op-drawer-content {padding:0 12px 12px}
 #writing-app .op-desk>.op-drawer>summary {padding-inline:12px}
 #writing-app .op-pair-board {overflow-x:auto}
 #writing-app .op-ending-focus {flex-wrap:wrap}
 .hn-page .notebook-shell .nb-art-layout {display:flex;flex-direction:column}
 .hn-page .notebook-shell .nb-controls {position:static;width:100%;order:-1}
 .hn-page .notebook-shell .nb-seal-layout {display:flex;flex-direction:column;gap:24px}
 .hn-page .notebook-shell .nb-seal-preview {min-height:260px}
}
/* 설명 용어 단추는 문장 안의 글자다. 셸의 일반 단추 치수를 상속하지 않는다. */
.hn-page .writing-term-link {display:inline;min-height:0;padding:0;border:0;border-radius:0;background:transparent;font:inherit;line-height:inherit;color:inherit;white-space:normal}
.hn-page .writing-term-link:hover {background:transparent}
.hn-page .hn-side-head .write-new {margin:0 0 0 auto;min-height:30px;padding:2px 8px;font-size:15px;line-height:24px}
@media(max-width:900px){
 #writing-app {display:flex;flex-direction:column}
 #writing-app .op-workspace {display:contents}
 #writing-app .op-manuscript {order:-1;flex:none}
}
.hn-page .notebook-shell .primary,.hn-page .notebook-shell .primary:hover {background:var(--hn-accent);border-color:var(--hn-accent);color:var(--hn-paper)}
[data-notebook-scope-slot] {margin:24px 0 0;padding-top:16px;border-top:1px solid var(--hn-line-soft);font-size:15px;color:var(--hn-muted);overflow-wrap:anywhere}
#writing-app .writing-deep-review>details>summary {font-size:15px}
.hn-page .hn-title-row>.nb-button.primary {display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--hn-accent);border-radius:4px;background:var(--hn-accent);color:var(--hn-paper);font:15px/26px var(--hn-sans);text-decoration:none}
.writing-side .write-direct {margin:0 0 16px}
/* 비활성 주 단추도 읽을 수 있게 글자 대비를 유지합니다. */
.hn-page #writing-app .hn-primary-action:disabled,.hn-page #writing-app .hn-primary-action:disabled:hover {opacity:1;background:var(--hn-warm);color:var(--hn-ink-soft);border-color:var(--hn-muted);cursor:not-allowed}
