.layout-toolbar{max-width:740px;margin:0 auto 14px;display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.layout-toolbar button{font-size:12px;white-space:nowrap}.layout-panel{max-width:740px;margin:0 auto 18px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:5px}.layout-select label{display:block;font-size:12px;margin-bottom:5px}.layout-select select{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);padding:8px;border-radius:4px;color:var(--ink);cursor:pointer}.layout-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:14px 0}.layout-numbers label{font-size:11px}.layout-numbers label span{color:var(--muted);font-size:10px}.layout-numbers input{display:block;width:100%;min-width:0;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);margin-top:4px}.layout-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:11px}.layout-panel p{font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 0}.preview-paper{position:relative}.layout-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.layout-box{position:absolute;pointer-events:none}.layout-move{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:4px;border:1px dashed transparent;background:transparent;border-radius:0;pointer-events:auto;cursor:move;touch-action:none;padding:0;transform:none!important}.layout-move:hover{border-color:var(--accent);background:#ce28290a}.is-selected .layout-move{border:2px solid var(--accent);background:#ce282906}.layout-resize{position:absolute;right:-3px;bottom:-10px;border:1px solid white;border-radius:3px;background:var(--accent);color:#fff;pointer-events:auto;cursor:nwse-resize;touch-action:none;font-size:10px;line-height:1.5;padding:3px 6px;transform:none!important;z-index:2}.layout-box.is-selected{z-index:auto}.layout-move:focus-visible{outline:3px solid #245fa8;outline-offset:2px}.layout-actions button:disabled{cursor:default;opacity:.4}.layout-editing{-webkit-user-select:none;user-select:none}.layout-panel select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:760px){.layout-toolbar{align-items:flex-start}.layout-toolbar span{font-size:10px}.layout-panel{padding:12px}.layout-numbers{gap:8px}.layout-numbers input,.layout-select select{font-size:16px}.layout-actions{font-size:10px}}.layout-resize{width:12px;height:12px;min-height:0;padding:0;border:2px solid var(--accent);background:var(--surface);border-radius:2px;right:-6px;bottom:-6px}.layout-resize:hover{background:var(--accent)}.layout-resize.resize-width{right:-6px;top:calc(50% - 6px);bottom:auto;cursor:ew-resize}.layout-resize.resize-height{left:calc(50% - 6px);bottom:-6px;right:auto;cursor:ns-resize}.saved-layouts{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.saved-layouts h3,.layout-text-controls h3{font-size:13px;margin:0 0 12px}.template-save-row,.template-use-row{display:flex;align-items:flex-end;gap:10px}.template-use-row{margin-top:12px}.template-save-row>.layout-text-field,.template-use-row>.layout-text-field{flex:1;min-width:0;margin:0}.template-save-row button,.template-use-row button{font-size:11px;white-space:nowrap;min-height:39px}.layout-text-field{display:block;font-size:11px;margin:12px 0}.layout-text-field input,.layout-text-field textarea,.layout-text-field select{display:block;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;line-height:1.7;margin-top:5px}.layout-text-field textarea{resize:none;field-sizing:content;min-height:90px}.layout-text-controls{border-top:1px solid var(--line);margin:15px 0;padding-top:15px}.text-alignment{display:flex;gap:6px;margin:12px 0}.text-alignment button{font-size:11px;padding:7px 12px}.text-alignment button.selected{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.text-alignment button.selected:hover{background:var(--accent)}.layout-lock-row,.snap-toggle{display:block;font-size:11px;margin-top:14px}.layout-lock-row input,.snap-toggle input{accent-color:var(--accent);vertical-align:middle;margin:0 7px 0 0;cursor:pointer}.layout-numbers input:disabled{background:#eae7e0;color:var(--muted);cursor:not-allowed}.is-locked .layout-move{cursor:default;border-color:#756d5e}.snap-guide{position:absolute;pointer-events:none;z-index:8}.snap-guide.vertical{top:0;bottom:0;border-left:1px dashed #007aa5}.snap-guide.horizontal{left:0;right:0;border-top:1px dashed #007aa5}.field-error{color:#98241e!important}.paste-image{display:block;font-size:10px!important;width:100%;padding:6px 4px!important;margin:7px 0 3px}.paste-help,.paste-status{display:block;font-size:9px;line-height:1.7;color:var(--muted)}.paste-status:empty{display:none}.paste-status,.upload .remove{margin-top:4px}.layout-toolbar{flex-wrap:wrap}@media(max-width:1050px){.template-save-row,.template-use-row{flex-wrap:wrap}.template-save-row>.layout-text-field,.template-use-row>.layout-text-field{flex-basis:100%}.template-save-row button,.template-use-row button{width:100%}}@media(max-width:760px){.layout-text-field input,.layout-text-field textarea,.layout-text-field select{font-size:16px}.text-alignment button{flex:1}.paste-image{min-height:36px}.paste-help,.paste-status{font-size:10px}}.artwork-controls{border:0;border-top:1px solid var(--line,#dedbd4);margin:12px 0;padding:14px 0;min-width:0}.artwork-controls h3,.artwork-controls legend{font-size:14px;font-weight:700;margin:0 0 10px}.paper-color{display:flex;align-items:center;gap:12px;font-size:13px;margin-top:12px}.paper-color input{width:48px;height:36px;padding:2px}.crop-slider{display:block;font-size:13px;margin-top:12px}.crop-slider .crop-value{float:right}.crop-slider input{display:block;width:100%;margin-top:8px}.artwork-controls p{margin-bottom:0}.workspace.is-arranging{grid-template-columns:minmax(0,1fr);max-width:1680px}.is-arranging>.editor{display:none}.is-arranging .preview-area{padding:20px 24px}.is-arranging .preview-toolbar,.is-arranging .layout-toolbar,.is-arranging .preview-footer{max-width:none}.layout-workspace.has-tools{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.layout-workspace.is-editing>.preview-viewport{position:sticky;top:16px;max-height:calc(100dvh - 40px);overflow:auto;padding:12px 20px 24px;min-width:0}.layout-workspace .layout-panel{grid-column:2;grid-row:1;margin:0;max-width:none;width:100%;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;padding:16px}.layout-workspace.is-editing .preview-paper{margin:0 auto;width:100%}.layout-workspace .layout-numbers{grid-template-columns:1fr 1fr;gap:10px}.inspector-title{margin:0 0 16px;font-size:15px}.inspector-section{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.inspector-section summary{cursor:pointer;font-size:13px;font-weight:700;padding:4px 0}.inspector-section summary:hover{color:var(--accent)}.inspector-section summary:focus-visible{outline:3px solid var(--accent)}.layout-panel .template-save-row,.layout-panel .template-use-row{flex-wrap:wrap}.layout-panel .template-save-row button,.layout-panel .template-use-row button{width:100%}.layout-panel .saved-layouts{border:0;margin:0;padding:0}.layout-panel .artwork-controls h3{display:none}.layout-panel .artwork-controls{border:0;padding:0}.element-controls{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.element-controls h3,.shape-catalog h3{font-size:13px;margin:0 0 10px}.element-color>label{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px}.element-color input[type=color]{width:46px;height:34px;padding:2px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.element-color>.layout-text-field{display:block}.shape-catalog{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.shape-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shape-options button{display:flex;flex-direction:column;align-items:center;font-size:11px;padding:8px}.shape-options svg{width:56px;height:32px;fill:none;stroke:currentColor;stroke-width:2}.layout-box.is-rule{min-height:8px}.layout-box.is-hidden .layout-move{border:1px dotted #756d5e}.resize-width{right:-12px;bottom:auto;top:45%;cursor:ew-resize}.resize-height{right:auto;left:40%;bottom:-12px;cursor:ns-resize}.reset-design{margin-top:16px;font-size:11px}.layout-panel p{font-size:11px}.layout-panel .layout-actions{position:relative;border-top:1px solid var(--line);padding-top:12px}@media(max-width:760px){.is-arranging .preview-area{padding:16px 12px}.layout-workspace.has-tools{grid-template-columns:minmax(0,1fr);gap:12px}.layout-workspace.is-editing>.preview-viewport{top:0;position:sticky;z-index:4;background:var(--stage);height:40dvh;max-height:40dvh;padding:8px 16px}.layout-workspace .layout-panel{grid-column:1;grid-row:2;position:relative;top:auto;max-height:50dvh;padding:14px}.layout-workspace .layout-numbers input{font-size:16px}.layout-toolbar{gap:8px}.layout-toolbar>span{flex-basis:100%}}.layout-workspace{scroll-margin-top:16px}.inspector-section .saved-layouts .layout-text-field{flex-basis:100%}.layout-workspace .preview-viewport{scrollbar-gutter:stable}body:has(.workspace.is-arranging){overflow:hidden}body:has(.workspace.is-arranging) .app-header,body:has(.workspace.is-arranging) .app-footer,body:has(.workspace.is-arranging) .library{display:none}.workspace.is-arranging{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;max-width:none;background:var(--stage)}.is-arranging .preview-area{height:100dvh;min-height:0;display:flex;flex-direction:column;padding:16px 24px}.is-arranging .preview-toolbar,.is-arranging .layout-toolbar{width:100%;flex-shrink:0;margin-bottom:12px}.layout-workspace.is-editing{flex:1;min-height:0;overflow:hidden;align-items:stretch}.layout-workspace.is-editing>.preview-viewport{position:relative;top:auto;height:100%;max-height:none;min-height:0;overflow:auto}.layout-workspace.is-editing .layout-panel{position:relative;top:auto;height:100%;max-height:100%;min-height:0}.is-arranging .preview-footer{width:100%;flex-shrink:0;margin-top:10px}.layout-status{margin-left:auto;font-size:11px;color:var(--muted)}body:has(.workspace.is-arranging) .error-banner{position:fixed;top:0;left:0;right:0;z-index:50}@media(max-width:760px){.is-arranging .preview-area{padding:12px}.layout-workspace.is-editing.has-tools{grid-template-rows:38% minmax(0,1fr)}.layout-workspace.is-editing .preview-paper{width:100%}.layout-workspace.is-editing>.preview-viewport{position:relative;top:auto;z-index:auto;height:100%;max-height:none;padding:8px 16px}.layout-workspace.is-editing .layout-panel{height:100%;max-height:100%}.layout-status{flex-basis:100%;margin:0}.is-arranging .preview-toolbar{margin-bottom:8px}.layout-toolbar button{font-size:11px!important;padding:7px 10px!important}}.selection-controls{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.selection-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px}.selection-heading button{font-size:11px;padding:5px}.selection-actions{display:flex;gap:8px;margin-top:8px}.selection-actions button{flex:1;font-size:12px;padding:8px}.multi-picker summary{font-size:12px;cursor:pointer;margin-top:12px}.multi-picker summary:hover{color:var(--accent)}.multi-select-list{max-height:200px;overflow:auto;margin-top:8px;border:1px solid var(--line);padding:6px;background:var(--surface)}.multi-select-list label{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px;cursor:pointer}.multi-select-list label:hover{background:var(--stage)}.multi-select-list input{accent-color:var(--accent);cursor:pointer}.group-geometry{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.group-geometry h3{font-size:13px;margin:0}.selection-frame{position:absolute;border:2px solid var(--accent);pointer-events:none;z-index:5}.selection-move{position:absolute;top:-5px;left:10px;right:10px;height:8px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;pointer-events:auto;cursor:move;touch-action:none}.selection-move:hover{background:#ce282933}.has-multiple .is-selected .layout-move{border:1px dashed var(--accent);background:#ce282904}.preview-zoom{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.preview-zoom button{padding:7px 10px!important}.preview-zoom select{font:inherit;font-size:12px;min-height:34px;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);cursor:pointer}.preview-zoom select:focus-visible,.multi-picker summary:focus-visible,.preview-viewport:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.size-match-status{color:#007aa5!important;font-weight:700}.preview-viewport{overscroll-behavior:contain}.layout-workspace.is-editing .preview-paper{flex-shrink:0}@media(max-width:760px){.preview-zoom select{font-size:16px}.preview-zoom{gap:3px}.preview-zoom button{padding:7px!important}.selection-actions button{min-height:36px}}.layout-editing .layout-overlay{pointer-events:auto;touch-action:none;cursor:crosshair}.selection-marquee{position:absolute;border:1px solid #007aa5;background:#007aa522;pointer-events:none;z-index:10}.layout-overlay .is-locked .layout-move,.layout-overlay.has-multiple .is-locked.is-selected .layout-move{border-color:transparent;border-style:solid;background:transparent;cursor:default}.selection-frame.has-locked{border-color:transparent}.lock-indicator{position:absolute;right:3px;top:3px;width:22px;height:22px;padding:3px;background:var(--paper);border-radius:3px;fill:none;stroke:var(--ink);stroke-width:2;opacity:0;pointer-events:none}.is-locked .layout-move:hover .lock-indicator,.is-locked .layout-move:focus-visible .lock-indicator{opacity:1}.selection-frame.has-locked .selection-move:hover{background:transparent}[hidden]{display:none!important}.app-nav{display:flex;align-items:center;gap:6px}.app-nav a{font-size:13px;text-decoration:none;padding:9px 12px;border-bottom:2px solid transparent;white-space:nowrap}.app-nav a[aria-current=page]{border-color:var(--accent);font-weight:700}.app-nav a:hover{color:var(--accent)}.review-library{max-width:1440px;margin:auto;padding:46px 38px 36px}.library-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.library-page-heading h1{font-size:34px;margin:6px 0}.library-page-heading p{margin:5px 0;color:var(--muted);font-size:14px}.library-page-heading p span{white-space:nowrap}.library-controls{display:flex;gap:20px;align-items:flex-end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:28px}.library-controls label{display:block;font-size:12px}.library-search{flex:1;max-width:440px}.library-controls input,.library-controls select{display:block;width:100%;min-height:42px;margin-top:6px;padding:9px 12px;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.library-density{margin-left:auto;min-width:158px}.library-result-count{font-size:12px;color:var(--muted);margin:20px 0}.library-grid{display:grid;grid-template-columns:repeat(var(--library-columns),minmax(0,1fr));column-gap:26px;row-gap:34px}.library-card{min-width:0}.library-card-open{display:block;text-decoration:none}.library-poster{aspect-ratio:2/3;background:#eae7df;display:flex;align-items:center;justify-content:center;overflow:hidden}.library-poster img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .15s}.library-poster>span{font-size:13px;color:var(--muted)}.library-card-open:hover img{filter:brightness(1.05)}.library-card-title{display:flex;align-items:flex-start;gap:12px;margin-top:15px}.library-card-title h2{font-size:17px;line-height:1.5;overflow-wrap:anywhere;margin:0;flex:1}.library-card-title strong{font-size:26px;line-height:1.1;color:var(--accent);white-space:nowrap}.library-card-title small{font-size:11px;color:var(--muted);font-weight:400}.library-subtitle{font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0 0;overflow-wrap:anywhere}.library-card-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;border-bottom:1px solid var(--line);padding:9px 0}.library-card-footer time{font-size:11px;color:var(--muted)}.library-card-footer>div{display:flex}.library-card-footer button{font-size:12px;padding:8px}.library-empty{padding:60px 20px;text-align:center;border:1px solid var(--line);background:var(--paper)}.library-empty p{color:var(--muted);font-size:14px}.library-local-note{margin:40px 0 0;color:var(--muted);font-size:12px;line-height:1.8}.review-reader{max-width:1080px;margin:auto;padding:28px 38px 50px}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}.reader-toolbar a{font-size:13px;text-decoration:none}.review-reader>h1{margin:24px 0 6px;overflow-wrap:anywhere}.reader-meta{font-size:13px;color:var(--muted);margin:0 0 24px}.reader-artwork{max-width:820px;margin:auto;background:var(--paper)}.reader-artwork canvas{display:block;width:100%;height:auto}.header-actions>.app-nav+.primary{margin-left:6px}@media(max-width:1100px){.brand span{display:none}.app-header{padding-inline:24px}.local-label{display:none}}@media(max-width:760px){.review-library{padding:28px 20px}.library-page-heading h1{font-size:28px}.library-page-heading p{font-size:12px}.library-page-heading .primary{font-size:12px;padding:10px;white-space:nowrap}.library-grid,.library-grid.columns-2,.library-grid.columns-4,.library-grid.columns-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.library-controls{gap:12px;padding:16px 0}.library-search{min-width:0}.library-density{min-width:112px}.library-controls input,.library-controls select{font-size:16px}.library-card-title{gap:6px}.library-card-title h2{font-size:14px}.library-card-title strong{font-size:22px}.library-card-footer{flex-wrap:wrap}.library-card-footer time{font-size:10px}.library-card-footer button{font-size:11px}.review-reader{padding:24px 16px}.app-nav a{font-size:12px;padding:8px}.app-header{padding:16px;gap:10px}.header-actions{flex-wrap:wrap}.library-poster>span{font-size:11px}}.library-responsive-note{display:none}@media(max-width:1100px){.library-responsive-note{display:block;font-size:11px;margin-top:4px}}@media(min-width:761px){.library-grid.is-compact{column-gap:16px}.is-compact .library-card-title{flex-wrap:wrap;gap:6px}.is-compact .library-card-title h2{flex-basis:100%;font-size:14px}.is-compact .library-card-title strong{font-size:22px}.is-compact .library-card-footer{flex-wrap:wrap}.is-compact .library-card-footer button{padding:8px 6px}}.is-compact .library-card-footer>div{flex-wrap:wrap}@media(max-width:760px){.library-heading-actions{gap:6px}.library-heading-actions button{font-size:12px;padding:9px}}.library-sort{min-width:180px;margin-left:auto}.library-density{margin-left:0}.library-controls{flex-wrap:wrap}.library-rating{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:10px 0 0}@media(max-width:760px){.library-controls .library-search{flex-basis:100%;max-width:none}.library-sort{flex:1;min-width:150px;margin:0}.library-density{flex:1}}.library-room-tabs{display:flex;gap:8px;overflow-x:auto;padding:16px 0 4px;border-bottom:1px solid var(--line)}.library-room-tabs button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 13px;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.library-room-tabs button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.library-room-tabs button span{margin-left:5px;opacity:.7;font-size:11px}.library-card-room{display:flex;align-items:center;gap:8px;margin:9px 0;color:var(--muted);font-size:11px}.library-card-room select{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px}.room-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#17171599;display:grid;place-items:center;padding:20px}.room-dialog{position:relative;width:min(100%,540px);max-height:min(85vh,760px);overflow:auto;background:var(--paper);padding:30px;border:1px solid var(--line);box-shadow:0 18px 70px #0003}.room-dialog h2{margin:0 0 8px;font-size:25px}.room-dialog>p{font-size:13px;line-height:1.7;color:var(--muted)}.room-dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:25px;color:var(--muted);cursor:pointer}.room-dialog form label{display:block;font-size:12px}.room-dialog form input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit}.room-form-actions{display:flex;justify-content:flex-end;gap:8px;margin:12px 0 20px}.room-error{color:var(--accent)!important;margin:8px 0}.room-list{border-top:1px solid var(--line)}.room-list>div{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.room-list>div>span{flex:1;min-width:0;overflow-wrap:anywhere}.room-list small{display:block;color:var(--muted);font-size:11px}.room-list button{font-size:12px;padding:7px}.room-list>p{color:var(--muted);font-size:13px}.room-done{display:block;margin:18px 0 0 auto}@media(max-width:760px){.room-dialog{padding:26px 18px}.room-list>div{flex-wrap:wrap}.room-list>div>span{flex-basis:100%}.library-room-tabs{margin-inline:-4px}}.library-heading-actions{display:flex;align-items:center;gap:10px}.read-only-label{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:9px 12px}.share-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#17171599;display:grid;place-items:center;padding:20px}.share-dialog{position:relative;width:min(100%,560px);max-height:90vh;overflow:auto;background:var(--paper);padding:30px;border:1px solid var(--line);box-shadow:0 18px 70px #0003}.share-dialog h2{margin:8px 0 10px;font-size:26px}.share-dialog>p{font-size:14px;line-height:1.8;color:var(--muted)}.share-dialog .share-count{color:var(--ink);font-weight:700;margin:18px 0}.share-dialog-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:26px;color:var(--muted);cursor:pointer}.share-dialog-close:disabled{cursor:wait}.share-link-field{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;font-size:12px}.share-link-field input{grid-column:1/-1;width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit}.share-warning{padding:10px 12px;border-left:3px solid var(--accent);background:#df26270c;color:var(--ink)!important}.share-error{color:var(--accent)!important}.share-success{color:#357044!important}.share-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:22px 0 14px}.share-dialog>small{display:block;color:var(--muted);line-height:1.7}.review-library:has(.read-only-label) .library-controls{margin-top:28px}@media(max-width:760px){.library-heading-actions{gap:6px}.library-heading-actions button{font-size:12px;padding:9px}.share-dialog{padding:24px 18px}.share-dialog h2{font-size:22px}.share-dialog-actions{flex-wrap:wrap}.share-dialog-actions .primary{flex:1}}.account-gate{min-height:calc(100dvh - 80px);display:grid;place-items:center;padding:32px 20px;background:var(--paper)}.account-gate>section{width:min(100%,480px);padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 50px #241c1010}.account-gate h1{font-size:clamp(28px,5vw,42px);margin:12px 0}.account-gate p{color:var(--muted);line-height:1.8;margin:0 0 22px}.account-gate small{display:block;color:var(--muted);font-size:12px;line-height:1.7;margin-top:16px}.account-login{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:5px;text-decoration:none}.account-actions{display:grid;gap:10px}.account-actions button{min-height:46px}.header-actions .local-label{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions .text-button{font-size:12px}@media(max-width:700px){.account-gate>section{padding:26px 22px}.header-actions .local-label{display:none}}:root{--paper:#faf8f3;--surface:#fff;--ink:#242420;--muted:#706e66;--line:#dedbd4;--accent:#ce2829;--stage:#eae7e0;--thumb:#b9b4a8;font-family:Tahoma,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.65;font-synthesis:none;scrollbar-color:var(--thumb) var(--stage);scrollbar-width:thin}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,label.upload-target{touch-action:manipulation}button{cursor:pointer;transition:background .15s,color .15s,border-color .15s}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{border-radius:5px}a{color:inherit}button.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:700;padding:10px 19px}button.primary:hover{background:#ac2021}button.secondary{background:var(--surface);border:1px solid var(--line);padding:9px 14px;color:var(--ink)}button.secondary:hover{background:#f1eee7;border-color:#b8b2a6}.text-button{border:0;background:transparent;padding:8px;color:var(--muted)}.text-button:hover{color:var(--accent);background:#f5f0e8}.app-header{padding:21px 38px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{text-decoration:none;font-family:Georgia,serif;letter-spacing:5px;font-size:24px;display:flex;align-items:center;gap:23px}.brand span{font-family:Tahoma,sans-serif;letter-spacing:0;font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px}.header-actions{display:flex;align-items:center;gap:10px}.local-label{font-size:12px;color:var(--muted);margin-right:16px}.count{background:#eae7df;border-radius:3px;font-size:11px;padding:1px 5px;margin-left:6px}.workspace{display:grid;grid-template-columns:366px minmax(0,1fr);max-width:1680px;margin:auto;align-items:stretch}.editor{padding:30px 26px;background:var(--paper);border-right:1px solid var(--line);min-width:0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted)}h1{font-size:23px;letter-spacing:-.6px;line-height:1.5;margin:7px 0}h2{font-size:19px;margin:2px 0}.editor-intro p{font-size:12px;color:var(--muted);margin:0 0 25px}.editor-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-bottom:22px}.editor-tabs button{flex:1;padding:11px 0;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:12px;color:var(--muted);white-space:nowrap}.editor-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--ink);font-weight:700}.editor-tabs button:hover{color:var(--accent)}.section-label{font-size:12px;color:var(--muted);margin:22px 0 18px}.field{margin:0 0 17px}.field label{font-size:12px;display:block;margin-bottom:6px}.field input,.field textarea{display:block;width:100%;border:1px solid var(--line);background:#fffdf9;border-radius:4px;padding:10px 11px;color:var(--ink);font-size:13px;line-height:1.7}.field textarea{resize:none;field-sizing:content;min-height:116px}.field input:hover,.field textarea:hover{border-color:#bdb6aa}.field-help{font-size:11px;line-height:1.9;color:var(--muted);margin:10px 0 18px}.editor-bottom{border-top:1px solid var(--line);margin-top:27px;padding-top:16px}.editor-bottom p{font-size:11px;color:var(--muted);min-height:18px;margin:0 0 13px}.file-actions{display:flex;gap:5px;align-items:center;font-size:12px}.preview-area{background:var(--stage);padding:27px 44px 30px;min-width:0}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:740px;margin:0 auto 22px}.preview-toolbar h2{font-size:17px;font-weight:400;margin-top:2px}.export-size{border:0;display:flex;gap:3px;padding:0;margin:0;font-size:11px}.export-size legend{font-size:10px;text-align:right;color:var(--muted);margin-bottom:5px;width:100%}.export-size label{cursor:pointer;padding:5px 10px;border:1px solid transparent;border-radius:4px;white-space:nowrap;display:flex;align-items:center;gap:5px}.export-size .active{background:var(--paper);border-color:#ccc5b9}.export-size input{margin:0;accent-color:var(--accent);width:11px;height:11px}.preview-paper{max-width:740px;margin:auto;background:var(--paper);box-shadow:0 6px 28px #3f372015}.preview-paper canvas{display:block;width:100%;height:auto}.preview-footer{display:flex;justify-content:space-between;gap:12px;max-width:740px;margin:16px auto 0;font-size:10px;color:#69665d}.app-footer{border-top:1px solid var(--line);padding:18px 38px;font-family:Georgia,serif;letter-spacing:3px;font-size:12px;display:flex;gap:24px}.app-footer span{font-family:Tahoma,sans-serif;color:var(--muted);letter-spacing:0;font-size:11px}.upload-target{display:block;position:relative;cursor:pointer;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fffdf9}.upload-target:hover{border-color:var(--accent)}.upload-target:focus-within{outline:3px solid var(--accent);outline-offset:3px}.upload-target input{position:absolute;opacity:0;width:100%;height:100%;top:0;right:0;bottom:0;left:0;cursor:pointer;z-index:1}.upload-image{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#ede9e0;color:var(--muted);font-size:11px}.upload-image img{width:100%;height:100%;object-fit:contain;display:block;min-height:0}.portrait .upload-image{aspect-ratio:2/3;max-height:222px}.upload-caption{display:block;font-size:12px;padding:9px 10px}.upload-caption small{display:block;font-size:10px;color:var(--muted)}.uploads{display:grid;grid-template-columns:1fr 1fr;gap:12px}.remove{font-size:10px;padding:3px 0}.scene-label{display:flex;justify-content:space-between}.add-scene{width:100%;margin-top:13px}.overall-score{margin:20px 0}.overall-score label{display:flex;align-items:center;justify-content:space-between;font-size:12px}.overall-score strong{font-size:30px;color:var(--accent);line-height:1.4}.overall-score small{font-size:14px;color:var(--muted);font-weight:400}.rating-field{margin:14px 0}.rating-field label{display:flex;justify-content:space-between;font-size:12px}.rating-field output{font-size:11px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;min-height:26px}.error-banner{padding:12px 38px;background:#fbe8e5;color:#85201d;display:flex;align-items:center;justify-content:space-between;gap:15px}.library{padding:24px 38px;border-bottom:1px solid var(--line)}.library-heading{display:flex;justify-content:space-between;gap:15px}.library>p{font-size:12px;color:var(--muted)}.review-list{display:flex;flex-wrap:wrap;gap:10px;max-height:300px;overflow:auto}.review-entry{border:1px solid var(--line);background:#fff;display:flex;gap:12px;text-align:left;padding:10px;align-items:center;width:300px}.review-entry img{width:34px;height:51px;object-fit:contain}.review-entry span{min-width:0;overflow-wrap:anywhere}.review-entry small{display:block;color:var(--muted);font-size:10px}.review-entry:hover,.review-entry.selected{border-color:var(--accent)}.loading{padding:80px;text-align:center}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--stage)}::-webkit-scrollbar-thumb{background:var(--thumb);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#928c80}@media(min-width:1600px){.preview-area{padding-left:70px;padding-right:70px}.workspace{grid-template-columns:400px minmax(0,1fr)}}@media(max-width:1050px){.workspace{grid-template-columns:320px minmax(0,1fr)}.editor{padding:25px 20px}.preview-area{padding:25px 24px}.brand span,.local-label{display:none}.preview-toolbar{align-items:flex-start}.preview-toolbar h2{font-size:14px}.export-size label{padding:4px 5px}.app-header{padding:18px 24px}}@media(max-width:760px){.app-header{padding:16px;gap:10px;flex-wrap:wrap}.brand{font-size:21px}.header-actions{gap:6px}.header-actions button{padding:8px 10px;font-size:11px}.workspace{grid-template-columns:1fr}.editor{border-right:0;padding:25px 20px}.editor-intro p{margin-bottom:15px}.preview-area{padding:24px 16px}.preview-toolbar h2{font-size:17px}.field input,.field textarea{font-size:16px}.preview-footer{font-size:9px}.app-footer{padding:16px;gap:12px}.library{padding:20px}.error-banner{padding:12px 16px}.review-entry{width:100%}.export-size label{padding:5px 7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){:root{scrollbar-color:auto}button{border:1px solid ButtonText}.editor-tabs button[aria-selected=true]{border-bottom:3px solid Highlight}}.review-row{display:flex;align-items:stretch;width:350px;max-width:100%;gap:3px}.review-row .review-entry{flex:1;min-width:0;width:auto}.delete-review{color:var(--accent);padding:10px;flex-shrink:0}.delete-dialog{width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:6px;padding:24px;background:var(--paper);color:var(--ink)}.delete-dialog::backdrop{background:#24242080}.delete-dialog p{font-size:13px;line-height:1.7}.delete-name{font-weight:700;overflow-wrap:anywhere}.delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@media(max-width:760px){.review-row{width:100%}}@font-face{font-family:Anton;src:url(/fonts/Anton-Regular.ttf) format("truetype");font-weight:400;font-display:block}@font-face{font-family:Noto Sans Thai;src:url(/fonts/NotoSansThai.ttf) format("truetype");font-weight:100 900;font-display:block}:root{font-family:Noto Sans Thai,Tahoma,Arial,sans-serif}.brand span,.app-footer span{font-family:Noto Sans Thai,Tahoma,sans-serif}
