:root{--bg: #F1ECE4;--bg-soft: #F8F4EE;--bg-tint: #FBF8F3;--ink: #1A1713;--ink-2: #5D564C;--ink-3: #6E665A;--ember: #E8542F;--ember-cta: #C93A1E;--accent-ink: #B03A1C;--danger: #9C2A1A;--page-paper: #FFFDF8;--line: rgba(26, 23, 19, .09);--line-strong: rgba(26, 23, 19, .16);--glass-solid: #F5F1EB;--glass-surface: rgba(245, 241, 235, .85);--scrim: rgba(26, 23, 19, .45);--shadow-sm: 0 1px 3px rgba(26, 23, 19, .05);--shadow-card: 0 2px 8px rgba(26, 23, 19, .07);--shadow-sheet: 0 -4px 24px rgba(26, 23, 19, .12);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-card: 15px;--radius-sheet: 30px;--radius-pill: 9999px;--blur: 16px;--blur-heavy: 24px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif: "New York", "Iowan Old Style", "Apple Garamond", "Baskerville", "Times New Roman", "Droid Serif", Georgia, serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #12100E;--bg-soft: #191612;--bg-tint: #1E1A16;--ink: #F7F2EA;--ink-2: #B8B0A3;--ink-3: #A39A8C;--ember: #F0663F;--ember-cta: #C93A1E;--accent-ink: #FF9870;--danger: #FF8A74;--page-paper: #FBF7EF;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .17);--glass-solid: #1A1714;--glass-surface: rgba(26, 23, 20, .85);--scrim: rgba(0, 0, 0, .65);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-sheet: 0 -4px 24px rgba(0, 0, 0, .45)}}:root[data-theme=dark]{--bg: #12100E;--bg-soft: #191612;--bg-tint: #1E1A16;--ink: #F7F2EA;--ink-2: #B8B0A3;--ink-3: #A39A8C;--ember: #F0663F;--ember-cta: #C93A1E;--accent-ink: #FF9870;--danger: #FF8A74;--page-paper: #FBF7EF;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .17);--glass-solid: #1A1714;--glass-surface: rgba(26, 23, 20, .85);--scrim: rgba(0, 0, 0, .65);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-sheet: 0 -4px 24px rgba(0, 0, 0, .45)}.glass-surface{background:var(--glass-solid);border:1px solid var(--line)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){:root:not([data-tier=t1]):not([data-tier=T1]) .glass-surface{background:var(--glass-surface);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}}:root[data-tier=t1] .glass-surface,:root[data-tier=t1] .glass-surface-heavy,:root[data-tier=T1] .glass-surface,:root[data-tier=T1] .glass-surface-heavy{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--glass-solid)!important}@media (prefers-reduced-transparency: reduce){.glass-surface,.glass-surface-heavy{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--glass-solid)!important}}.modal-scrim{position:fixed;inset:0;background:var(--scrim);z-index:100;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.page-card,.page-card *,.tool-chip,.tool-row,.tag-pill,.virtual-grid,.grid-container,.grid-viewport,.grid-content,.grid-host{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.page-card{aspect-ratio:3 / 4;background:var(--page-paper);border-radius:var(--radius-card);border:1px solid var(--line);position:relative;overflow:hidden;user-select:none;cursor:pointer;box-shadow:var(--shadow-sm)}.page-card.selected{outline:2px solid var(--ember);outline-offset:1px}.page-card.dragging{opacity:.45;transform:scale(.96)}.page-card.drag-over{outline:2px dashed var(--ember);outline-offset:2px}.page-canvas-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.page-card img,.page-card canvas{width:100%;height:100%;object-fit:contain;display:block}.recent-card-btn{transition:transform .12s ease,border-color .12s ease}.recent-card-btn:hover{border-color:var(--line-strong);transform:translateY(-1px)}.page-badge{position:absolute;bottom:6px;left:6px;font-size:11px;font-weight:600;background:#1a1713b3;color:#fff;padding:2px 6px;border-radius:4px}.page-rotation-badge{position:absolute;bottom:6px;right:6px;font-size:11px;font-weight:600;background:#1a1713b3;color:#fff;padding:2px 6px;border-radius:4px}.page-check{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--ember);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.mobile-action-bar{position:sticky;bottom:0;left:0;right:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0));border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;z-index:40}@media (min-width: 1024px){.mobile-action-bar{display:none}}.selection-dock{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0));left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:600px;border-radius:var(--radius-sheet);padding:12px 16px;z-index:60;box-shadow:var(--shadow-sheet);display:flex;flex-direction:column;gap:10px}.selection-dock-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.sheet-container{position:fixed;bottom:0;left:0;right:0;max-height:90vh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom,0));z-index:101;box-shadow:var(--shadow-sheet);overflow-y:auto;display:flex;flex-direction:column;gap:16px}@media (min-width: 900px){.sheet-container{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:600px;max-height:85vh;border-radius:var(--radius-lg)}}.toast-bar{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0));left:50%;transform:translate(-50%);padding:12px 20px;border-radius:var(--radius-pill);background:var(--ink);color:var(--bg);font-size:14px;display:flex;align-items:center;gap:12px;z-index:120;box-shadow:var(--shadow-sheet)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-sans);overscroll-behavior-y:contain;-webkit-font-smoothing:antialiased}#app{min-height:100%;display:flex;flex-direction:column}.serif-hero{font-family:var(--font-serif);font-size:clamp(1.75rem,1.2rem + 1.9vw,2.4rem);font-weight:500;line-height:1.05;color:var(--ink);letter-spacing:-.02em}.tabular{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:16px;font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:transform .14s ease,opacity .14s ease;min-height:48px;padding:0 20px}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ember-cta);color:#fff;min-height:56px;font-weight:600}.btn-secondary{background:var(--bg-soft);color:var(--ink);border:1px solid var(--line)}.btn-danger{background:var(--danger);color:#fff}.btn-icon{min-width:44px;min-height:44px;padding:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-2)}.btn-icon:hover{background:var(--line);color:var(--ink)}.top-bar{position:sticky;top:0;z-index:50;height:62px;padding:env(safe-area-inset-top,0) 16px 0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.top-bar-title{font-weight:600;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50vw}.top-bar-meta{font-size:13px;color:var(--ink-2);margin-left:8px}.home-container{max-width:1140px;margin:0 auto;padding:24px 16px calc(32px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;gap:24px;width:100%}.drop-zone{border:2px dashed var(--line-strong);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;background:var(--bg-soft);cursor:pointer;transition:border-color .14s ease,background .14s ease}.drop-zone.dragover{border-color:var(--ember);background:var(--bg-tint)}.tool-chips-row{display:flex;flex-wrap:wrap;gap:10px}.tool-chip{height:46px;padding:0 18px;border-radius:var(--radius-pill);background:var(--bg-soft);border:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.workbench-screen{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden}.workbench-layout{display:flex;flex-direction:column;flex:1;height:100vh;max-height:100vh;min-height:0;position:relative;overflow:hidden}.workbench-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.grid-host{flex:1;min-height:0;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.workbench-rail{display:none}@media (min-width: 1024px){.workbench-layout{flex-direction:row}.workbench-main{flex:1;min-width:0;min-height:0}.workbench-rail{width:320px;flex-shrink:0;position:sticky;top:62px;height:calc(100vh - 62px);border-left:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:16px}}.grid-viewport{flex:1;height:100%;max-height:100%;min-height:0;overflow-y:auto;padding:16px;position:relative;box-sizing:border-box}.grid-content{display:grid;align-content:start;gap:12px;position:relative}@media (max-width: 389px){.grid-content{grid-template-columns:repeat(2,1fr);gap:10px}}@media (min-width: 390px) and (max-width: 639px){.grid-content{grid-template-columns:repeat(3,1fr);gap:10px}}@media (min-width: 640px){.grid-content{grid-template-columns:repeat(4,1fr);gap:12px}}:focus-visible{outline:2px solid var(--ember);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
