@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#f1f0e9;--ink:#292e23;--muted:#74796b;--line:#d5d8c9;--olive:#566442;--light:#e5e9dc}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:transparent;padding:10px 15px;border-radius:4px;color:var(--ink);min-height:43px}button:hover{background:var(--light)}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}.primary{background:var(--ink);color:#fff;border-color:var(--ink);padding:11px 17px;display:inline-block;border-radius:4px}.primary:hover{background:var(--olive)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.15;letter-spacing:-1px}h1{font-size:48px}h2{font-size:32px}h3{font-size:23px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;margin-bottom:12px;color:var(--olive)}.hint{font-size:12px;color:var(--muted);line-height:1.7}.gate{max-width:560px;margin:10vh auto;padding:35px}.gate svg{width:75px;height:65px;margin-bottom:30px}.gate h1{margin-bottom:25px}.gate p:not(.eyebrow){margin:25px 0}.quiet{display:block;margin-top:25px;text-decoration:underline;text-underline-offset:5px}.sidebar{width:258px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:35px 22px;display:flex;flex-direction:column;background:#e9ebdf}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:49px;height:43px}.brand span{font-size:16px;letter-spacing:-.5px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:3px}.sidebar nav{display:grid;gap:5px;margin-top:65px}.sidebar nav button,.sidebar nav>a{display:flex;gap:17px;padding:14px 12px;font-size:10px;text-align:left;border:0;border-radius:4px;color:var(--muted)}.sidebar nav span{font-size:13px;color:var(--ink)}.sidebar nav .active{background:var(--ink);color:#d2ed99}.sidebar nav .active span{color:white}.side-note{margin-top:auto;padding:30px 10px 0;font-size:11px}.side-note p{color:var(--muted);margin:12px 0 22px}.dot{display:inline-block;width:6px;height:6px;background:var(--olive);border-radius:100%;margin-right:7px}.workspace{margin-left:258px;min-width:0}.toolbar{position:sticky;top:0;z-index:10;background:#f1f0e9f5;backdrop-filter:blur(10px);padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.toolbar .eyebrow{margin-bottom:5px;font-size:8px}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}#save-state{font-size:12px}#notice:not(:empty){margin:22px 40px 0;padding:15px 20px;background:#e4ebd8;border:1px solid #b8c6a5;border-radius:4px;overflow-wrap:anywhere}main{padding:45px 40px;min-height:65vh}.page-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.page-top h1{font-size:42px}.page-top .hint{max-width:450px;margin-top:15px}.tabs{display:flex;gap:8px;margin:22px 0;flex-wrap:wrap}.tabs .active{background:var(--ink);color:white}.gallery-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:30px}.gallery-list{display:flex;flex-direction:column;gap:9px}.gallery-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:8px;border-radius:5px;background:#ffffff40;cursor:grab}.gallery-row.selected{border-color:var(--olive);background:var(--light)}.gallery-row img{width:48px;height:56px;object-fit:contain;background:#e0e2d7}.gallery-row .open-gallery{padding:0;border:0;text-align:left;flex:1;min-width:0}.gallery-row strong{display:block;font-weight:500;font-size:13px;overflow-wrap:anywhere}.gallery-row small{display:block;font-size:10px;color:var(--muted)}.order{display:flex;flex-direction:column;gap:1px}.order button{padding:0 6px;min-height:26px;font-size:12px}.editor{border:1px solid var(--line);background:#fbfaf6;padding:28px;border-radius:6px;min-width:0}.editor-top{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields .full{grid-column:1/-1}label{display:flex;flex-direction:column;font-size:11px;gap:7px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd0bf;background:#fff;color:var(--ink);border-radius:3px;min-width:0}textarea{resize:vertical;min-height:105px}.language-tabs button{min-height:35px;padding:5px 15px;font-size:11px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:32px 0 15px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-card{border:1px solid var(--line);background:#f0f0e9;border-radius:4px;overflow:hidden;cursor:grab}.photo-card>img{width:100%;height:160px;object-fit:contain;display:block}.photo-actions{display:flex;gap:3px;flex-wrap:wrap;padding:7px}.photo-actions button{font-size:10px;padding:4px 7px;min-height:30px;flex:1}.photo-actions .is-cover{background:var(--olive);color:white}.photo-caption{padding:8px 10px 0;font-size:10px;color:var(--muted)}.empty{padding:40px 25px;border:1px dashed #b4bca5;color:var(--muted);text-align:center;border-radius:5px}.section-note{margin:15px 0;font-size:12px;color:var(--muted)}.media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}.media-tile{padding:8px;min-width:0;background:#fff}.media-tile img{display:block;width:100%;height:145px;object-fit:contain;background:#f0f0e9}.media-tile span{display:block;font-size:10px;line-height:1.5;margin-top:9px;overflow-wrap:anywhere}.media-tile.selected{outline:2px solid var(--olive);background:var(--light)}.upload{display:inline-flex;flex-direction:row;align-items:center;gap:12px;background:var(--light);padding:12px 16px;border:1px dashed var(--olive);border-radius:4px;font-size:13px;cursor:pointer;margin:20px 0 10px}.upload input{max-width:270px;font-size:12px;padding:0;background:transparent;border:0}.search-label{max-width:420px;margin-top:15px}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.slot{border:1px solid var(--line);padding:16px;min-width:0;background:#fbfaf6}.slot img{height:170px;width:100%;object-fit:contain;background:#e6e8de}.slot h3{font-size:16px;letter-spacing:-.3px;margin:14px 0 8px;overflow-wrap:anywhere}.slot button{margin-top:10px;width:100%}.chapter{margin:35px 0 45px}.chapter h2{font-size:26px;margin-bottom:20px}.text-tools{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.text-tools label{flex:1;min-width:150px}.text-row{padding:22px;border:1px solid var(--line);background:#fbfaf6;margin:12px 0;border-radius:4px}.text-row .source{font-size:12px;color:var(--muted);margin-bottom:12px;white-space:pre-wrap;overflow-wrap:anywhere}.text-row textarea{min-height:85px}.pagination{display:flex;gap:15px;align-items:center;margin-top:25px}.trash-row{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0}.trash-row strong{overflow-wrap:anywhere}.text-button{border:0;padding:4px;text-decoration:underline;font-size:11px}footer{padding:25px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:15px}dialog{width:min(1000px,94vw);max-height:90svh;border:1px solid var(--line);border-radius:8px;padding:30px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#151b12aa;backdrop-filter:blur(3px)}.dialog-top,.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top{margin-bottom:20px}.dialog-bottom{position:sticky;bottom:-30px;padding:20px 0;background:var(--paper);border-top:1px solid var(--line);margin-top:20px}.dialog-top h2{font-size:30px}.preview-links{display:grid;gap:12px;margin:25px 0}.preview-links a{padding:15px;border:1px solid var(--line);border-radius:4px}.preview-links a:hover{background:var(--light)}#confirm-dialog{max-width:520px}#confirm-dialog p{margin-top:20px}#upload-status:not(:empty){padding:10px 0;color:var(--olive)}
@media(min-width:1500px){main{max-width:1500px;margin:auto}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){.sidebar{width:215px;padding:25px 15px}.workspace{margin-left:215px}.toolbar,main{padding:25px}.gallery-layout{grid-template-columns:190px minmax(0,1fr);gap:20px}.gallery-layout{grid-template-columns:190px minmax(0,1fr)}.editor{padding:20px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.toolbar{align-items:start;flex-direction:column}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{margin-top:20px;display:flex;overflow-x:auto;gap:6px}.sidebar nav button,.sidebar nav>a{flex-shrink:0;padding:9px;font-size:0;gap:0}.sidebar nav span{font-size:12px}.side-note{display:none}.workspace{margin:0}.toolbar{position:sticky;padding:15px 18px;gap:10px}.toolbar .eyebrow{display:none}.toolbar-actions{width:100%;gap:6px}.toolbar-actions button{flex:1;padding:9px;font-size:11px}main{padding:28px 18px}.page-top h1{font-size:34px}.page-top{align-items:start;flex-direction:column;gap:15px}.gallery-layout{grid-template-columns:1fr}.gallery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;gap:6px}.gallery-row img{width:35px;height:45px}.gallery-row strong{font-size:11px}.editor{padding:18px}.editor-top h2{font-size:26px}.fields{grid-template-columns:1fr}.photo-card>img{height:150px}.slot-grid{grid-template-columns:1fr 1fr;gap:12px}.slot{padding:12px}.slot img{height:130px}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.media-tile img{height:95px}.media-tile{padding:5px}dialog{padding:18px}.dialog-top h2{font-size:25px}.upload{flex-direction:column;align-items:start;max-width:100%}.upload input{max-width:100%}.dialog-bottom{bottom:-18px}.dialog-bottom button{font-size:12px}.text-row{padding:15px}.text-row textarea{font-size:16px}input,select,textarea{font-size:16px}footer{padding:25px 18px;flex-direction:column}#notice:not(:empty){margin:18px 18px 0}.slot h3{font-size:14px}.slot button{font-size:11px}.chapter h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:400px){.gallery-list{grid-template-columns:1fr}.gallery-row img{width:48px;height:52px}.gallery-row strong{font-size:13px}.gallery-row small{font-size:11px}.order{flex-direction:row}.order button{min-width:32px;min-height:36px}}
