:root{color:#191511;background:#f6f3ee;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:#f6f3ee}button,input,select{font:inherit}button{cursor:pointer}.loading,.login-screen{display:grid;min-height:100dvh;place-items:center;padding:24px}.login-panel{display:grid;width:min(420px,100%);gap:20px;border:1px solid #ded6cb;border-radius:8px;padding:28px;background:#fffaf3;box-shadow:0 18px 50px #281c101a}.eyebrow{margin:0 0 6px;color:#8c6b43;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:28px}h2{font-size:20px}label{display:grid;gap:8px;color:#5b4a3b;font-weight:650}input[type=password],input[type=text],input[type=url],select{width:100%;border:1px solid #d8ccbe;border-radius:6px;padding:12px 13px;color:#191511;background:#fff}.admin-shell{width:min(1180px,100%);margin:0 auto;padding:28px 18px 48px}.topbar,.page-card-head,.actions,figcaption{display:flex;align-items:center}.topbar{justify-content:space-between;gap:20px;margin-bottom:22px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.primary-button,.ghost-button,.danger-button,figcaption button{border:1px solid transparent;border-radius:6px;padding:10px 14px;text-decoration:none}.primary-button{color:#fff;background:#7b4f24}.ghost-button{color:#34281d;background:#fffaf3;border-color:#d9cfc1}.danger-button,figcaption button{color:#9d2e22;background:#fff5f3;border-color:#efc7c0}button:disabled{cursor:not-allowed;opacity:.55}.error,.notice{margin:0;color:#a32820}.notice{margin-bottom:16px;border:1px solid #efc7c0;border-radius:6px;padding:12px;background:#fff5f3}.page-list,.page-editor{display:grid;gap:16px}.page-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.page-card,.empty-state,.page-tile{border:1px solid #ded6cb;border-radius:8px;background:#fffaf3}.page-card{padding:18px}.page-tile{overflow:hidden;display:grid}.page-tile-preview{display:grid;min-height:180px;place-items:center;color:#8c6b43;background:#15110d;font-weight:800}.page-tile-preview img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover}.page-tile-body{display:grid;gap:12px;padding:14px}.page-stats,.tile-actions,.editor-tabs{display:flex;flex-wrap:wrap;gap:8px}.page-stats span{border:1px solid #e3d8c9;border-radius:999px;padding:5px 9px;color:#6a543d;background:#fbf4e9;font-size:13px}.tile-actions>*{flex:1;text-align:center}.page-card-head{justify-content:space-between;gap:12px;margin-bottom:14px}.editor-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid #ded6cb;border-radius:8px;padding:14px;background:#fffaf3}.page-index{margin:0 0 4px;color:#8c6b43;font-size:13px;font-weight:700}.upload-box{display:grid;place-items:center;min-height:82px;margin-bottom:16px;border:1px dashed #c9b79e;border-radius:8px;color:#6e4f2d;background:#fbf4e9}.upload-box input{position:absolute;width:1px;height:1px;opacity:0}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:18px}.image-card,.image-drag-preview{overflow:hidden;margin:0;border:1px solid #e3d8c9;border-radius:8px;background:#fff}.image-card{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease;will-change:transform}.image-card:active{cursor:grabbing}.image-card.is-dragging{z-index:2;border-color:#d6a044;opacity:.28;transform:scale(.96)}.image-drag-preview{position:fixed;top:0;left:0;z-index:100;pointer-events:none;box-shadow:0 18px 42px #462d123d;opacity:.96;will-change:transform}.image-card img,.image-drag-preview img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;background:#15110d}figcaption{justify-content:space-between;gap:8px;padding:9px;color:#5e4b39;font-size:13px}figcaption span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}figcaption button{padding:6px 8px;font-size:12px}.empty,.empty-state{color:#80694f}.empty-state{display:grid;place-items:center;gap:12px;min-height:180px;padding:18px}.anchor-editor{display:grid;gap:12px;border-top:1px solid #e3d8c9;padding-top:16px}.anchor-toolbar{display:grid;grid-template-columns:1fr minmax(150px,190px) minmax(220px,320px);gap:14px;align-items:end}.anchor-toolbar span{color:#80694f;font-size:13px}.anchor-canvas{position:relative;overflow:hidden;width:min(420px,100%);border:1px solid #d8ccbe;border-radius:8px;background:#090807;touch-action:none}.anchor-page-preview img,.viewer-page-content img{display:block;width:100%;height:auto}.anchor-draw-layer,.anchor-rect{position:absolute}.anchor-draw-layer{inset:0;z-index:2;cursor:crosshair}.anchor-rect{z-index:3;display:flex;align-items:center;gap:4px;min-width:16px;min-height:16px;border:2px solid #d6a044;border-radius:2px;padding:2px 5px;color:#fff;background:#d6a04438;font-size:12px;font-weight:800;pointer-events:auto}.anchor-rect strong{display:grid;flex:0 0 auto;width:18px;height:18px;place-items:center;border-radius:999px;background:#d6a044;color:#1c1309;font-size:11px}.anchor-rect span{overflow:hidden;max-width:120px;text-overflow:ellipsis;white-space:nowrap}.anchor-rect.is-selected{border-color:#fff;background:#d6a0446b;box-shadow:0 0 0 3px #d6a04452}.anchor-draft{z-index:4;border-style:dashed;pointer-events:none}.anchor-list{display:grid;gap:10px}.anchor-link-row{display:grid;grid-template-columns:42px minmax(150px,1fr) 130px minmax(180px,1fr) 72px;gap:8px;align-items:center;border:1px solid #eadfce;border-radius:8px;padding:10px;background:#fffaf3}.anchor-link-row.is-selected{border-color:#d6a044;box-shadow:0 0 0 3px #d6a04429}.anchor-number{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;color:#1c1309;background:#d6a044;font-size:13px;font-weight:800}.anchor-link-row span:not(.anchor-number){color:#80694f;font-size:13px;font-weight:700}.anchor-list button,.anchor-link-row button{border:1px solid #d8ccbe;border-radius:6px;padding:7px 9px;color:#5b3e20;background:#fbf4e9}.viewer-shell{position:fixed;inset:0;width:100vw;height:100dvh;overflow:hidden;background:#090807;color:#fff;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y}.viewer-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.viewer-track::-webkit-scrollbar{display:none}.viewer-page{flex:0 0 100%;min-width:100%;min-height:0;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;background:#090807;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.viewer-page-content{position:relative;width:100%}.viewer-hotspot{position:absolute;z-index:2;appearance:none;border:0;border-radius:6px;background:transparent;cursor:pointer;touch-action:manipulation}.viewer-hotspot:active{background:#d4b06a33}.home-button{position:fixed;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));z-index:4;display:grid;width:48px;height:48px;place-items:center;appearance:none;border:1px solid rgb(255 255 255 / 16%);border-radius:999px;color:#ffffffe0;background:#0807068a;box-shadow:0 8px 24px #00000038;cursor:pointer;touch-action:manipulation;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-button span{display:block;margin-top:-3px;font-size:40px;font-weight:300;line-height:1}.page-indicator{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:3;min-width:54px;border:1px solid rgb(255 255 255 / 14%);border-radius:999px;padding:7px 10px;color:#ffffffd1;background:#08070685;font-size:13px;line-height:1;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.viewer-page p{margin:0;padding:24px;color:#fff}@media(max-width:680px){.topbar,.page-card-head,.editor-head{align-items:stretch;flex-direction:column}.editor-head{display:flex}.actions{justify-content:stretch}.actions>*{flex:1;text-align:center}.anchor-toolbar,.anchor-link-row{grid-template-columns:1fr}}
