:root{color-scheme:light dark;--accent: #0f6b63;--accent-contrast: #ffffff;--cta: #b45309;--input-bg: #ffffff;--input-text: #0f172a;--input-border: #cbd5e1;font-family:system-ui,sans-serif;background-color:#fff;color:#0f172a}@media(prefers-color-scheme:dark){:root:not([data-theme]){--input-bg: #1e293b;--input-text: #f8fafc;--input-border: #475569;background-color:#0f172a;color:#e2e8f0}}:root[data-theme=light]{color-scheme:light;--accent: #0f6b63;--accent-contrast: #ffffff;--cta: #b45309;--input-bg: #ffffff;--input-text: #0f172a;--input-border: #cbd5e1;background-color:#fff;color:#0f172a}:root[data-theme=light] body{background-color:#fff;color:#0f172a}:root[data-theme=dark]{color-scheme:dark;--accent: #14b8a6;--accent-contrast: #042f2e;--cta: #f59e0b;--input-bg: #1e293b;--input-text: #f8fafc;--input-border: #475569;background-color:#0f172a;color:#e2e8f0}:root[data-theme=dark] body{background-color:#0f172a;color:#e2e8f0}:root[data-theme=sepia]{color-scheme:light;--accent: #854d0e;--accent-contrast: #ffffff;--cta: #c2410c;--input-bg: #f5e6ca;--input-text: #3b2d1d;--input-border: #d4b886;background-color:#fbf0d9;color:#3b2d1d}:root[data-theme=sepia] body{background-color:#fbf0d9;color:#3b2d1d}:root[data-theme=midnight]{color-scheme:dark;--accent: #0284c7;--accent-contrast: #ffffff;--cta: #d97706;--input-bg: #18181b;--input-text: #ffffff;--input-border: #3f3f46;background-color:#000;color:#f1f5f9}:root[data-theme=midnight] body{background-color:#000;color:#f1f5f9}:root[data-theme=forest]{color-scheme:light;--accent: #15803d;--accent-contrast: #ffffff;--cta: #b45309;--input-bg: #dbe8db;--input-text: #102416;--input-border: #a8caa8;background-color:#edf4ed;color:#1b3322}:root[data-theme=forest] body{background-color:#edf4ed;color:#1b3322}*{box-sizing:border-box}body{margin:0}header.appbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--accent);color:var(--accent-contrast)}header.appbar h1{font-size:1.1rem;margin:0;flex:1}main{padding:16px;max-width:720px;margin:0 auto}button{font:inherit;padding:8px 16px;border-radius:20px;border:none;background:var(--accent);color:var(--accent-contrast);cursor:pointer}button.secondary{background:color-mix(in srgb,var(--accent) 15%,transparent);color:inherit}button:disabled{opacity:.5;cursor:default}button.cta{font-size:1.15rem;font-weight:600;padding:14px 28px;border-radius:28px;background:var(--cta)}input,textarea,select{font:inherit;padding:10px 12px;border-radius:8px;border:1.5px solid var(--input-border, color-mix(in srgb, currentColor 30%, transparent));background-color:var(--input-bg, #ffffff);color:var(--input-text, #0f172a);width:100%}select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}option{background-color:var(--input-bg, #ffffff);color:var(--input-text, #0f172a);padding:8px 12px}optgroup{background-color:var(--input-bg, #ffffff);color:var(--input-text, #0f172a);font-weight:700;padding:4px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox],input[type=radio]{width:auto;padding:0;margin:0;cursor:pointer;accent-color:var(--accent)}.checkbox-label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:1rem}ul.booklist{list-style:none;padding:0;margin:0}ul.booklist li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 4px;border-bottom:2px solid color-mix(in srgb,currentColor 35%,transparent)}ul.booklist li .title{flex:1;min-width:140px;cursor:pointer}.sendto{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.sendto-label{font-size:.7rem;opacity:.65}.sendto-buttons{display:inline-flex;gap:6px}button.outlined{border:1.5px solid color-mix(in srgb,var(--accent) 60%,currentColor 40%)}.sendto-buttons button.secondary{border:1.5px solid color-mix(in srgb,var(--accent) 60%,currentColor 40%);padding:4px 12px}ul.booklist li .title-pill{display:inline-block;margin:2px 0 4px;padding:4px 12px;border:1.5px solid color-mix(in srgb,var(--accent) 60%,currentColor 40%);border-radius:20px;background:color-mix(in srgb,var(--accent) 15%,transparent)}.scanbanner{text-align:center;padding:12px;margin-bottom:16px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent)}.scanbanner p{margin:0 0 8px;font-weight:600}.scanbanner.warning{background:color-mix(in srgb,#e08600 16%,transparent)}.muted{opacity:.65;font-size:.85rem}video.camera{width:100%;max-height:60vh;background:#000;border-radius:12px}.camerabox{position:relative}.camerabox .countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:5rem;font-weight:700;color:#fff;text-shadow:0 0 16px rgba(0,0,0,.7);pointer-events:none}.pagegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.pagecell{position:relative}.pagecell img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:10px;cursor:pointer;display:block}.pagecell .badge{position:absolute;top:0;left:0;background:var(--accent);color:var(--accent-contrast);font-size:.8rem;padding:2px 8px;border-radius:10px 0}.pagecell .reorder{display:flex;gap:4px;margin-top:4px}.pagecell .reorder button{padding:2px 10px;font-size:.8rem}.editor .imagepane{overflow:auto;max-height:40vh;border-radius:10px;border:1px solid color-mix(in srgb,currentColor 15%,transparent)}.editor .imagepane img{display:block}.editor textarea{width:100%;resize:vertical}.pagetext{max-height:48vh;overflow-y:auto;line-height:1.6;margin-bottom:12px;padding:12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,transparent);border:1px solid color-mix(in srgb,currentColor 10%,transparent)}.pagetext.font-large{font-size:1.25rem;line-height:1.7}.pagetext.font-xlarge{font-size:1.45rem;line-height:1.8}.sentence{cursor:pointer;padding:2px 4px;border-radius:4px;transition:background .15s ease,color .15s ease}.sentence:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.sentence-active{background:color-mix(in srgb,var(--accent) 28%,transparent);font-weight:500;border-bottom:2px solid var(--accent)}.speed-control{margin:12px 0}.speed-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:6px}.speed-chip{padding:4px 12px;font-size:.85rem;border-radius:16px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;cursor:pointer}.speed-chip.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}.play-controls{display:flex;gap:12px;align-items:center;justify-content:center;margin:16px 0}.play-btn-primary{font-size:1.15rem;font-weight:600;min-width:110px;padding:12px 24px;border-radius:28px}.timer-row{display:flex;gap:8px;align-items:center;margin:10px 0;font-size:.85rem}.sleep-timer-card{margin:16px 0 12px;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);background:color-mix(in srgb,currentColor 3%,transparent)}.sleep-timer-card.active{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.sleep-timer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sleep-timer-title{font-size:.9rem;font-weight:600}.timer-badge{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:10px}.timer-badge.off{background:color-mix(in srgb,currentColor 12%,transparent);color:inherit;opacity:.75}.timer-badge.on{background:#16a34a;color:#fff}.timer-presets{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.timer-chip{padding:4px 10px;font-size:.82rem;border-radius:14px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;cursor:pointer;transition:all .15s ease}.timer-chip.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}.timer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.timer-btn-start{font-size:.9rem;font-weight:600;padding:8px 16px;border-radius:20px}.timer-btn-stop{font-size:.82rem;padding:6px 12px;border-radius:16px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;cursor:pointer}.timer-active-countdown{font-size:1.05rem;font-weight:700;color:var(--accent);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.timer-note{font-size:.78rem;font-weight:400;opacity:.8;color:inherit}.choice-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0 10px}.choice-chip{padding:6px 14px;font-size:.88rem;border-radius:18px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;cursor:pointer;transition:all .15s ease}.choice-chip.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}.choice-chip:hover:not(.active):not(.grayed-out){background:color-mix(in srgb,currentColor 8%,transparent)}.choice-chip.grayed-out{opacity:.55;cursor:not-allowed;border-style:dashed;border-color:color-mix(in srgb,currentColor 25%,transparent);background:color-mix(in srgb,currentColor 3%,transparent);color:var(--muted, #666)}.choice-chip.grayed-out:hover{background:color-mix(in srgb,currentColor 6%,transparent)}.choice-chip .cloud-tag{font-size:.72rem;margin-left:6px;padding:2px 6px;border-radius:10px;background:color-mix(in srgb,currentColor 10%,transparent);font-weight:500;vertical-align:middle}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;font-size:.82rem;background:color-mix(in srgb,var(--accent) 12%,transparent)}.status-badge.active{background:color-mix(in srgb,#16a34a 15%,transparent);color:#15803d;font-weight:600}.camerabox{position:relative;overflow:hidden;border-radius:12px}.camera-guide-frame{position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:2px dashed rgba(255,255,255,.4);border-radius:8px;pointer-events:none;transition:border-color .2s ease}.camera-guide-frame.hold{border-color:#38bdf8;border-style:solid}.camera-guide-frame.turn{border-color:#fbbf24;border-style:solid}.camera-hud-badge{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.camera-hud-badge.turn{background:#b45309}.camera-hud-badge.hold{background:#0369a1}.capture-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.processing-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--accent) 15%,transparent);font-size:.85rem;margin:8px 0}.toggle-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:18px;font-size:.85rem;cursor:pointer;border:1.5px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit}.toggle-chip.active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);font-weight:600}.empty-queue-card{text-align:center;padding:32px 16px;border:2px dashed color-mix(in srgb,currentColor 20%,transparent);border-radius:16px;margin:16px 0}.empty-queue-card h2{margin-top:0;font-size:1.25rem}.empty-steps{display:flex;flex-direction:column;gap:12px;text-align:left;max-width:380px;margin:18px auto 24px}.empty-step{display:flex;gap:12px;align-items:flex-start}.empty-step-num{width:24px;height:24px;border-radius:12px;background:var(--accent);color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pagecell.dragging{opacity:.4;transform:scale(.95)}.pagecell[draggable=true]{cursor:grab}.pagecell[draggable=true]:active{cursor:grabbing}
