.journal{max-width:1120px;margin-inline:auto;padding:0 clamp(24px,5vw,64px)}.journal a{color:inherit;text-underline-offset:5px}.journal a:hover{color:var(--accent)}.journal-masthead{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--paper-dark)}.journal-brand{font-size:23px;font-weight:900;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.journal-brand>span:first-child{color:var(--accent)}.journal-brand-label{margin-left:10px;color:var(--ink-faded);font-size:14px;font-weight:400;letter-spacing:0}.journal-nav{display:flex;align-items:center;gap:24px}.journal-nav>a{font-size:12px;text-decoration:none}.journal-nav .theme-toggle{width:36px;height:36px;border:none;border-radius:50%;color:var(--ink-faded)}.journal-nav .theme-toggle:hover{background:var(--paper-dark);color:var(--ink)}.journal-skip{position:absolute;left:24px;top:-100px}.journal-skip:focus{top:8px;background:var(--paper);z-index:10}.journal-main{padding-block:36px 56px}.journal-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:var(--ink-faded)}.journal-index-header{margin-bottom:36px}.journal-index-header h1{font-family:var(--font-serif);font-size:clamp(48px,7vw,80px);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:12px 0 16px}.journal-index-header h1 em{color:var(--accent);font-weight:400}.journal-index-header>p:last-child{color:var(--ink-light);font-size:15px}.journal-section-label{display:flex;justify-content:space-between;align-items:center;padding-block:12px;border-top:1px solid var(--ink-faded);margin-bottom:12px;color:var(--ink-faded);font-family:var(--font-mono);font-size:11px}.journal-section-label h2{font:inherit;color:var(--ink)}.journal-posts{display:grid;gap:36px}.journal-card{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;align-items:center}.journal-card-cover{display:block;text-decoration:none}.journal-card-copy h2{font-family:var(--font-serif);font-weight:400;font-size:clamp(32px,4vw,42px);letter-spacing:-.025em;line-height:1.12;margin:14px 0}.journal-card-copy h2 a{text-decoration:none}.journal-card-copy>p:not(.journal-eyebrow){font-size:14px;line-height:1.8;color:var(--ink-light)}.journal-read{display:inline-block;font-size:12px;margin-top:16px}.journal-read span{margin-left:6px}.sticky-banner{container-type:inline-size;position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;width:100%;aspect-ratio:2 / 1;background:#dce4d4;color:#234238;border-radius:4px}.sticky-banner-copy{min-width:0;padding-left:9%}.sticky-banner-copy>span{display:block}.sticky-banner-eyebrow{font-family:var(--font-mono);font-size:1.1cqw;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2.1cqw}.sticky-banner-partners{font-size:1.65cqw;font-weight:600;letter-spacing:-.03em;white-space:nowrap}.sticky-banner-partners>span{font-weight:400;opacity:.65;margin-inline:.7cqw}.sticky-banner-title{font-family:var(--font-serif);font-size:5.85cqw;line-height:1.05;letter-spacing:-.03em;margin-block:2.3cqw}.sticky-banner-note{font-family:var(--font-mono);font-size:1.1cqw;opacity:.8}.sticky-banner-art{display:block;width:94%;height:auto;justify-self:start}.journal-article{max-width:720px;margin-inline:auto}.journal-article-header{max-width:720px;margin:0 auto 24px}.journal-back{display:inline-block;font-size:12px;margin-bottom:24px;text-decoration:none;color:var(--ink-faded)!important}.journal-article h1{font-family:var(--font-serif);font-size:clamp(48px,7vw,76px);font-weight:400;letter-spacing:-.035em;line-height:1.05;margin-block:12px 16px}.journal-deck{font-size:clamp(17px,2vw,20px);line-height:1.6;color:var(--ink-light);max-width:58ch}.journal-byline{display:flex;gap:12px;font-size:12px;color:var(--ink-faded);margin-top:16px}.journal-prose{max-width:650px;margin:32px auto 0;font-size:17px;line-height:1.75;color:var(--ink-light)}.journal-prose section+section{margin-top:32px}.journal-prose h2{font-size:25px;letter-spacing:-.035em;line-height:1.3;color:var(--ink);font-weight:600;margin-bottom:16px}.journal-prose p+p{margin-top:16px}.journal-prose ol{padding-left:24px;margin-block:20px}.journal-prose li{padding-left:8px;margin-bottom:10px}.journal-prose .info-note{background:var(--paper-dark);padding:14px;font-size:13px}.journal-cta{display:inline-block;margin-top:24px;font-size:14px}.journal-footer{display:flex;justify-content:space-between;gap:24px;padding-block:24px;border-top:1px solid var(--paper-dark);color:var(--ink-faded);font-size:11px}.journal-footer>div{display:flex;gap:24px}.journal-footer a{text-decoration:none}@media(max-width:700px){.journal-masthead{min-height:64px;gap:12px}.journal-brand{font-size:20px}.journal-brand-label{margin-left:4px;font-size:12px}.journal-nav{gap:10px}.journal-nav>a{font-size:11px}.journal-main{padding-block:24px 40px}.journal-index-header{margin-bottom:28px}.journal-card{grid-template-columns:1fr;gap:20px}.journal-article-header{margin-bottom:20px}.journal-article h1{font-size:clamp(42px,8vw,56px)}.journal-card-copy h2{margin-block:10px}.journal-nav>a{display:inline-flex;align-items:center;min-height:44px}.journal-nav .theme-toggle{width:44px;height:44px}.journal-back{margin-bottom:16px}.journal-prose{font-size:16px;margin-top:28px}.journal-footer{flex-wrap:wrap;gap:16px}}@media(max-width:380px){.journal{padding-inline:20px}.journal-brand-label{display:none}}.manga-search-overlay{position:fixed;inset:0;background:#1a181799;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:fadeIn .15s ease}.manga-search-modal{width:90%;max-width:640px;max-height:70vh;background:var(--paper);border:var(--border);display:flex;flex-direction:column;box-shadow:4px 4px 0 var(--ink)}.manga-search-header{padding:var(--space-md) var(--space-lg);border-bottom:var(--border)}.manga-search-header-top{display:flex;align-items:center;justify-content:space-between}.manga-search-header h2{font-family:var(--font-display);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.manga-search-hint{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-light);margin-top:var(--space-xs)}.manga-search-hint a{color:var(--ink)}.manga-search-hint a:hover{color:var(--accent)}.manga-search-hint-underline{font-family:var(--font-mono);font-size:.7rem;color:var(--ink);text-decoration:underline;margin-left:auto;margin-right:var(--space-sm)}.manga-search-hint-underline:hover{color:var(--accent)}.manga-search-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:var(--border-light);font-size:1.2rem;cursor:pointer;color:var(--ink);transition:background-color .15s,color .15s,border-color .15s}.manga-search-close:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.manga-search-input-wrap{position:relative;padding:var(--space-md) var(--space-lg);border-bottom:var(--border-light)}.manga-search-input{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:.9rem;background:var(--paper-dark);border:var(--border);color:var(--ink);outline:none}.manga-search-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.manga-search-spinner{position:absolute;right:calc(var(--space-lg) + var(--space-md));top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--ink-faded);border-top-color:var(--ink);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.manga-search-results{flex:1;overflow-y:auto;padding:var(--space-sm) var(--space-lg) var(--space-lg)}.manga-search-error,.manga-search-empty{padding:var(--space-lg);text-align:center;font-family:var(--font-mono);font-size:.85rem;color:var(--ink-faded)}.manga-search-error{color:var(--accent)}.manga-search-error a{color:var(--ink);text-decoration:underline}.manga-search-item{display:block;padding:var(--space-sm) var(--space-sm);border-bottom:var(--border-light);text-decoration:none;color:inherit;transition:background-color .1s;cursor:pointer}.manga-search-item:last-child{border-bottom:none}.manga-search-item:hover,.manga-search-item:focus-visible{background:var(--paper-dark)}.manga-search-item-title{display:block;font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:var(--space-xs);text-decoration:none}.manga-search-item:hover .manga-search-item-title{color:var(--accent)}.manga-search-item-meta{display:flex;gap:var(--space-md);font-family:var(--font-mono);font-size:.75rem;color:var(--ink-faded);flex-wrap:wrap}.manga-search-seed{color:var(--success)}.manga-search-leech{color:var(--accent)}.manga-search-item-actions{margin-top:var(--space-xs)}.manga-search-magnet{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:.75rem;color:var(--ink-light);text-decoration:none;padding:2px var(--space-sm);border:var(--border-light);transition:background-color .15s,color .15s,border-color .15s}.manga-search-magnet:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.header{position:relative}.manga-search-trigger{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:var(--border-light);color:var(--ink);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.manga-search-trigger:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.manga-search-trigger svg{width:16px;height:16px}.theme-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:var(--border-light);color:var(--ink);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.theme-toggle:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.theme-toggle svg{width:16px;height:16px}@media(max-width:600px){.manga-search-overlay{padding:var(--space-md)}.manga-search-modal{width:100%;max-height:calc(100dvh - 2 * var(--space-md))}.manga-search-header,.manga-search-input-wrap,.manga-search-results{padding-inline:var(--space-md)}}:root{--paper: #f8f4eb;--paper-dark: #ece5d8;--control-hover: #fffdf8;--ink: #1e1a17;--ink-light: #504941;--ink-faded: #746c63;--accent: #b53a2b;--accent-hover: #963023;--success: #2f713f;--z-base: 1;--z-dropdown: 100;--z-modal: 200;--z-overlay: 300;--z-grain: 400;--font-display: "Libre Franklin", system-ui, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: "JetBrains Mono", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--border: 1.5px solid var(--ink);--border-light: 1px solid var(--ink-faded)}[data-theme=dark]{color-scheme:dark;--paper: #191714;--paper-dark: #28241f;--control-hover: #28241f;--ink: #f7f0e5;--ink-light: #d8cec0;--ink-faded: #aaa094;--accent: #ff715f;--accent-hover: #ff917f;--success: #7fc990}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-display);font-weight:400;background:var(--paper);color:var(--ink);min-height:100dvh;line-height:1.5}.grain{position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");z-index:var(--z-grain)}.layout{max-width:1024px;margin:0 auto;padding:var(--space-xl) clamp(var(--space-lg),6vw,var(--space-2xl));display:grid;gap:var(--space-xl)}.layout>*{min-width:0}@media(min-width:768px){.layout{padding-block:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(260px,300px);grid-template-areas:"header header" "nav nav" "mode-toggle mode-toggle" "dropzone options" "files options" "action options" "progress progress" "results results" "viewer viewer" "footer footer"}.header{grid-area:header}.nav-stack{grid-area:nav}.mode-toggle{grid-area:mode-toggle}.dropzone-wrapper{grid-area:dropzone}.options-stack,.options-panel{grid-area:options;align-self:start}.file-list{grid-area:files}.action-section{grid-area:action;align-self:start}.progress-section{grid-area:progress}.results-section{grid-area:results}.viewer-section{grid-area:viewer}.footer{grid-area:footer}.soon-placeholder{grid-area:dropzone / dropzone / viewer / options}}.nav-stack{display:flex;flex-direction:column;gap:var(--space-xs)}.header-actions{position:absolute;top:0;right:0;display:flex;align-items:center;gap:var(--space-sm)}.blog-link{display:inline-flex;align-items:center;min-height:32px;padding-inline:var(--space-xs);font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faded);text-decoration:none}.blog-link:hover,.blog-link:focus-visible,.blog-link[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.sticky-announcement{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-md);font-size:.8rem;color:var(--ink-light);text-decoration:none}.announcement-badge{padding:.1rem .4rem;background:var(--accent);color:var(--paper);font-family:var(--font-mono);font-size:.65rem}.announcement-detail{color:var(--ink-faded);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}@media(max-width:600px){.header-actions{position:static;justify-content:center;margin-top:var(--space-md)}}.header{text-align:center;padding-bottom:var(--space-lg);border-bottom:var(--border)}.logo{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4rem);font-weight:900;letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline;justify-content:center}.logo-xtc{color:var(--ink)}.logo-dot{color:var(--accent);font-size:1.3em;line-height:0}.logo-js{color:var(--ink-light)}.tagline{margin-top:var(--space-sm);font-size:.9rem;color:var(--ink-faded);letter-spacing:.02em;max-width:60ch;margin-left:auto;margin-right:auto}.tagline a{color:inherit}.tagline em{font-family:var(--font-serif);font-style:italic;color:var(--ink-light)}.nav-tabs{display:flex;gap:var(--space-md);justify-content:flex-start;margin-top:calc(-1 * var(--space-lg));overflow-x:auto;white-space:nowrap;padding-bottom:var(--space-xs);scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-tabs::-webkit-scrollbar{display:none}@media(min-width:768px){.nav-tabs{justify-content:center;overflow-x:visible}}.nav-tab{flex:0 0 auto;font-family:var(--font-mono);font-size:1rem;font-weight:500;text-decoration:none;color:var(--ink-faded);transition:color .15s}.nav-tab:before{content:"[ ";transition:color .15s}.nav-tab:after{content:" ]";transition:color .15s}.nav-tab:is(.active,:hover,:focus-visible){color:var(--ink)}.nav-tab:is(.active,:hover,:focus-visible):before,.nav-tab:is(.active,:hover,:focus-visible):after{color:var(--accent)}@media(max-width:767px){.nav-tabs{flex-wrap:wrap;justify-content:center;overflow:visible}}.nav-tab-button{background:none;border:none;padding:0;cursor:pointer}.nav-caret{display:inline-block;font-size:.95em;font-weight:700;line-height:1;transform:translateY(-.02em)}.nav-subtabs{display:flex;gap:var(--space-sm);justify-content:flex-start;overflow-x:auto;white-space:nowrap;padding-bottom:var(--space-xs);scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-subtabs::-webkit-scrollbar{display:none}@media(min-width:768px){.nav-subtabs{justify-content:center;overflow-x:visible}}.nav-subtab{flex:0 0 auto;font-family:var(--font-mono);font-size:.78rem;text-decoration:none;color:var(--ink);opacity:.75}.nav-subtab:before{content:"[ ";transition:color .15s}.nav-subtab:after{content:" ]";transition:color .15s}.nav-subtab:is(.active,:hover,:focus-visible){opacity:1}.nav-subtab:is(.active,:hover,:focus-visible):before,.nav-subtab:is(.active,:hover,:focus-visible):after{color:var(--accent)}.soon-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);min-height:300px;background:var(--paper-dark);border:2px dashed var(--ink-faded)}.soon-placeholder h2{font-family:var(--font-serif);font-size:1.75rem;color:var(--ink);margin:0}.soon-placeholder p{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--ink-faded);margin:0}.soon-placeholder .coming-soon-text{font-size:1rem;opacity:.6}.converter-notice{grid-column:1 / -1;padding:var(--space-sm) var(--space-md);background:var(--paper-dark);border-left:3px solid var(--accent);margin-bottom:calc(-1 * var(--space-md))}.converter-notice p{font-size:.85rem;color:var(--ink-light);font-style:italic}.section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.section-header h2:before{content:"";display:inline-block;width:1rem;height:2px;margin-right:var(--space-sm);vertical-align:middle;background:var(--accent)}.section-header h2{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light)}.badge{font-family:var(--font-mono);font-size:.7rem;font-weight:500;background:var(--ink);color:var(--paper);padding:.15em .5em;border-radius:2px}.about-page{grid-column:1 / -1}.about-page h1{font-family:var(--font-serif);font-size:2rem;font-weight:400;font-style:italic;color:var(--ink);margin-bottom:var(--space-md)}.about-page .content-section:first-child{border-top:none;padding-top:0}.content-section{grid-column:1 / -1;padding:var(--space-lg) 0;border-top:var(--border-light)}.content-section>h2{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;font-style:italic;color:var(--ink);margin-bottom:var(--space-md)}.content-section p{color:var(--ink-light);line-height:1.7;max-width:65ch}.feature-list,.steps-list{color:var(--ink-light);line-height:1.8;padding-left:var(--space-lg)}.feature-list li,.steps-list li{margin-bottom:var(--space-sm)}.feature-list li strong,.steps-list li strong{color:var(--ink)}.faq-item{border-bottom:var(--border-light);padding:var(--space-md) 0}.faq-item:last-child{border-bottom:none}.faq-item summary{font-weight:500;color:var(--ink);cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-sm)}.faq-item summary:before{content:"+";font-family:var(--font-mono);font-size:1.2rem;color:var(--accent);transition:transform .2s}.faq-item[open] summary:before{content:"−"}.faq-item p{margin-top:var(--space-sm);padding-left:var(--space-lg);color:var(--ink-light);line-height:1.7}.footer{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding-top:var(--space-lg);border-top:var(--border-light);font-size:.8rem;color:var(--ink-faded);text-align:center}.footer-links{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.footer-links span{color:var(--ink-faded)}.footer a{color:var(--ink-light);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.footer a:is(:hover,:focus-visible){border-color:var(--accent)}.layout a:not(.nav-tab,.nav-subtab):is(:hover,:focus-visible){color:var(--accent)}.hidden{display:none!important}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dropzone-wrapper{position:relative}.dropzone{position:relative;display:block;width:100%;border:2px dashed var(--ink-faded);background:var(--paper-dark);padding:var(--space-2xl) var(--space-lg);cursor:pointer;color:inherit;font:inherit;text-align:center;transition:background-color .2s ease,border-color .2s ease;outline:none}.dropzone:before{content:"";position:absolute;inset:4px;border:1px dashed transparent;pointer-events:none;transition:border-color .2s}.dropzone:hover,.dropzone:focus-visible{border-color:var(--ink);background:var(--paper)}.dropzone:focus-visible{outline-color:var(--accent)}.dropzone.dragover{border-color:var(--accent);border-style:solid;background:var(--paper)}.dropzone.dragover:before{border-color:var(--accent)}.dropzone-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.dropzone-icon{width:48px;height:48px;color:var(--ink-faded);transition:color .2s,transform .2s}.dropzone:hover .dropzone-icon,.dropzone.dragover .dropzone-icon{color:var(--ink);transform:translateY(-2px)}.dropzone-text{text-align:center}.dropzone-primary{display:block;font-size:1.1rem;font-weight:700;color:var(--ink)}.dropzone-secondary{display:block;font-size:.85rem;color:var(--ink-faded);margin-top:var(--space-xs)}.options-stack{display:flex;flex-direction:column;gap:var(--space-md);width:100%}.device-panel,.options-panel{background:var(--paper-dark);padding:var(--space-lg);border:var(--border-light);align-self:start;width:100%}.device-panel{padding:var(--space-md) var(--space-lg)}.device-panel .section-header{margin-bottom:var(--space-sm)}.device-control{display:flex;flex-direction:column;gap:var(--space-xs)}.device-select{width:100%;min-height:2.25rem;padding:var(--space-xs) var(--space-sm);border:var(--border-light);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:.75rem;font-weight:600;line-height:1.4;cursor:pointer;transition:background-color .15s,border-color .15s}.device-select:hover{background:var(--control-hover);border-color:var(--ink)}.device-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.device-notice-slot:empty,.spread-notice-slot:empty{display:none}.spread-notice-slot:not(:empty){margin-top:var(--space-sm)}.info-note{margin:0;padding:var(--space-sm);border-left:2px solid var(--accent);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:.7rem;line-height:1.5}.option{margin-bottom:var(--space-md)}.option:last-child{margin-bottom:0}.option label{display:block;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faded);margin-bottom:var(--space-xs)}.option select,.option input:not([type=checkbox]){width:100%;padding:var(--space-sm) var(--space-sm);font-family:var(--font-mono);font-size:.85rem;background:var(--paper);border:var(--border);color:var(--ink);cursor:pointer;transition:background-color .15s}.option select:hover,.option input:not([type=checkbox]):hover{background:var(--control-hover)}.option select:focus-visible,.option input:not([type=checkbox]):focus-visible{outline:2px solid var(--accent);outline-offset:1px}.option-checkbox .checkbox-label{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:0;font-size:.8rem;font-weight:500;color:var(--ink);text-transform:none;letter-spacing:0;cursor:pointer}.option-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--ink);cursor:pointer}.option-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.input-with-unit{display:flex;align-items:stretch}.input-with-unit input{border-right:none;flex:1}.input-with-unit .unit{display:flex;align-items:center;padding:0 var(--space-sm);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.8rem;font-weight:500}.options-actions{margin-top:var(--space-md)}.btn-advanced{width:100%;padding:var(--space-sm) var(--space-md);background:var(--ink);color:var(--paper);border:var(--border);font-family:var(--font-mono);font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s}.btn-advanced:hover{background:var(--ink-light);color:var(--paper)}.advanced-group{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-light)}.file-list{margin-top:calc(-1 * var(--space-md))}.files-grid{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.file-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--paper-dark);border-left:3px solid var(--ink)}.file-item .name{flex:1;font-family:var(--font-mono);font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item .size{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-faded)}.file-item .remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--ink-faded);font-size:1.2rem;cursor:pointer;transition:color .15s}.file-item .remove:hover{color:var(--accent)}.btn-convert{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--ink);color:var(--paper);border:none;font-family:var(--font-display);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background-color .15s,transform .1s}.btn-convert svg{width:18px;height:18px;transition:transform .2s}.btn-convert:hover:not(:disabled){background:var(--accent)}.btn-convert:hover:not(:disabled) svg{transform:translate(4px)}.btn-convert:active:not(:disabled){transform:scale(.98)}.btn-convert:disabled{opacity:.5;cursor:not-allowed}.progress-section{padding:var(--space-lg);background:var(--paper-dark);border:var(--border)}.progress-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-sm)}.progress-text{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-light)}.progress-percent{font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:var(--ink)}.progress-track{height:4px;background:var(--paper);border:1px solid var(--ink-faded);overflow:hidden}.progress-fill{height:100%;width:0%;background:var(--ink);transition:width .3s ease-out}.preview-container{margin-top:var(--space-lg);display:flex;justify-content:center}.preview-container img{max-height:300px;border:var(--border);box-shadow:8px 8px 0 var(--ink)}.results-section{padding-top:var(--space-md)}.results-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.result-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:var(--paper-dark);border:var(--border-light);border-left:3px solid var(--ink)}.result-item>div:first-child{min-width:0}.result-item .name{display:block;font-family:var(--font-mono);font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.result-item .info{font-size:.8rem;color:var(--ink-faded);margin-top:var(--space-xs)}.result-item.error{border-color:var(--accent);border-left-width:4px}.result-item.error .name{color:var(--accent)}.result-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs);flex-shrink:0}.btn-preview,.btn-download{padding:var(--space-sm) var(--space-md);background:var(--paper);border:var(--border);color:var(--ink);font-family:var(--font-mono);font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;white-space:nowrap}.btn-preview:hover,.btn-download:hover{background:var(--ink);color:var(--paper)}.btn-remove-result{width:30px;height:30px;margin-left:var(--space-xs);padding:0;background:transparent;border:var(--border-light);color:var(--ink-faded);font-family:var(--font-mono);font-size:1.1rem;line-height:1;cursor:pointer;flex:0 0 auto;transition:background-color .15s,color .15s,border-color .15s}.btn-remove-result:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.viewer-section{grid-column:1 / -1;background:var(--ink);margin:0 calc(-1 * var(--space-lg));padding:var(--space-lg);position:relative;z-index:var(--z-overlay)}@media(min-width:768px){.viewer-section{margin:0 calc(-1 * var(--space-2xl));padding:var(--space-xl) var(--space-2xl)}}.viewer-section .section-header h2{color:var(--paper-dark)}.viewer-section .badge{background:var(--paper);color:var(--ink)}.viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.viewer-controls{display:flex;align-items:center;gap:var(--space-xs)}.viewer-separator{width:1px;height:24px;background:var(--ink-faded);margin:0 var(--space-xs)}.viewer-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--ink-faded);color:var(--paper-dark);cursor:pointer;transition:all .15s}.viewer-btn svg{width:20px;height:20px}.viewer-btn:hover:not(:disabled){background:var(--paper);color:var(--ink);border-color:var(--paper)}.viewer-btn:disabled{opacity:.3;cursor:not-allowed}.viewer-btn-close{margin-left:var(--space-sm);border-color:var(--accent);color:var(--accent)}.viewer-btn-close:hover{background:var(--accent)!important;color:var(--paper)!important;border-color:var(--accent)!important}.viewer-container{position:relative;overflow:hidden;background:var(--ink);border:1px solid var(--ink-light)}.viewer-track{display:flex;transition:transform .4s ease-out}.viewer-page{flex:0 0 100%;display:flex;align-items:center;justify-content:center;padding:var(--space-md);min-height:400px}.viewer-page img{max-width:100%;max-height:70vh;object-fit:contain;image-rendering:pixelated;transition:transform .3s ease}.viewer-section.rotated .viewer-page img{transform:rotate(-90deg);max-width:70vh;max-height:100%}.viewer-thumbnails{margin-top:var(--space-md);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--ink-light) transparent}.viewer-thumbnails::-webkit-scrollbar{height:6px}.viewer-thumbnails::-webkit-scrollbar-track{background:transparent}.viewer-thumbnails::-webkit-scrollbar-thumb{background:var(--ink-light)}.thumbnail-track{display:flex;gap:var(--space-xs);padding:var(--space-xs) 0}.thumbnail{flex:0 0 auto;width:60px;height:100px;background:var(--ink);border:2px solid transparent;cursor:pointer;opacity:.6;transition:all .15s;overflow:hidden}.thumbnail:hover{opacity:1}.thumbnail.active{border-color:var(--paper);opacity:1}.thumbnail img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.mode-toggle{display:flex;gap:var(--space-xs);justify-content:center;padding:var(--space-sm);background:var(--paper-dark);border:var(--border-light)}.mode-toggle button{flex:1;max-width:150px;padding:var(--space-sm) var(--space-lg);background:var(--paper);border:var(--border);font-family:var(--font-mono);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.mode-toggle button:hover:not(.active){background:var(--paper-dark)}.mode-toggle button.active{background:var(--ink);color:var(--paper)}.type-badge{font-family:var(--font-mono);font-size:.65rem;font-weight:600;background:var(--accent);color:var(--paper);padding:.15em .5em;border-radius:2px;margin-left:auto}.type-error{padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--paper);margin-bottom:var(--space-md)}.type-error p{font-size:.85rem;margin:0}.page-info{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-light);padding:var(--space-sm) var(--space-md);background:var(--paper);border:var(--border-light);margin-top:var(--space-sm)}.help-text{display:block;font-size:.75rem;color:var(--ink-faded);margin-top:var(--space-xs)}.action-section{margin-top:var(--space-md)}.action-section .help-text{text-align:center;margin-top:var(--space-sm)}.download-all{margin-top:var(--space-md);text-align:center}.btn-download-all{padding:var(--space-sm) var(--space-lg);background:var(--ink);color:var(--paper);border:none;font-family:var(--font-mono);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s}.btn-download-all:hover{background:var(--accent)}.output-info{display:flex;flex-direction:column;gap:var(--space-xs)}.output-format-badge{display:inline-block;font-family:var(--font-mono);font-size:.85rem;font-weight:600;background:var(--ink);color:var(--paper);padding:var(--space-sm);text-align:center}.output-hint{font-size:.75rem;color:var(--ink-faded);font-style:italic}.output-preview{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--paper);border:var(--border-light);font-size:.85rem;color:var(--ink-light)}.output-preview strong{color:var(--ink)}.result-item{position:relative}.result-item.selected{border-color:var(--accent)}.result-checkbox{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:pointer;flex-shrink:0}.result-checkbox input{position:absolute;opacity:0;width:0;height:0}.result-checkbox .checkmark{width:18px;height:18px;border:2px solid var(--ink-faded);background:var(--paper);transition:all .15s}.result-checkbox input:checked+.checkmark{background:var(--ink);border-color:var(--ink)}.result-checkbox input:checked+.checkmark:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}.result-checkbox:hover .checkmark{border-color:var(--ink)}.result-info{flex:1;min-width:0}.btn-select-all{margin-left:auto;padding:var(--space-xs) var(--space-sm);background:none;border:var(--border-light);font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faded);cursor:pointer;transition:all .15s}.btn-select-all:hover{border-color:var(--ink);color:var(--ink)}.results-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap}.btn-move-converter{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--paper);border:none;font-family:var(--font-mono);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s}.btn-move-converter svg{width:16px;height:16px}.btn-move-converter:hover{background:var(--accent-hover)}.converter-hint{margin-top:var(--space-sm);font-size:.8rem;color:var(--ink-faded);font-style:italic}.transfer-notice{grid-column:1 / -1;padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--paper);margin-bottom:calc(-1 * var(--space-md));animation:fadeIn .3s ease}.transfer-notice p{font-size:.85rem;margin:0;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.recovered-notice{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--ink);color:var(--paper);margin-bottom:calc(-1 * var(--space-md));animation:fadeIn .3s ease}.recovered-notice p{font-size:.85rem;margin:0;font-weight:500}.recovered-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.btn-dismiss,.btn-clear-all{padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid var(--paper);color:var(--paper);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;transition:all .15s}.btn-dismiss:hover{background:var(--paper);color:var(--ink)}.btn-clear-all{border-color:var(--accent);color:var(--accent)}.btn-clear-all:hover{background:var(--accent);color:var(--paper)}.btn-clear-results{margin-left:auto;padding:var(--space-xs) var(--space-sm);background:none;border:var(--border-light);font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faded);cursor:pointer;transition:all .15s}.btn-clear-results:hover{border-color:var(--accent);color:var(--accent)}.results-header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end}.results-header-actions .btn-clear-results{margin-left:0}.btn-download-results-zip{padding:var(--space-xs) var(--space-sm);background:var(--ink);border:1px solid var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.7rem;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:var(--space-xs)}.btn-download-results-zip:hover{background:var(--accent);border-color:var(--accent)}.btn-download-results-zip:disabled{cursor:default}.btn-download-results-zip.loading{opacity:.92}.btn-download-results-zip-spinner{width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.metadata-page{grid-column:1 / -1;padding-top:0;border-top:0}.metadata-page>.converter-notice{margin-bottom:var(--space-xl)}.metadata-page .dropzone{min-height:300px;display:grid;place-items:center}.metadata-status{margin:var(--space-md) 0;font-style:italic;color:var(--ink-faded)}.metadata-editor{display:flex;flex-direction:column;gap:var(--space-lg)}.metadata-card{background:var(--paper-dark);border:var(--border-light);border-top:2px solid var(--ink);padding:var(--space-lg)}.metadata-card h3{margin-bottom:var(--space-md);color:var(--ink-light);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.metadata-actions{margin-top:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-sm)}.metadata-fields{display:flex;flex-direction:column;gap:var(--space-md)}.metadata-fields label strong{display:block;color:var(--ink-faded);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.metadata-fields input,.metadata-chapter-row input{width:100%;margin-top:var(--space-xs);padding:var(--space-sm);background:var(--paper);border:var(--border-light);color:var(--ink);font-family:var(--font-mono);font-size:.85rem}.metadata-fields input:focus-visible,.metadata-chapter-row input:focus-visible{border-color:var(--accent)}.metadata-chapter-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.metadata-chapter-header h3{margin-bottom:0}.metadata-empty{color:var(--ink-faded);font-style:italic}.metadata-chapters{display:flex;flex-direction:column;gap:var(--space-sm)}.metadata-chapter-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-end;background:var(--paper);border:var(--border-light);padding:var(--space-md)}.metadata-chapter-row label{min-width:82px;flex:0 0 auto;font-size:.75rem;font-weight:600;color:var(--ink-faded);text-transform:uppercase;letter-spacing:.04em}.metadata-chapter-row .chapter-title-input{flex:1 1 220px}.chapter-controls{display:flex;gap:var(--space-xs);margin-left:auto}.chapter-controls .btn-preview[disabled]{opacity:.45;cursor:not-allowed}.chapter-controls .btn-delete-meta{border-color:var(--accent);color:var(--accent)}.chapter-controls .btn-delete-meta:hover{background:var(--accent);color:var(--paper)}@media(max-width:600px){.result-item{align-items:flex-start;flex-direction:column}.result-actions{width:100%;justify-content:flex-start}.btn-remove-result{margin-left:auto}.metadata-card{padding:var(--space-md)}.metadata-actions .btn-clear-results{margin-left:0}.metadata-chapter-row label,.metadata-chapter-row .chapter-title-input{flex:1 1 100%}.chapter-controls{width:100%;margin-left:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.header{animation:fadeUp .5s ease-out}.dropzone-wrapper{animation:fadeUp .5s ease-out .1s both}.device-panel{animation:fadeUp .5s ease-out .16s both}.options-panel{animation:fadeUp .5s ease-out .24s both}.file-item{animation:slideIn .3s ease-out both}.file-item:nth-child(1){animation-delay:0s}.file-item:nth-child(2){animation-delay:.05s}.file-item:nth-child(3){animation-delay:.1s}.file-item:nth-child(4){animation-delay:.15s}.file-item:nth-child(5){animation-delay:.2s}.result-item{animation:fadeUp .4s ease-out both}.result-item:nth-child(1){animation-delay:0s}.result-item:nth-child(2){animation-delay:.08s}.result-item:nth-child(3){animation-delay:.16s}.result-item:nth-child(4){animation-delay:.24s}.progress-section:not(.hidden){animation:fadeIn .3s ease-out}.progress-section.processing .progress-text:after{content:"";animation:pulse 1.5s ease-in-out infinite}.preview-container img{animation:fadeUp .4s ease-out}.dropzone.dragover .dropzone-icon{animation:bounce .4s ease}@keyframes bounce{0%,to{transform:translateY(-2px)}50%{transform:translateY(-8px)}}.btn-convert.loading{pointer-events:none;position:relative}.btn-convert.loading span{opacity:0}.btn-convert.loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--paper);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.file-list:not(.hidden),.results-section:not(.hidden),.viewer-section:not(.hidden){animation:fadeUp .4s ease-out}@keyframes focusRing{0%{outline-offset:0}50%{outline-offset:3px}to{outline-offset:1px}}.dropzone:focus-visible{animation:focusRing .3s ease-out forwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
