:root{--page-bg:#f4f5f7;--panel-bg:#fff;--border-subtle:#e1e4e8;--border-strong:#c8ced6;--text-primary:#1f2933;--text-secondary:#5f6b7a;--text-muted:#8a96a3;--accent-primary:#1f5f9f;--accent-soft-bg:#eef5fb;--active-row-bg:#eaf3fb;--warning-bg:#fff7e6;--warning-text:#8a5a12}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--text-primary);margin:0;font-family:Arial,Noto Sans KR,sans-serif}button,input{font:inherit}.app-shell{min-height:100vh}.topbar{background:var(--panel-bg);border-bottom:1px solid var(--border-strong);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:64px;padding:10px 20px;display:grid}.eyebrow{color:var(--text-secondary);margin:0 0 2px;font-size:12px}h1{letter-spacing:0;margin:0;font-size:18px;font-weight:700}.login-link{border:1px solid var(--border-strong);background:var(--panel-bg);color:var(--accent-primary);cursor:pointer;padding:7px 12px;font-size:13px;text-decoration:none}.mode-strip{border:1px solid var(--border-subtle);display:flex}.mode{border-right:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;padding:6px 9px;font-size:12px}.mode:last-child{border-right:0}.mode.active{background:var(--accent-soft-bg);color:var(--accent-primary);font-weight:700}.three-pane{background:var(--border-subtle);grid-template-columns:292px minmax(0,1fr) 316px;gap:1px;min-height:calc(100vh - 64px);display:grid}.pane{background:var(--panel-bg);min-width:0;padding:16px}.pane-title{color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:700}.toc input{border:1px solid var(--border-strong);width:100%;height:34px;padding:0 10px;font-size:13px}.result-count{color:var(--text-muted);margin:8px 0 4px;font-size:12px}.toc ul{margin:0;padding:0;list-style:none}.toc li{border-bottom:1px solid var(--border-subtle)}.toc-row{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:9px 8px;display:grid}.toc-row span,.toc-row strong,.toc-row em{font-size:13px}.toc-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toc-row em{color:var(--text-muted);font-style:normal}.toc-row.active{background:var(--active-row-bg);color:var(--accent-primary)}.toc-row.active em{color:var(--accent-primary)}.document{width:100%;padding:18px 28px 28px}.toolbar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:6px;padding-bottom:12px;display:flex}.toolbar button{border:1px solid var(--border-subtle);min-width:42px;height:30px;color:var(--text-secondary);cursor:pointer;background:#fafbfc;font-size:12px}.article-kicker{color:var(--text-secondary);margin-top:22px;font-size:13px;font-weight:700}.document h2{margin:8px 0 10px;font-size:24px}.status-line{flex-wrap:wrap;gap:6px;margin-bottom:22px;display:flex}.status-line span,.commentary-preview span{border:1px solid var(--border-subtle);color:var(--text-secondary);background:#fafbfc;padding:4px 7px;font-size:12px}.legal-text{border-top:2px solid var(--border-strong);border-bottom:1px solid var(--border-subtle);max-width:760px;padding:18px 0}.legal-text p{margin:0 0 14px;font-size:16px;line-height:1.8}.commentary-preview{border:1px solid var(--border-subtle);background:var(--warning-bg);max-width:760px;margin-top:22px;padding:16px}.commentary-preview h3,.workspace-section h3{margin:0 0 8px;font-size:14px}.commentary-preview p,.workspace-section p,.source-note p{color:var(--text-secondary);margin:0 0 10px;font-size:13px;line-height:1.6}.source-note{border-top:1px solid var(--border-subtle);max-width:760px;margin-top:18px;padding-top:14px}.source-note a{color:var(--accent-primary);font-size:13px}.workspace-section{border-bottom:1px solid var(--border-subtle);padding:14px 0}.workspace-section ul{margin:0;padding-left:18px}.workspace-section li{margin:6px 0;font-size:13px}.workspace-section.muted{color:var(--text-muted)}.role-page{background:var(--panel-bg);border:1px solid var(--border-subtle);max-width:780px;margin:48px auto;padding:24px}.role-page p{color:var(--text-secondary);line-height:1.7}@media (max-width:1040px){.three-pane{grid-template-columns:260px minmax(0,1fr)}.workspace{display:none}}@media (max-width:760px){.topbar{grid-template-columns:1fr;align-items:flex-start}.mode-strip{width:100%;overflow-x:auto}.three-pane{grid-template-columns:1fr}.document{padding:18px 16px 28px}}.version-tabs{border-bottom:1px solid var(--border-strong);gap:0;max-width:760px;margin:0 0 12px;display:flex}.version-tab{border:1px solid var(--border-subtle);min-width:88px;color:var(--text-secondary);cursor:pointer;background:#fafbfc;border-bottom:0;padding:8px 12px;font-size:13px}.version-tab.active{background:var(--accent-soft-bg);color:var(--accent-primary);font-weight:700}.article-diff{border-top:2px solid var(--border-strong);border-bottom:1px solid var(--border-subtle);max-width:920px;padding:12px 0}.diff-summary{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.diff-summary span,.diff-summary strong{border:1px solid var(--border-subtle);color:var(--text-secondary);background:#fafbfc;padding:4px 7px;font-size:12px}.diff-summary strong{color:var(--accent-primary)}.diff-row{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.diff-row>div{min-width:0;padding:10px 12px}.diff-row>div:first-child{border-right:1px solid var(--border-subtle)}.diff-row p{margin:0;font-size:14px;line-height:1.7}.diff-row span{color:var(--text-muted);font-size:12px}.diff-row.changed>div:first-child,.diff-row.removed>div:first-child{background:#fff1f0}.diff-row.changed>div:last-child,.diff-row.added>div:last-child{background:#eef8f2}@media (max-width:760px){.version-tabs{overflow-x:auto}.diff-row{grid-template-columns:1fr}.diff-row>div:first-child{border-right:0;border-bottom:1px solid var(--border-subtle)}}.version-details{color:var(--text-secondary);grid-template-columns:80px minmax(0,1fr);gap:6px;font-size:12px;display:grid}.version-details dd{overflow-wrap:anywhere;margin:0}.version-id{overflow-wrap:anywhere;font-size:12px}.history-controls{max-width:760px;color:var(--text-secondary);margin-bottom:16px;font-size:13px}.history-controls label{margin-bottom:6px;display:block}.history-controls select{border:1px solid var(--border-strong);width:100%;min-height:34px;font:inherit;background:#fff}.history-controls p,.reader-notice{line-height:1.6}button:disabled{cursor:default;opacity:.55}[role=alert],.reader-notice{color:var(--warning-text);background:var(--warning-bg);padding:12px}.toc-toggle{display:none}@media (max-width:760px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}.topbar>div:first-child{grid-column:1/-1}.topbar>.mode{justify-self:start}.toc .pane-title{display:none}.toc-toggle{border:1px solid var(--border-subtle);width:100%;color:var(--accent-primary);text-align:left;background:#fafbfc;padding:9px;font-size:13px;display:block}.toc-body:not(.open){display:none}.toc-body.open{margin-top:10px}}.auth-navigation{z-index:30;color:#374151;background:#fff;border-bottom:1px solid #c8ced6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 20px;font-size:13px;display:flex;position:sticky;top:0}.auth-navigation nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.auth-navigation a{color:#1f5f9f;text-decoration:none}.auth-navigation button,.login-page button{color:#1f5f9f;cursor:pointer;background:#eef5fb;border:1px solid #b7c6d5;border-radius:3px;padding:6px 12px}.auth-navigation button:disabled,.login-page button:disabled{opacity:.6;cursor:wait}.auth-navigation p{color:#b42318;flex-basis:100%;margin:0}.auth-identity{overflow-wrap:anywhere;max-width:240px}.login-page{background:#fff;border:1px solid #e1e4e8;max-width:460px;margin:36px auto;padding:24px}.login-page h1{font-size:24px}.login-page p{font-size:14px;line-height:1.7}.login-page form{gap:10px;margin-top:24px;display:grid}.login-page label{font-size:14px}.login-page input{border:1px solid #c8ced6;border-radius:3px;width:100%;padding:10px}.login-page button{min-height:38px;margin-top:8px}.auth-error{color:#b42318}@media (max-width:600px){.auth-navigation{padding:8px 12px}.auth-navigation nav{gap:8px}.auth-identity{max-width:160px}.login-page{margin:20px 12px;padding:20px}}.editor-management{max-width:1100px;color:var(--text-primary);margin:24px auto;padding:20px}.editor-management h1{font-size:24px}.editor-management h2{font-size:19px}.editor-management section{background:#fff;border:1px solid #e1e4e8;margin:18px 0;padding:18px}.editor-management p,.editor-management li{font-size:14px;line-height:1.7}.editor-management button{color:#1f5f9f;cursor:pointer;background:#eef5fb;border:1px solid #b7c6d5;border-radius:3px;margin:4px;padding:7px 10px}.editor-management input:not([type=checkbox]){border:1px solid #c8ced6;max-width:100%;padding:8px;display:block}.editor-management label{font-size:14px}.editor-management summary{cursor:pointer;color:#1f5f9f}.editor-management code,.editor-management td{overflow-wrap:anywhere}.editor-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.editor-table-wrap{overflow-x:auto}.editor-management table{border-collapse:collapse;width:100%;min-width:580px;font-size:14px}.editor-management th,.editor-management td{text-align:left;vertical-align:top;border-bottom:1px solid #e1e4e8;max-width:300px;padding:10px}.editor-management th{background:#f4f5f7}.editor-management caption{text-align:left;margin:12px 0}.assignment-list{margin:4px 0;padding-left:18px}.preview-entry{border-top:1px solid #c8ced6;padding:12px 0}.preview-entry h4{margin:0}.preview-entry dl>div{grid-template-columns:85px minmax(0,1fr);margin:7px 0;font-size:14px;display:grid}.preview-entry dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.editor-confirm{margin:14px 0;display:block}.editor-confirm-panel{background:#f4f5f7;border:1px solid #c8ced6;padding:16px}.editor-confirm-panel label{margin:10px 0;display:block}@media (max-width:600px){.editor-management{margin:8px 0;padding:10px}.editor-management section{padding:12px}}.editor-state{margin:0}.editor-scroll-hint{display:none}@media (max-width:600px){.editor-scroll-hint{color:#5f6b7a;display:block}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.material-library{max-width:1440px;margin:0 auto;padding:22px;font-size:14px}.library-header{border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.library-header h1{font-size:23px}.material-library h2{margin:0 0 12px;font-size:17px}.material-library p{color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.65}.material-library a,.public-materials a{color:var(--accent-primary)}.material-library button,.public-materials button{font:inherit;color:var(--accent-primary);border:1px solid var(--border-strong);cursor:pointer;background:#fff;border-radius:3px;padding:7px 11px}.material-library button:disabled,.public-materials button:disabled{cursor:default;opacity:.5}.material-library button:focus-visible,.material-library input:focus-visible,.material-library select:focus-visible,.material-library textarea:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.material-library .primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.material-library .danger{color:#a32b20;background:#fff;border-color:#d4a6a2}.library-scope{align-items:end;gap:22px;padding:16px 0;display:flex}.library-scope label{min-width:240px}.library-scope p{margin:0 0 7px}.material-library label:not(.check-line){gap:6px;display:grid}.material-library input:not([type=checkbox]),.material-library select,.material-library textarea{width:100%;min-width:0;max-width:100%;font:inherit;border:1px solid var(--border-strong);color:var(--text-primary);background:#fff;border-radius:2px;padding:8px}.material-library textarea{resize:vertical;line-height:1.7}.material-library input[type=checkbox]{accent-color:var(--accent-primary);flex-shrink:0;width:16px;height:16px}.library-tabs{border:1px solid var(--border-subtle);background:#fff;flex-wrap:wrap;gap:6px;padding:12px;display:flex}.library-tabs button[aria-pressed=true]{background:var(--accent-soft-bg);border-color:var(--accent-primary);font-weight:600}.library-workspace{grid-template-columns:minmax(300px,.85fr) minmax(0,1.25fr);align-items:start;gap:16px;margin-top:16px;display:grid}.library-list,.library-block,.library-form,.library-empty{border:1px solid var(--border-subtle);background:#fff;min-width:0;padding:18px}.library-detail{min-width:0;scroll-margin-top:12px}.library-detail>section+section{margin-top:16px}.library-table-scroll{overflow-x:auto}.library-list table{border-collapse:collapse;text-align:left;width:100%}.library-list caption{text-align:left;color:var(--text-secondary);padding:0 0 12px;font-size:12px}.library-list th{background:var(--page-bg);color:var(--text-secondary);padding:9px;font-size:12px;font-weight:500}.library-list td{vertical-align:top;border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;padding:12px 9px}.library-list td:first-child{width:68%}.library-list td p{margin:6px 0 0;font-size:12px}.library-list tr.selected{background:var(--active-row-bg)}.material-library .library-title{text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:600;line-height:1.6}.library-badge{background:var(--accent-soft-bg);color:var(--accent-primary);padding:2px 6px;font-size:12px;line-height:1.6;display:inline-block}.library-pagination,.detail-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.library-pagination{justify-content:space-between;font-size:12px}.library-metadata{grid-template-columns:105px minmax(0,1fr);gap:10px 12px;margin:20px 0;line-height:1.65;display:grid}.library-metadata dt{color:var(--text-secondary);font-size:12px}.library-metadata dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.material-library details{margin-top:16px}.material-library summary{color:var(--accent-primary);cursor:pointer}.checksum,.reviewer-note{overflow-wrap:anywhere;font-size:12px}.material-controls{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:16px}.check-line{align-items:center;gap:8px;line-height:1.65;display:flex}.material-controls p,.field-help{font-size:12px}.library-form form>fieldset{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.form-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.article-choices{border:1px solid var(--border-subtle);min-width:0;margin:0;padding:10px 12px}.article-choices legend{font-size:13px}.article-choices p{margin:0 0 8px;font-size:12px}.article-choices>div{flex-wrap:wrap;gap:10px;max-height:160px;display:flex;overflow:auto}.article-choices label:not(.check-line){align-items:center;gap:4px;display:flex}.evidence-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fb;border-left:3px solid #abc4dc;margin:16px 0;padding:14px 16px;line-height:1.9}.library-error{background:#fff4f2;border:1px solid #ecc9c4;padding:12px}.library-notice{background:var(--accent-soft-bg);border-left:3px solid var(--accent-primary);padding:10px 14px}.save-recovery{background:var(--warning-bg);padding:12px}.save-recovery button{margin:4px 6px 4px 0}.public-materials{border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;padding:16px;font-size:12px}.public-materials h3{margin:0 0 10px;font-size:14px}.public-materials p{color:var(--text-secondary);line-height:1.7}.public-materials ul{margin:12px 0;padding:0;list-style:none}.public-materials li{border-top:1px solid var(--border-subtle);padding:10px 0;line-height:1.65}.public-materials li p{margin:4px 0 0}@media (max-width:850px){.material-library{padding:12px}.library-workspace{grid-template-columns:minmax(0,1fr)}.library-scope{display:block}.library-scope label{min-width:0}.library-scope p{margin-top:8px}.library-header{align-items:start}.library-header a{white-space:nowrap;font-size:12px}.library-list,.library-block,.library-form,.library-empty{padding:14px}}@media (max-width:480px){.form-pair{grid-template-columns:minmax(0,1fr)}.library-metadata{grid-template-columns:82px minmax(0,1fr);gap:10px}.library-header h1{font-size:21px}.library-tabs{gap:5px;padding:8px}.library-tabs button{padding:7px 9px;font-size:13px}}@media (max-width:1040px){.material-workspace{grid-column:1/-1;display:block}.material-workspace>.workspace-section{display:none}}
