:root{--color-bg:#0f1419;--color-surface:#1a2332;--color-surface-raised:#243044;--color-border:#2a3648;--color-text:#e8edf4;--color-text-muted:#9aa8bc;--color-accent:#4da3ff;--color-accent-hover:#6bb5ff;--color-success:#3dd68c;--color-success-bg:#143528;--color-warning:#f5c451;--color-warning-bg:#3a2f14;--color-danger:#ff6b6b;--color-danger-bg:#3a1f24;--color-info:#4da3ff;--color-info-bg:#1a2d42;--focus-ring-color:var(--color-accent);--focus-ring-width:2px;--focus-ring-offset:2px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-pill:999px;--shadow-card:0 1px 2px #0003;--max-width:72rem}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6}body{min-height:100vh;margin:0}a{color:var(--color-accent)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn{background:var(--color-accent);border-radius:var(--radius-md);color:#0f1419;cursor:pointer;font:inherit;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid #0000;justify-content:center;font-weight:600;line-height:1.4;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{background:var(--color-accent-hover)}.btn--secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.btn--secondary:hover{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.badge{background:var(--color-surface-raised);border-radius:var(--radius-pill);color:var(--color-text-muted);letter-spacing:.02em;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1.2;display:inline-block}.badge--accent{background:var(--color-info-bg);color:var(--color-accent)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-lg)}.alert{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:var(--space-lg) 0;padding:var(--space-md) var(--space-lg)}.alert--info{background:var(--color-info-bg);border-color:#4da3ff59}.alert--success{background:var(--color-success-bg);border-color:#3dd68c59}.alert--warning{background:var(--color-warning-bg);border-color:#f5c45159}.alert--danger{background:var(--color-danger-bg);border-color:#ff6b6b59}.empty-state-panel{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);margin:var(--space-lg) 0;padding:var(--space-xl) var(--space-lg);text-align:center}.empty-state-panel__title{margin:0 0 var(--space-sm);font-size:1.25rem}.empty-state-panel__body{color:var(--color-text-muted);margin:0 auto var(--space-lg);max-width:32rem}.empty-state-panel__actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.not-found{margin:var(--space-xl) auto;text-align:center;max-width:36rem}.not-found__code{color:var(--color-accent);letter-spacing:-.04em;margin:0 0 var(--space-md);font-size:clamp(3rem,12vw,5rem);font-weight:700;line-height:1}.not-found__title{margin:0 0 var(--space-sm);font-size:1.5rem}.not-found__body{color:var(--color-text-muted);margin:0 0 var(--space-lg)}main{max-width:var(--max-width);padding:var(--space-lg) var(--space-md);margin:0 auto}.site-main{outline:none}.skip-link{background:var(--color-accent);border-radius:var(--radius-md);color:#0f1419;left:var(--space-md);padding:var(--space-sm) var(--space-md);z-index:100;font-weight:600;text-decoration:none;position:absolute;top:-100%}.skip-link:focus{top:var(--space-md)}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-xl);padding:var(--space-lg) var(--space-md) var(--space-xl)}.site-footer__inner{max-width:var(--max-width);margin:0 auto}.site-footer__brand{margin:0 0 var(--space-md);font-size:1rem;font-weight:700}.site-footer__links{gap:var(--space-sm) var(--space-md);margin:0 0 var(--space-md);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-footer__links a{color:inherit;text-decoration:none}.site-footer__links a:hover,.site-footer__links a:focus-visible{color:var(--color-accent);text-decoration:underline}.site-footer__note{color:var(--color-text-muted);margin:0;font-size:.875rem}.home-hero{background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-bg) 100%);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-xl);padding:var(--space-lg)}.home-hero__title{margin:0 0 var(--space-md);font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.2}.home-hero__lede{color:var(--color-text-muted);max-width:42rem;margin:0;font-size:1.0625rem}.home-cta{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-xl);padding:var(--space-lg);text-align:center}.home-cta__text{margin:0;font-size:1.125rem}.home-cta__link{font-weight:600}@media (width<=640px){.site-header__inner{flex-direction:column;align-items:flex-start}.site-header__nav{gap:var(--space-sm) var(--space-md);flex-wrap:wrap}}.panel-workbench{gap:1rem;display:grid}.panel-workbench__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.panel-workbench__toolbar{flex-wrap:wrap;gap:.5rem;display:flex}.panel-workbench__layout{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:1.25rem;display:grid}.panel-workbench__canvas-wrap{border:1px solid var(--color-border,#d9d9d9);background:#111;min-height:24rem;overflow:auto}.panel-workbench__stage{transform-origin:0 0;max-width:none;display:inline-block;position:relative}.panel-workbench__stage img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;display:block}.panel-workbench__overlay{position:absolute;inset:0}.panel-workbench__box{box-sizing:border-box;cursor:move;background:#f5c5422e;border:2px solid #f5c542;position:absolute}.panel-workbench__box.is-selected{background:#7ec8ff33;border-color:#7ec8ff}.panel-workbench__box.is-draft{pointer-events:none;border-style:dashed}.panel-workbench__box-label{color:#fff;background:#000000b3;padding:.1rem .35rem;font-size:.75rem;position:absolute;top:0;left:0}.panel-workbench__handle{background:#1a73e8;border:1px solid #fff;border-radius:0;width:.75rem;height:.75rem;padding:0;position:absolute}.panel-workbench__handle--nw{cursor:nwse-resize;top:-.4rem;left:-.4rem}.panel-workbench__handle--ne{cursor:nesw-resize;top:-.4rem;right:-.4rem}.panel-workbench__handle--sw{cursor:nesw-resize;bottom:-.4rem;left:-.4rem}.panel-workbench__handle--se{cursor:nwse-resize;bottom:-.4rem;right:-.4rem}.panel-workbench__sidebar{align-content:start;gap:1rem;display:grid}.panel-workbench__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.panel-workbench__list-item{border:1px solid var(--color-border,#d9d9d9);flex-wrap:wrap;gap:.35rem;padding:.5rem;display:flex}.panel-workbench__list-item.is-selected{border-color:var(--color-accent,#1a73e8)}.panel-metadata-form{gap:.75rem;display:grid}.panel-metadata-form label{gap:.35rem;display:grid}.panel-workbench__hint{color:#555;font-size:.9rem}.panel-workbench__warnings{color:#8a1f1f;margin:0;padding-left:1.25rem}.panel-workbench__status{color:#1f6a31}.panel-workbench__status--error{color:#8a1f1f}.panel-workbench__readiness--ready{color:#1f6a31;font-weight:600}.panel-preview-strip__track{gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.panel-preview-strip__item{border:1px solid var(--color-border,#d9d9d9);min-width:8rem;max-width:10rem;margin:0;padding:.5rem}.panel-preview-strip__item img{width:100%;height:auto;display:block}.panel-preview-strip__missing{color:#555;background:#f3f3f3;place-items:center;min-height:4rem;margin:0;font-size:.85rem;display:grid}@media (width<=900px){.panel-workbench__layout{grid-template-columns:1fr}}.comic-detail__panel-reader{gap:.35rem;margin:1rem 0 1.5rem;display:grid}.comic-detail__panel-reader-link{font-size:1.05rem;font-weight:600}.comic-detail__panel-reader-hint{color:var(--color-text-muted,#555);font-size:.9rem}.panel-reader{touch-action:pan-y;gap:1rem;max-width:42rem;margin:0 auto;display:grid}.panel-reader[data-transition=next] .panel-reader__figure,.panel-reader[data-transition=previous] .panel-reader__figure{animation:.18s ease-out panel-reader-fade}@media (prefers-reduced-motion:reduce){.panel-reader[data-transition=next] .panel-reader__figure,.panel-reader[data-transition=previous] .panel-reader__figure{animation:none}}@keyframes panel-reader-fade{0%{opacity:.55;transform:translate(0)}to{opacity:1;transform:translate(0)}}.panel-reader__eyebrow{margin:0 0 .25rem}.panel-reader__figure{margin:0;scroll-margin-top:.75rem}.panel-reader__figure img{background:#111;width:100%;height:auto;display:block}.panel-reader__transcript{color:var(--color-text-muted,#555)}.panel-reader-controls{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem 1rem;margin-top:.5rem;display:grid}.panel-reader-controls__btn{border:1px solid var(--color-border,#d9d9d9);background:var(--color-surface,#fff);min-height:2.75rem;color:inherit;font:inherit;justify-content:center;align-items:center;padding:.5rem .85rem;text-decoration:none;display:inline-flex}.panel-reader-controls__btn:first-child{justify-self:start}.panel-reader-controls__btn--up{justify-self:center}.panel-reader-controls__btn:nth-child(3){justify-self:end}.panel-reader-controls__btn.is-disabled{opacity:.45;pointer-events:none}.panel-reader-controls__progress{text-align:center;color:var(--color-text-muted,#555);grid-column:1/-1;margin:0}.panel-reader-completion{gap:1.25rem;padding:1rem 0 .5rem;display:grid}.panel-reader-completion__actions{flex-wrap:wrap;gap:.75rem;display:flex}.panel-reader-completion__link{border:1px solid var(--color-border,#d9d9d9);min-height:2.75rem;color:inherit;align-items:center;padding:.5rem .85rem;text-decoration:none;display:inline-flex}@media (width<=640px){.panel-reader-controls{grid-template-columns:1fr 1fr}.panel-reader-controls__btn--up{grid-column:1/-1;justify-self:stretch}.panel-reader-controls__btn:nth-child(3){justify-self:stretch}}
