/* The prototype always uses a phone-width composition, including desktop previews. */
html{background:#e2e6dd}
body{max-width:430px;min-height:100dvh;margin:0 auto;background:var(--paper);box-shadow:0 0 40px #26382d12}
.sidebar{position:sticky;inset:auto;top:0;width:100%;height:62px;padding:0 18px;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;border-right:0;border-bottom:1px solid var(--line);background:var(--paper);z-index:30}
.brand{gap:10px}.brand span{font-size:29px}.brand small{display:block;font-size:12px}
.workspace-label,.sidebar-foot{display:none}
#menu-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-width:70px;min-height:44px;font-size:12px;border:1px solid var(--line);border-radius:6px;background:var(--white)}
#menu-toggle img{width:16px;height:16px}
.sidebar nav{position:absolute;top:61px;left:0;width:100%;padding:12px 15px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 14px 22px #26382d10}
.nav{width:100%;padding:12px;margin:0;font-size:12px;gap:10px;min-height:46px}.nav img{display:block;width:18px}.nav span{margin-left:auto;font-size:11px}
.shell{margin:0;width:100%;min-width:0}
.topbar{height:35px;padding:0 18px;justify-content:space-between;font-size:10px;background:#edf0e6}
.topbar>span:first-child{font-size:10px}.topbar i{margin:0 5px}
main{width:100%;padding:22px 16px calc(140px + env(safe-area-inset-bottom,0px));min-width:0}
.page-heading{align-items:center;gap:12px;margin-bottom:19px}.page-heading>div{min-width:0}
.eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:6px}
h1{font-size:24px;letter-spacing:0;line-height:1.45;margin-bottom:6px}.intro{font-size:12px;line-height:1.8}
.page-heading .button{padding:9px 13px;font-size:12px;min-height:44px}
.workflow{gap:8px;padding:13px 0;margin-bottom:16px;justify-content:space-between}
.workflow-note{display:none}.workflow i{flex:1;max-width:20px;min-width:7px}.step{font-size:11px;gap:6px}.step b{width:20px;height:20px;flex-shrink:0}
.panel-tabs{position:sticky;top:62px;scroll-margin-top:62px;z-index:15;display:flex;gap:4px;background:var(--paper);padding:8px 0 12px;margin:0 0 6px}
.panel-tabs button{flex:1;min-height:44px;border-radius:6px;background:#e9ede3;color:var(--muted);font-size:13px}
.panel-tabs button[aria-selected=true]{color:var(--ink);font-weight:600;background:var(--white);border:1px solid #c9d0bf}
.studio-layout{display:block;width:100%;min-width:0}
.editor{width:100%;padding:0 15px;border-radius:8px}
.content-types{justify-content:space-between;gap:12px;margin-bottom:16px}
.content-types button{min-height:49px;padding:12px 0;font-size:12px}
.mode-tabs{gap:9px;margin-bottom:16px}.mode-tabs button{min-height:75px;padding:11px 9px;gap:8px}.mode-tabs img{width:20px}.mode-tabs span{font-size:12px}.mode-tabs small{font-size:10px;line-height:1.6;margin-top:4px}
.drop-zone{min-height:202px;padding:20px 10px;gap:7px}.drop-zone strong{font-size:16px}.drop-zone span{font-size:12px}.drop-zone small{font-size:10px}.drop-zone img{width:30px;margin-bottom:8px}
.package-actions{gap:4px 10px;margin:7px 0 14px}.package-actions>a,.package-actions>button{min-height:42px;display:inline-flex;align-items:center;font-size:11px}
.text-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.structure{padding:11px 12px}.structure summary{min-height:30px;line-height:30px}.structure pre,.document pre{font-size:10px;padding:12px;overflow-wrap:anywhere}.structure p{font-size:11px;overflow-wrap:anywhere}
.import-result{font-size:12px;padding:12px;overflow-wrap:anywhere}.file-line{font-size:10px}
.form-row{grid-template-columns:minmax(0,1fr);gap:0}.asset-edit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
form label{font-size:13px;margin-bottom:17px}input:not([type=file]),textarea,select{font-size:16px;min-height:46px;padding:10px;margin-top:7px;width:100%}
input::placeholder,textarea::placeholder{font-size:12px}.file-button{min-height:44px;display:inline-flex;align-items:center;padding:10px 12px;font-size:12px;max-width:100%}
.image-list{gap:9px}.image-item{width:calc((100% - 9px)/2);max-width:153px}.image-item img{height:83px}.image-item button{font-size:11px;min-height:38px;padding:4px 8px}
.body-tools{gap:6px;align-items:flex-start;flex-direction:column}.file-link{min-height:44px}.body-tools .hint{line-height:1.8}
.chapter{padding:12px}.chapter .section-line{font-size:12px}.section-line{gap:8px}.section-line h3{font-size:13px}
.check-panel{padding:15px 0;margin-top:20px}.check-line{font-size:12px;line-height:1.8}.check-dot{margin-top:4px}
.editor-footer{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(430px,100%);z-index:25;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));margin:0;gap:7px;background:var(--white);border-top:1px solid var(--line);box-shadow:0 -5px 18px #26382d08}
.editor-footer>span{font-size:10px;line-height:1.6}.editor-footer>div{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}
.editor-footer .button{width:100%;min-height:46px;font-size:13px;padding:10px 8px}
.preview-side{width:100%;margin:0}.preview-heading{padding:8px 2px 13px;margin:0;font-size:12px}
.reader{width:100%;max-width:none;box-shadow:none;border-radius:9px}.reader-cover{height:245px}.reader article{padding:23px 20px}.reader h2{font-size:23px}.reader-body{font-size:14px;line-height:2}.reader-summary{font-size:13px}.preview-foot{font-size:11px;margin:15px 2px}.audit-note{padding:18px 2px}.audit-note p{font-size:11px}
.scheme-grid{grid-template-columns:minmax(0,1fr);gap:16px}.document{width:100%;min-width:0;padding:20px 17px}.document h2{font-size:18px}.document h3{font-size:14px}.document p,.document li{font-size:12px}.document ol,.document ul{padding-left:20px}.document table{font-size:11px;table-layout:fixed}.document th,.document td{padding:10px 7px;overflow-wrap:anywhere}.document th:first-child{width:65px}.document code{overflow-wrap:anywhere}
.draft-row{flex-direction:column;align-items:stretch;padding:17px;gap:13px}.draft-row h3{font-size:16px;overflow-wrap:anywhere}.draft-row .buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.draft-row .button{min-height:44px}.empty-state{padding:55px 18px;font-size:12px}
#toast{bottom:calc(114px + env(safe-area-inset-bottom,0px));width:max-content;max-width:min(398px,calc(100% - 32px));font-size:12px;line-height:1.8;padding:11px 16px}
@media(max-width:360px){.sidebar{padding:0 14px}.brand small{font-size:11px}.topbar>span:first-child{display:none}.topbar{justify-content:flex-end}main{padding-left:12px;padding-right:12px}.editor{padding:0 12px}.content-types{gap:8px}.mode-tabs button{gap:5px;padding:10px 7px}.mode-tabs small{font-size:9px}.mode-tabs img{width:17px}.step{font-size:10px;gap:4px}.workflow{gap:5px}}
.batch-panel{border-top:1px solid var(--line);margin:18px 0;padding-top:12px}
.batch-panel>.section-line{margin-bottom:0}.batch-panel>.hint{margin:5px 0 12px;line-height:1.9}
.batch-list{max-height:440px;overflow:auto;overscroll-behavior:contain;margin:10px 0 14px}
.batch-row{border:1px solid var(--line);border-radius:6px;background:#f7f9f2;padding:12px;margin-bottom:10px}
.batch-choice{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.8;cursor:pointer;overflow-wrap:anywhere}
.batch-choice input[type=checkbox]{width:19px;height:19px;min-height:19px;margin:3px 0 0;padding:0;flex:none;accent-color:var(--sage)}
.batch-choice span{min-width:0}.batch-file{font-size:10px;color:var(--muted);margin:4px 0 0;overflow-wrap:anywhere}
.batch-status{font-size:11px;line-height:1.8;margin:7px 0 0;color:var(--sage);overflow-wrap:anywhere}
.batch-row.error{background:#fbf1eb}.batch-row.error .batch-status{color:var(--danger)}
.batch-row-actions{display:flex;gap:18px;margin-top:4px}.batch-row.saved{background:#f1f3ec;opacity:.85}
#batch-save{width:100%;min-height:46px;font-size:12px}.format-download{display:flex;align-items:center;min-height:44px;font-size:12px;margin-top:10px}
.manage-card{padding:17px;background:var(--white);border:1px solid var(--line);border-radius:8px;margin-bottom:14px}.manage-card label{display:block;font-size:12px;margin:8px 0}.manage-card .hint{line-height:1.9}.manage-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}.manage-actions .button{min-height:44px;flex:1;font-size:12px}.category-row{margin:12px 0;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:8px}.category-row h3{font-size:16px;margin:0 0 7px}.category-row p{font-size:11px;line-height:1.9;margin:0;color:var(--muted)}.category-row .manage-actions{margin-top:10px}.danger-button{color:var(--danger)}.origin-label{font-size:10px;color:var(--sage);display:block;margin-bottom:5px}#manage-dialog{width:min(398px,calc(100% - 32px));max-height:85dvh;overflow:auto;margin:auto;padding:22px 18px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--white)}#manage-dialog::backdrop{background:#1b302880}#manage-dialog h2{font-size:19px;margin:0 0 13px}#manage-dialog label{display:block;font-size:12px;margin:14px 0}#manage-dialog .hint{font-size:12px;line-height:1.9}#manage-dialog .category-choice{display:flex;align-items:center;gap:10px;min-height:40px;margin:0}#manage-dialog input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;margin:0;accent-color:var(--sage)}#dialog-error{font-size:12px;line-height:1.8}#manage-dialog textarea[readonly]{background:#f5f6f0;font-size:12px}#category:invalid{color:var(--muted)}
