@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#20211e;--paper:#f3f0e7;--orange:#ff5b35;--lime:#c7e64b;--line:#d6d1c4;--muted:#75756e;--white:#fffdf7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans KR',sans-serif}.site-header{position:sticky;top:0;z-index:100;background:rgba(243,240,231,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(32,33,30,.1)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;letter-spacing:-.6px;font-weight:500}.brand b{font-weight:800}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:var(--lime);border-radius:50%;font-weight:800;font-style:italic}.nav-link-custom{text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:600;padding:10px 14px}.btn-upload{background:var(--orange);color:#fff;text-decoration:none;border-radius:99px;padding:10px 18px;font-weight:700;font-size:.88rem}.btn-upload span{font-size:1.15rem}.hero{min-height:420px;display:flex;align-items:flex-end;justify-content:space-between;padding-top:70px;padding-bottom:56px;background:linear-gradient(115deg,var(--lime) 0 57%,var(--ink) 57%);clip-path:polygon(0 0,100% 0,100% 91%,0 100%)}.hero-copy .eyebrow,.page-kicker{font-size:.72rem;font-weight:800;letter-spacing:2px;margin-bottom:18px}.hero h1,.upload-page h1{font-size:clamp(3.1rem,7vw,6.7rem);font-weight:800;line-height:.88;letter-spacing:-.075em;margin:0}.hero h1 em,.upload-page h1 em{color:var(--orange);font-style:normal}.hero p{font-size:1rem;line-height:1.8;margin:26px 0 0;color:#414239}.stats-panel{color:#fff;display:grid;grid-template-columns:repeat(3,1fr);width:37%;margin-bottom:35px}.stats-panel div{border-left:1px solid #4d4e48;padding-left:25px}.stats-panel strong{display:block;font-size:clamp(2rem,4vw,4rem);line-height:1;font-weight:500;letter-spacing:-.06em}.stats-panel span{display:block;margin-top:10px;color:#a4a49d;font-size:.8rem}.library-wrap{padding-top:42px;padding-bottom:60px}.search-panel{background:var(--white);padding:12px;border:1px solid var(--line);box-shadow:7px 7px 0 var(--ink)}.search-line{display:flex;height:58px;align-items:center;border-bottom:1px solid var(--line)}.search-icon{font-size:2rem;padding:0 15px;transform:rotate(-15deg)}.search-line input{border:0;outline:0;background:transparent;flex:1;font-size:1rem;min-width:0}.search-line button{height:40px;border:0;background:var(--ink);color:#fff;padding:0 30px;font-weight:700}.filters{display:flex;gap:8px;padding-top:12px;flex-wrap:wrap}.filters select{border:1px solid var(--line);background:#f8f5ed;border-radius:0;padding:9px 33px 9px 12px;color:var(--ink);font-size:.84rem}.check-filter{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:7px 12px;font-size:.84rem;cursor:pointer}.check-filter input{accent-color:var(--orange)}.filter-reset{margin-left:auto;align-self:center;color:var(--muted);font-size:.8rem}.section-head,.files-head{display:flex;justify-content:space-between;align-items:end;margin:64px 0 24px}.section-head span,.files-head span,.panel-title span{font-size:.65rem;letter-spacing:2px;font-weight:800;color:var(--orange)}.section-head h2,.files-head h2,.panel-title h2{font-size:1.65rem;margin:4px 0 0;font-weight:800;letter-spacing:-.04em}.section-head p{font-size:.8rem;color:var(--muted)}.book-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:38px 18px}.book-card{display:block;color:inherit;text-decoration:none;min-width:0}.cover{height:0;padding-bottom:145%;position:relative;background:#dedbd2;overflow:hidden;border:1px solid rgba(32,33,30,.2);transition:transform .25s,box-shadow .25s}.book-card:hover .cover{transform:translateY(-6px) rotate(-.4deg);box-shadow:8px 9px 0 var(--ink)}.cover img{position:absolute;width:100%;height:100%;object-fit:cover}.cover-fallback{background:var(--ink);padding:19px;color:#fff;display:flex;flex-direction:column}.cover-type{color:var(--lime);font-size:.62rem;letter-spacing:2px;font-weight:800}.cover-title{font-size:clamp(1.1rem,1.7vw,1.65rem);font-weight:800;line-height:1.25;word-break:keep-all;margin:auto 0;letter-spacing:-.05em}.cover-line{height:5px;background:var(--orange);width:40%;margin-bottom:5px}.badges-top{position:absolute;top:10px;right:10px;display:flex;gap:5px}.badge-new,.badge-adult{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;font-size:.65rem;font-weight:800;background:var(--orange);color:#fff}.badge-adult{background:var(--ink);border:1px solid #fff}.type-tag{position:absolute;bottom:0;right:0;padding:6px 9px;background:var(--lime);font-size:.55rem;font-weight:800;letter-spacing:1px;color:var(--ink)}.type-tag.scan{background:#8fd9d1}.type-tag.webtoon{background:var(--orange);color:#fff}.book-info{padding:14px 2px 0}.status-row{display:flex;align-items:center;gap:6px}.status{font-size:.58rem;border:1px solid;padding:3px 5px;font-weight:700}.status.complete{background:var(--ink);color:#fff}.status.ongoing{border-color:#aaa}.status.missing{border-color:var(--orange);color:var(--orange)}.file-count{margin-left:auto;font-size:.58rem;color:var(--muted);letter-spacing:.5px}.book-info h3{font-size:1rem;font-weight:700;margin:10px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.04em}.book-info p{font-size:.77rem;color:var(--muted);margin:0}.card-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:11px;padding-top:9px;font-size:.66rem;color:var(--muted)}.card-bottom b{color:var(--orange);font-size:1rem}.empty-state{text-align:center;padding:100px 20px;border:1px dashed #aaa}.empty-shape{margin:auto;width:70px;height:70px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:2rem}.empty-state h3{margin:22px 0 8px;font-weight:800}.empty-state p{color:var(--muted)}.empty-state a{color:var(--orange);font-weight:700}.pagination-wrap{display:flex;justify-content:center;gap:6px;margin-top:60px}.pagination-wrap a{width:42px;height:42px;display:grid;place-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);font-size:.8rem}.pagination-wrap .active{background:var(--ink);color:#fff;border-color:var(--ink)}.pagination-wrap .disabled{opacity:.3;pointer-events:none}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}.footer span{font-weight:800;color:var(--ink)}.toast-stack{position:fixed;top:75px;right:20px;z-index:1000;max-width:440px}.toast-stack .alert{font-size:.85rem;border-radius:0}.upload-page,.detail-page{padding-top:70px;padding-bottom:100px;max-width:1400px}.upload-page h1{max-width:950px}.page-intro{color:var(--muted);font-size:1.05rem;margin:28px 0 42px}.upload-form{max-width:1100px}.dropzone{height:280px;border:2px dashed #96978f;background:rgba(255,255,255,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.dropzone:hover{background:var(--lime);border-color:var(--ink)}.dropzone input{position:absolute;opacity:0;pointer-events:none}.drop-icon{width:65px;height:65px;background:var(--ink);color:var(--lime);display:grid;place-items:center;border-radius:50%;font-size:2rem;margin-bottom:18px}.dropzone strong{font-size:1.2rem}.dropzone small{margin-top:8px;color:var(--muted)}.file-preview{margin-top:12px}.preview-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;background:var(--white);border-bottom:1px solid var(--line);padding:13px 16px}.preview-index{font-weight:800;color:var(--orange)}.preview-row strong,.preview-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-row small{color:var(--muted);font-size:.7rem}.preview-row em{font-style:normal;color:var(--muted);font-size:.75rem}.override-panel{margin-top:35px;border-top:3px solid var(--ink);background:var(--white);padding:24px}.panel-title{margin-bottom:22px}.form-label{font-size:.8rem;font-weight:700}.form-label small{font-weight:400;color:var(--muted)}.form-control,.form-select{border-radius:0;border-color:var(--line);padding:.75rem}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px rgba(199,230,75,.45);border-color:var(--ink)}.switch-label{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700}.switch-label input{display:none}.switch-label span{width:34px;height:19px;border-radius:99px;background:#cbc9c1;position:relative}.switch-label span:after{content:'';position:absolute;width:13px;height:13px;top:3px;left:3px;background:#fff;border-radius:50%;transition:.2s}.switch-label input:checked+span{background:var(--orange)}.switch-label input:checked+span:after{left:18px}.upload-notice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:20px 0;color:var(--muted);font-size:.78rem}.upload-notice b{color:var(--ink)}.upload-notice code{background:#dfddd5;color:var(--ink);padding:5px 8px}.submit-upload{width:100%;border:0;background:var(--orange);color:#fff;height:64px;font-weight:800;letter-spacing:.5px;box-shadow:7px 7px 0 var(--ink)}.loading-text{display:none}.is-loading .ready-text{display:none}.is-loading .loading-text{display:inline}.loading-text i{display:inline-block;width:15px;height:15px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.back-link{color:var(--ink);font-size:.8rem;font-weight:700;text-decoration:none}.detail-hero{display:grid;grid-template-columns:270px 1fr;gap:55px;margin-top:35px;align-items:center}.detail-cover{aspect-ratio:2/3;border:1px solid var(--ink);background:#ddd;overflow:hidden;box-shadow:10px 10px 0 var(--lime)}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-cover.cover-fallback{padding:24px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.detail-cover span{font-size:.7rem;letter-spacing:2px;color:var(--lime)}.detail-cover strong{font-size:1.7rem;line-height:1.3}.detail-tags{display:flex;gap:7px}.detail-tags span{font-size:.65rem;font-weight:800;border:1px solid;padding:5px 7px}.detail-tags .adult{background:var(--orange);color:#fff;border-color:var(--orange)}.detail-meta h1{font-size:clamp(2.4rem,5vw,5rem);font-weight:800;letter-spacing:-.07em;line-height:1.02;margin:17px 0 8px}.detail-author{color:var(--muted)}.detail-meta dl{display:flex;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:30px}.detail-meta dl div{min-width:120px}.detail-meta dt{font-size:.66rem;color:var(--muted);margin-bottom:5px}.detail-meta dd{font-size:.85rem;font-weight:700;margin:0}.missing-callout{display:flex;gap:15px;margin-top:18px;background:#ffe0d9;padding:12px 15px;font-size:.8rem}.missing-callout b{color:var(--orange)}.files-head small{color:var(--muted)}.file-list{border-top:2px solid var(--ink)}.file-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);padding:17px 10px}.volume-no{font-weight:800;color:var(--orange)}.file-main strong,.file-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-main strong{font-size:.9rem}.file-main span{font-size:.7rem;color:var(--muted);margin-top:3px}.send-btn{background:transparent;border:1px solid var(--ink);padding:8px 14px;font-weight:700;font-size:.75rem}.send-btn:hover{background:var(--ink);color:#fff}.custom-modal{border-radius:0;border:0;background:var(--paper)}.custom-modal .modal-header,.custom-modal .modal-footer{border-color:var(--line);padding:22px}.custom-modal .modal-header small{color:var(--orange);font-weight:800;letter-spacing:2px}.custom-modal h2{font-size:1.5rem;font-weight:800;margin:3px 0}.custom-modal .modal-body{padding:25px}.custom-modal .modal-body p{font-weight:700;background:var(--white);padding:12px}.custom-modal .modal-body label{display:block;font-size:.75rem;font-weight:700;margin:18px 0 7px}.custom-modal .modal-body label small{color:var(--muted);font-weight:400}.btn-cancel,.btn-send{border:0;padding:10px 19px;font-weight:700}.btn-cancel{background:transparent}.btn-send{background:var(--orange);color:#fff}
@media(max-width:1100px){.book-grid{grid-template-columns:repeat(4,1fr)}.hero{background:linear-gradient(115deg,var(--lime) 0 62%,var(--ink) 62%)}.stats-panel{width:34%;grid-template-columns:1fr}.stats-panel div{margin:8px 0}.stats-panel strong{font-size:2rem}.stats-panel span{display:inline;margin-left:7px}.detail-hero{grid-template-columns:220px 1fr}}
@media(max-width:700px){.nav-link-custom{display:none}.hero{min-height:560px;display:block;padding-top:70px;background:linear-gradient(160deg,var(--lime) 0 66%,var(--ink) 66%);clip-path:none}.hero h1{font-size:3.7rem}.stats-panel{width:100%;grid-template-columns:repeat(3,1fr);margin-top:100px}.stats-panel div{padding-left:10px}.stats-panel strong{font-size:1.7rem}.stats-panel span{display:block;margin-left:0}.book-grid{grid-template-columns:repeat(2,1fr);gap:30px 12px}.filters select{width:calc(50% - 4px)}.check-filter{width:100%;justify-content:center}.filter-reset{margin:auto}.search-line button{padding:0 18px}.section-head{margin-top:45px}.footer small{display:none}.upload-page,.detail-page{padding-top:45px}.upload-page h1{font-size:3.3rem}.dropzone{height:230px;text-align:center;padding:20px}.preview-row{grid-template-columns:35px minmax(0,1fr)}.preview-row em{grid-column:2}.detail-hero{grid-template-columns:1fr;gap:38px}.detail-cover{width:190px}.detail-meta dl{gap:18px;flex-wrap:wrap}.file-row{grid-template-columns:62px minmax(0,1fr);gap:8px}.send-btn{grid-column:2;justify-self:start}.files-head small{display:none}}

.upload-card{appearance:none;border:0;background:transparent;padding:0;text-align:left;width:100%;font-family:inherit}.upload-cover{height:0;padding:0 18px 145%;background:var(--lime);color:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.upload-cover>span{position:absolute;top:18px;right:18px;width:42px;height:42px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:1.65rem}.upload-cover strong{position:absolute;left:18px;bottom:64px;font-size:1.4rem;line-height:1.12;letter-spacing:-.05em}.upload-cover small{position:absolute;left:18px;bottom:22px;font-size:.62rem;font-weight:700}.demo-card{cursor:default}.demo-card .card-bottom b{display:none}.upload-modal .dropzone{height:240px}.instant-dropzone.is-dragging{background:var(--lime);border-style:solid;transform:scale(.99)}.instant-progress{display:none;min-height:240px;background:var(--ink);color:#fff;flex-direction:column;align-items:center;justify-content:center;text-align:center}.instant-progress i{width:38px;height:38px;border:3px solid #666;border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:18px}.instant-progress strong{font-size:1.05rem}.instant-progress small{color:#aaa;margin-top:7px}.is-uploading .instant-dropzone{display:none}.is-uploading .instant-progress{display:flex}.page-progress{min-height:150px;margin-top:20px}.btn-upload{cursor:pointer}

/* Upload modal */
.modal-backdrop.show{opacity:.72}.upload-modal{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#f7f4ec;box-shadow:0 30px 90px rgba(0,0,0,.38)}.upload-modal .modal-header{position:relative;align-items:flex-start;padding:26px 28px 24px;background:var(--ink);color:#fff;border:0}.upload-modal .modal-header:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--orange) 0 34%,var(--lime) 34% 100%)}.upload-modal-heading{display:flex;align-items:center;gap:16px}.upload-heading-icon{flex:0 0 auto;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-size:1.55rem;font-weight:800}.upload-modal .modal-header small{display:block;color:var(--orange);font-size:.62rem;letter-spacing:2.2px;font-weight:800;margin-bottom:3px}.upload-modal .modal-header h2{margin:0;font-size:1.55rem;letter-spacing:-.04em}.upload-modal .modal-header p{margin:5px 0 0;color:#aaa;font-size:.76rem}.upload-modal .btn-close{margin:2px 0 0;filter:invert(1);opacity:.65}.upload-modal .btn-close:hover{opacity:1}.upload-modal .modal-body{padding:26px 28px 28px}.upload-settings{padding:18px;background:#fffdf8;border:1px solid var(--line);border-radius:14px}.upload-modal .upload-field-label{display:flex;justify-content:space-between;margin:0 0 8px;font-size:.74rem;font-weight:800;color:var(--ink)}.upload-modal .upload-field-label small{font-weight:500;color:#a09e97}.upload-modal .form-control,.upload-modal .form-select{height:46px;border-radius:9px;background:#f8f6f0;border-color:#d8d3c7;font-size:.84rem}.upload-option-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.upload-modal .upload-option{display:flex;align-items:center;gap:10px;margin:0;padding:11px 12px;border:1px solid #d8d3c7;border-radius:10px;background:#f8f6f0;cursor:pointer;transition:.18s}.upload-option input{position:absolute;opacity:0;pointer-events:none}.option-check{flex:0 0 auto;width:24px;height:24px;border:1.5px solid #aaa79e;border-radius:7px;display:grid;place-items:center;color:transparent;background:#fff;font-size:.7rem;font-weight:900;transition:.18s}.option-copy{display:flex;flex-direction:column;min-width:0}.option-copy strong{font-size:.76rem;line-height:1.25}.option-copy small{font-size:.62rem;color:#8d8a82;margin-top:2px}.upload-option:has(input:checked){border-color:var(--orange);background:#fff0eb;box-shadow:0 0 0 1px var(--orange)}.upload-option input:checked+.option-check{border-color:var(--orange);background:var(--orange);color:#fff}.upload-option:focus-within{outline:3px solid rgba(199,230,75,.55)}.upload-modal .instant-dropzone{height:230px;margin-top:16px;padding:26px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1.5px dashed #9f9c92;border-radius:14px;background:#ece9df}.upload-modal .instant-dropzone:hover,.upload-modal .instant-dropzone.is-dragging{border-color:var(--ink);background:var(--lime)}.upload-modal .drop-icon{flex:0 0 auto;width:56px;height:56px;margin:0 0 14px;border-radius:18px;background:var(--ink);color:var(--lime);box-shadow:5px 5px 0 var(--orange)}.upload-modal .drop-icon b{font-size:1.55rem;line-height:1}.upload-modal .drop-copy{display:flex;flex-direction:column;align-items:center}.upload-modal .drop-copy strong{font-size:1.02rem;letter-spacing:-.025em}.upload-modal .drop-copy>span{font-size:.78rem;color:#6f6e68;margin-top:5px}.upload-modal .drop-copy u{color:var(--orange);font-weight:800;text-underline-offset:3px}.upload-modal .drop-copy small{font-size:.65rem;color:#98958d;margin-top:13px}.upload-footnote{display:flex;align-items:center;gap:9px;margin-top:14px;color:#77746d}.upload-footnote>span{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-size:.65rem;font-weight:900}.upload-footnote p{margin:0!important;padding:0!important;background:transparent!important;font-size:.67rem!important;font-weight:400!important}.upload-footnote strong{color:var(--ink)}.upload-modal .instant-progress{min-height:370px;border-radius:14px}.is-uploading .upload-settings,.is-uploading .upload-footnote{display:none}
@media(max-width:700px){.upload-modal{margin:10px;border-radius:18px}.upload-modal .modal-header{padding:20px}.upload-heading-icon{width:42px;height:42px}.upload-modal .modal-header p{display:none}.upload-modal .modal-body{padding:18px}.upload-option-row{grid-template-columns:1fr}.upload-modal .instant-dropzone{height:210px;padding:20px}.upload-modal .drop-copy strong{font-size:.92rem}}
.upload-modal .modal-body .upload-option{display:flex}
.upload-modal .modal-header{padding-right:78px}.upload-modal .btn-close{position:absolute;z-index:2;top:22px;right:24px;margin:0;width:34px;height:34px;padding:8px;border-radius:50%;background-color:rgba(255,255,255,.12);background-size:11px;opacity:.8}.upload-modal .btn-close:hover{background-color:rgba(255,255,255,.22);opacity:1}
.chunk-upload-dashboard{align-items:stretch!important;justify-content:flex-start!important;text-align:left!important;min-height:370px!important;padding:22px;background:var(--ink);border-radius:14px;overflow:hidden}.chunk-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #484943;padding-bottom:15px}.chunk-head small{display:block;color:var(--orange);font-size:.58rem;letter-spacing:2px;font-weight:800}.chunk-head strong{display:block;margin-top:3px;font-size:1.25rem}.chunk-head>b{color:var(--lime);font-size:.72rem}.chunk-overall{padding:18px 0 15px}.chunk-overall-copy{display:flex;align-items:baseline;justify-content:space-between}.chunk-overall-copy strong{font-size:1.6rem;color:var(--lime)}.chunk-overall-copy span{font-size:.7rem;color:#aaa}.chunk-track,.chunk-file-track{height:8px;background:#484943;overflow:hidden;margin-top:8px}.chunk-upload-dashboard .chunk-track i,.chunk-upload-dashboard .chunk-file-track i{display:block;width:0;height:100%;margin:0;border:0;border-radius:0;background:linear-gradient(90deg,var(--orange),var(--lime));animation:none;transition:width .12s linear}.chunk-metrics{display:flex;justify-content:space-between;margin-top:8px;color:#999;font-size:.65rem}.chunk-metrics b{color:#fff;font-weight:700}.chunk-queue{display:flex;flex-direction:column;gap:7px;max-height:280px;overflow:auto;padding-right:4px}.chunk-file-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:11px;align-items:center;background:#30312d;border:1px solid #484943;padding:10px 12px}.chunk-order{color:#777;font-size:.66rem;font-weight:800}.chunk-file-copy{min-width:0}.chunk-file-copy strong,.chunk-file-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chunk-file-copy strong{font-size:.72rem}.chunk-file-copy small{margin-top:2px!important;color:#999!important;font-size:.6rem}.chunk-file-track{height:3px;margin-top:7px}.chunk-file-row em{min-width:86px;text-align:right;color:#aaa;font-size:.62rem;font-style:normal;font-weight:800}.chunk-file-row.is-uploading{border-color:var(--lime)}.chunk-file-row.is-uploading em{color:var(--lime)}.chunk-file-row.is-done em{color:#a8dc75}.chunk-file-row.is-pending em{color:#ffc35b}.chunk-file-row.is-failed{border-color:#cb594b}.chunk-file-row.is-failed em{color:#ff7968}.chunk-finish{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;padding-top:15px;border-top:1px solid #484943}.chunk-finish strong{font-size:.76rem}.chunk-finish a{flex:0 0 auto;background:var(--orange);color:#fff;text-decoration:none;padding:9px 13px;font-size:.68rem;font-weight:800}.upload-modal .chunk-upload-dashboard{min-height:400px!important}.page-progress.chunk-upload-dashboard{max-width:1100px;min-height:360px!important}.is-uploading .override-panel,.is-uploading .upload-notice{display:none}
.has-upload-queue .instant-progress{display:flex}.has-upload-queue .instant-dropzone{display:flex}.has-upload-queue .upload-settings,.has-upload-queue .upload-footnote,.has-upload-queue .override-panel,.has-upload-queue .upload-notice,.has-upload-queue .file-preview{display:none}.has-upload-queue.waiting-for-destination .upload-settings,.has-upload-queue.waiting-for-destination .override-panel{display:block}.chunk-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px;border-bottom:1px solid #484943}.chunk-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:0;border-bottom:3px solid transparent;background:transparent;color:#999;font-size:.72rem;font-weight:850}.chunk-tabs button.active{border-bottom-color:var(--lime);color:#fff}.chunk-tabs button b{min-width:22px;padding:2px 6px;border-radius:99px;background:#484943;color:#fff;font-size:.62rem}.chunk-tabs button.active b{background:var(--lime);color:var(--ink)}.chunk-tab-panel{display:none;min-height:76px}.chunk-tab-panel.active{display:block}.chunk-tab-panel .chunk-queue{max-height:clamp(220px,32vh,340px);min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px;scrollbar-width:thin;scrollbar-color:#6b6d64 #30312d}.chunk-tab-panel .chunk-queue::-webkit-scrollbar{width:8px}.chunk-tab-panel .chunk-queue::-webkit-scrollbar-track{background:#30312d}.chunk-tab-panel .chunk-queue::-webkit-scrollbar-thumb{background:#6b6d64;border:2px solid #30312d}.chunk-tab-panel .chunk-empty{padding:26px 12px;text-align:center;color:#777;font-size:.7rem}.chunk-tab-panel .chunk-empty[hidden]{display:none}.chunk-file-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.chunk-file-actions{display:flex;justify-content:flex-end;gap:5px}.chunk-file-actions[hidden]{display:none}.chunk-file-actions button{border:1px solid #686a62;background:transparent;color:#ddd;padding:5px 8px;font-size:.58rem;font-weight:800;line-height:1;transition:.15s}.chunk-file-actions button:hover{border-color:var(--lime);color:var(--lime)}.chunk-file-actions .chunk-delete-btn{border-color:#8f5148;color:#ff8b7d}.chunk-file-actions .chunk-delete-btn:hover{border-color:#ff7968;background:#ff7968;color:var(--ink)}.chunk-complete-queue .chunk-file-row{border-color:#52643d;background:#2b3027}.chunk-complete-queue .chunk-file-track i{width:100%!important}.has-upload-queue .instant-dropzone{height:128px;margin-bottom:14px;flex-direction:row;gap:18px}.upload-modal .has-upload-queue .instant-dropzone{height:128px}.has-upload-queue .drop-icon{width:46px;height:46px;margin:0;box-shadow:3px 3px 0 var(--orange)}.has-upload-queue .drop-copy{align-items:flex-start}.has-upload-queue .drop-copy small{margin-top:5px}.modal-dialog-scrollable .upload-modal>.instant-upload-form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 3.5rem);overflow:hidden}.modal-dialog-scrollable .upload-modal .modal-header{flex:0 0 auto}.modal-dialog-scrollable .upload-modal .modal-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.chunk-finish{flex:0 0 auto}
@media(max-width:700px){.chunk-upload-dashboard{padding:16px}.chunk-file-row{grid-template-columns:25px minmax(0,1fr)}.chunk-file-side{grid-column:2;align-items:flex-start}.chunk-file-row em{text-align:left;min-width:0}.chunk-file-actions{justify-content:flex-start}.chunk-metrics{gap:10px}.chunk-finish{align-items:flex-start;flex-direction:column}.chunk-queue{max-height:230px}.modal-dialog-scrollable .upload-modal>.instant-upload-form{max-height:calc(100dvh - 20px)}}
.download-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #b8cf9a;background:#eef6e4;color:#315221;padding:8px 10px;text-decoration:none;font-size:.68rem;font-weight:850;white-space:nowrap}.download-btn:hover{background:#dff0ca;color:#223d16}.download-btn span{font-size:.9rem}.form-help{display:block;margin-top:6px;color:#777;font-size:.68rem}
.bulk-upload-btn{border:1px solid #168dcc;background:#168dcc;color:#fff;padding:8px 13px;font-size:.7rem;font-weight:800}.bulk-upload-btn:disabled{opacity:.3;cursor:not-allowed}
.chat-head-actions{display:flex;align-items:center;gap:10px}.chat-head-actions form{margin:0}.discover-chat-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #168dcc;background:#e8f7ff;color:#116d9e;padding:12px 16px;font-size:.75rem;font-weight:850;white-space:nowrap}.discover-chat-btn span{font-size:1rem}.bot-discovery-guide{display:flex;align-items:center;gap:15px;margin:28px 0 14px;padding:17px 19px;border-left:5px solid #168dcc;background:#e8f7ff}.bot-guide-icon{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#168dcc;color:#fff;font-size:.65rem;font-weight:900}.bot-discovery-guide b{font-size:.82rem}.bot-discovery-guide p{margin:4px 0 0;color:#4e6d7c;font-size:.7rem}.bot-discovery-guide a{color:#116d9e;font-weight:850}.bot-discovery-guide code{color:#d14e21;font-weight:800}@media(max-width:700px){.chat-head-actions{width:100%;align-items:stretch;flex-direction:column}.chat-head-actions button{width:100%}.bot-discovery-guide{align-items:flex-start}}
.missing-alert{position:absolute;z-index:2;left:0;bottom:0;display:flex;align-items:center;gap:5px;padding:7px 10px;background:var(--orange);color:#fff;font-size:.61rem;font-weight:800;letter-spacing:-.01em}.missing-alert b{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--orange);font-size:.58rem}.type-tag{z-index:3}.volume-summary{display:flex;align-items:center;gap:9px;margin-top:12px;padding:9px 10px;background:#e9e6dc;border-left:3px solid var(--lime)}.volume-summary span{display:flex;align-items:baseline;gap:5px}.volume-summary small{font-size:.58rem;color:var(--muted)}.volume-summary b{font-size:.75rem}.volume-summary i{font-style:normal;color:#aaa;font-size:.68rem}.card-bottom{align-items:center;gap:7px}.card-bottom>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-bottom .resolution{margin-left:auto;color:var(--ink);font-weight:700;white-space:nowrap;font-size:.6rem}.book-card .cover img{transition:transform .45s}.book-card:hover .cover img{transform:scale(1.035)}
@media(max-width:700px){.upload-modal .btn-close{top:17px;right:16px}.upload-modal .modal-header{padding-right:64px}.volume-summary{gap:5px;padding:7px 6px}.volume-summary small{display:none}.card-bottom{display:block}.card-bottom .resolution{display:block;margin-top:4px}.missing-alert{padding:5px 7px}}
.badges-top{left:10px;right:10px;justify-content:space-between;align-items:flex-start}.badge-new{order:1;background:var(--lime);color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.badge-adult{order:2;margin-left:auto;width:43px;height:43px;background:#e21432;color:#fff;border:3px solid #fff;box-shadow:0 0 0 2px #e21432,0 5px 14px rgba(176,0,26,.45);font-size:.69rem;letter-spacing:-.03em}.cover.is-adult{border:3px solid #e21432}.cover.is-adult:before{content:'ADULT';position:absolute;z-index:2;top:0;left:50%;transform:translateX(-50%);padding:4px 10px;background:#e21432;color:#fff;font-size:.5rem;font-weight:900;letter-spacing:1.4px}.status.adult-status{background:#e21432;border-color:#e21432;color:#fff;font-weight:900}.book-card:hover .cover.is-adult{box-shadow:8px 9px 0 #e21432}
.detail-actions{display:flex;align-items:center;gap:10px;margin-top:22px}.manage-primary,.manage-danger-link{border:0;padding:10px 16px;font-size:.75rem;font-weight:800}.manage-primary{background:var(--ink);color:#fff}.manage-danger-link{background:transparent;color:#d91631;border:1px solid #d91631}.file-actions{display:flex;gap:7px}.manage-file-btn{background:var(--lime);border:1px solid var(--ink);padding:8px 12px;font-size:.75rem;font-weight:800}.manage-file-btn span{margin-left:4px;letter-spacing:1px}.manage-modal{overflow:hidden;border:0;border-radius:16px;background:#f5f2e9}.manage-modal .modal-header{position:relative;padding:23px 25px;background:var(--ink);color:#fff;border:0}.manage-modal .modal-header:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:4px;background:var(--lime)}.manage-modal .modal-header small{color:var(--orange)}.manage-modal .modal-header .btn-close{filter:invert(1);opacity:.7}.manage-modal .modal-body{padding:24px}.manage-modal .modal-body label{margin:0 0 7px;font-size:.72rem;font-weight:800}.manage-modal .modal-footer{padding:17px 24px;background:#ebe7dc}.manage-checks{display:flex;gap:10px;margin-top:2px}.manage-checks label{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:10px 13px;border:1px solid var(--line);background:#fff;cursor:pointer}.manage-checks input{accent-color:var(--orange)}.manage-checks span{font-weight:900;color:var(--orange)}.selected-file-name{margin:0 0 18px!important;padding:12px 14px!important;border-left:4px solid var(--lime);background:#fff!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem!important}.manage-section{padding:17px;border:1px solid var(--line);background:#fff}.manage-section+.manage-section{margin-top:14px}.manage-section h3{margin:0;font-size:.92rem;font-weight:800}.manage-section>p{margin:5px 0 14px!important;padding:0!important;background:transparent!important;color:var(--muted);font-size:.7rem!important;font-weight:400!important}.manage-section form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.manage-move-btn,.manage-delete-btn{border:0;padding:10px 15px;font-size:.73rem;font-weight:800}.manage-move-btn{background:var(--ink);color:#fff}.manage-move-btn:disabled{opacity:.35}.danger-section{border-color:#efb4bd;background:#fff8f8}.danger-section h3{color:#d91631}.delete-telegram-check{grid-column:1/-1;display:flex!important;align-items:center;gap:7px;margin:0!important;padding:9px 10px;background:#f4ecec;font-weight:600!important}.delete-telegram-check input{accent-color:#d91631}.manage-delete-btn{background:#d91631;color:#fff}.danger-symbol{width:54px;height:54px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#d91631;color:#fff;font-size:1.6rem;font-weight:900}.delete-series-modal .modal-header:after{background:#d91631}.delete-series-modal .modal-body{text-align:center}.delete-series-modal .modal-body h3{font-size:1.05rem;font-weight:800}.delete-series-modal .modal-body>p{padding:0!important;background:transparent!important;color:var(--muted);font-size:.78rem!important;font-weight:400!important}.delete-series-modal .delete-telegram-check{justify-content:center;margin-top:18px!important}
@media(max-width:700px){.file-actions{grid-column:2;justify-self:start}.detail-actions{flex-wrap:wrap}.manage-section form{grid-template-columns:1fr}.manage-move-btn,.manage-delete-btn{width:100%}.manage-checks{flex-direction:column}.manage-modal .modal-body{padding:18px}}
.demo-detail-notice{display:flex;align-items:center;gap:12px;margin:-10px 0 18px;padding:11px 14px;background:#edf5c9;border-left:4px solid var(--lime);font-size:.72rem}.demo-detail-notice b{white-space:nowrap}.demo-detail-notice span{color:#666}.send-btn:disabled{opacity:.45;cursor:not-allowed}
.bulk-toolbar{position:sticky;top:67px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;margin-bottom:10px;background:var(--ink);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.15)}.select-all-files{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:.75rem}.select-all-files input,.file-select input{position:absolute;opacity:0;pointer-events:none}.select-all-files span,.file-select span{width:24px;height:24px;border:1px solid #777;border-radius:6px;display:grid;place-items:center;color:transparent;background:#fff;font-size:.7rem;font-weight:900}.select-all-files input:checked+span,.select-all-files input:indeterminate+span,.file-select input:checked+span{background:var(--lime);border-color:var(--lime);color:var(--ink)}.bulk-selection{display:flex;align-items:center;gap:8px}.bulk-selection strong{margin-right:6px;font-size:.72rem;color:#bbb}.bulk-selection em{color:var(--lime);font-style:normal;font-size:1rem}.bulk-send-btn,.bulk-delete-btn{border:1px solid;padding:8px 13px;font-size:.7rem;font-weight:800}.bulk-send-btn{background:var(--lime);border-color:var(--lime);color:var(--ink)}.bulk-delete-btn{background:transparent;border-color:#f15a70;color:#ff8798}.bulk-send-btn:disabled,.bulk-delete-btn:disabled{opacity:.3;cursor:not-allowed}.file-row{grid-template-columns:38px 90px minmax(0,1fr) auto;transition:background .18s}.file-row.is-selected{background:#eef6ca}.file-select{margin:0;cursor:pointer}.file-select span{border-color:#aaa}.bulk-modal-count{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:15px;background:#ecf4c9;border-left:4px solid var(--lime)}.bulk-modal-count b{font-size:1.6rem;line-height:1}.bulk-modal-count span{font-size:.75rem}.bulk-modal-count.danger{background:#ffe8eb;border-color:#d91631}.bulk-delete-note{margin:13px 0 0!important;padding:0!important;background:transparent!important;color:var(--muted);font-size:.68rem!important;font-weight:400!important}.bulk-delete-modal .modal-header:after{background:#d91631}
@media(max-width:700px){.bulk-toolbar{top:65px;align-items:flex-start}.bulk-selection{flex-wrap:wrap;justify-content:flex-end}.bulk-selection strong{width:100%;text-align:right}.file-row{grid-template-columns:30px 54px minmax(0,1fr)}.file-actions{grid-column:3}.file-select{align-self:start;margin-top:4px}}
.upload-destination{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}.upload-destination a,.form-label a{color:var(--orange);font-weight:800}.manual-chat-fields.is-hidden{display:none}.telegram-page{max-width:1400px;padding-top:70px;padding-bottom:100px}.telegram-page-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.telegram-page-head>div>span{font-size:.65rem;letter-spacing:2px;color:var(--orange);font-weight:800}.telegram-page-head h1{font-size:clamp(3rem,7vw,6rem);margin:6px 0 12px;font-weight:800;letter-spacing:-.07em;line-height:.95}.telegram-page-head p{color:var(--muted)}.add-chat-btn{border:0;background:var(--orange);color:#fff;padding:13px 20px;font-size:.8rem;font-weight:800;box-shadow:5px 5px 0 var(--ink);white-space:nowrap}.chat-help{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:10px 16px;margin:42px 0 28px;padding:15px 18px;background:var(--ink);color:#bbb;font-size:.72rem}.chat-help b{color:var(--lime)}.chat-help code{color:#fff}.chat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.chat-card{padding:20px;background:#fff;border:1px solid var(--line);box-shadow:5px 5px 0 #d9d5ca}.chat-card.inactive{opacity:.55}.chat-card-top{display:flex;justify-content:space-between;align-items:start}.chat-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#28a8e9;color:#fff;font-size:.7rem;font-weight:900}.chat-flags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.chat-flags b{padding:4px 6px;background:var(--lime);font-size:.55rem}.chat-flags .off{background:#ddd}.chat-card h2{margin:22px 0 16px;font-size:1.15rem;font-weight:800}.chat-card dl{margin:0}.chat-card dl div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #e7e3da;font-size:.7rem}.chat-card dt{color:var(--muted);font-weight:500}.chat-card dd{margin:0;font-weight:700;text-align:right;overflow-wrap:anywhere}.chat-card-actions{display:flex;gap:7px;margin-top:18px}.chat-card-actions form{margin-left:auto}.edit-chat-btn,.delete-chat-btn{border:1px solid;padding:7px 12px;background:transparent;font-size:.7rem;font-weight:800}.edit-chat-btn{border-color:var(--ink)}.delete-chat-btn{border-color:#d91631;color:#d91631}.chat-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.chat-options label{display:flex!important;align-items:center;gap:6px;margin:0!important;padding:9px 10px;background:#ece9df;border:1px solid var(--line)}.chat-options input{accent-color:var(--orange)}
@media(max-width:900px){.chat-grid{grid-template-columns:repeat(2,1fr)}.chat-help{grid-template-columns:auto 1fr}}@media(max-width:600px){.telegram-page{padding-top:45px}.telegram-page-head{align-items:flex-start;flex-direction:column}.chat-grid{grid-template-columns:1fr}.chat-help{grid-template-columns:1fr}.telegram-nav{display:none}}
.section-head-actions{display:flex;align-items:center;gap:15px}.section-head-actions p{margin:0}.section-head-actions a{padding:9px 13px;background:var(--ink);color:#fff;text-decoration:none;font-size:.7rem;font-weight:800}.series-create-page{max-width:1180px;padding-top:70px;padding-bottom:110px}.create-series-head{margin:38px 0 44px}.create-series-head>span{font-size:.65rem;letter-spacing:2px;color:var(--orange);font-weight:800}.create-series-head h1{max-width:850px;margin:8px 0 22px;font-size:clamp(3rem,7vw,6.2rem);font-weight:800;line-height:.91;letter-spacing:-.075em}.create-series-head h1 em{color:var(--orange);font-style:normal}.create-series-head p{max-width:720px;color:var(--muted);line-height:1.8}.create-series-form{padding:32px;background:#fff;border-top:5px solid var(--ink);box-shadow:9px 9px 0 var(--lime)}.create-series-form label{display:block;margin-bottom:7px;font-size:.74rem;font-weight:800}.create-series-form label>b{color:var(--orange)}.create-form-kicker{display:flex;align-items:center;gap:10px;margin-bottom:24px}.create-form-kicker b{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--lime);font-size:.7rem}.create-form-kicker span{font-size:1.1rem;font-weight:800}.create-status-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.create-status-options label{display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:center;margin:0;padding:15px;border:1px solid var(--line);background:#f7f4ec;cursor:pointer}.create-status-options input{position:absolute;opacity:0}.create-status-options span{grid-row:1/3;width:34px;height:34px;border:2px solid var(--ink);display:grid;place-items:center;font-size:.7rem;font-weight:900}.create-status-options b{font-size:.78rem}.create-status-options small{color:var(--muted);font-size:.64rem}.create-status-options label:has(input:checked){border-color:var(--orange);background:#fff0eb}.create-status-options input:checked+span{background:var(--orange);border-color:var(--orange);color:#fff}.create-submit-row{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:28px}.create-submit-row a{color:var(--muted);font-size:.76rem}.create-submit-row button{border:0;background:var(--orange);color:#fff;padding:14px 25px;font-size:.8rem;font-weight:800;box-shadow:4px 4px 0 var(--ink)}
@media(max-width:700px){.section-head-actions{align-items:flex-end;flex-direction:column;gap:7px}.series-create-page{padding-top:45px}.create-series-form{padding:20px;box-shadow:6px 6px 0 var(--lime)}.create-status-options{grid-template-columns:1fr}}
.file-meta-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.file-meta-tags i{padding:3px 6px;background:#e4e1d8;color:#555;font-size:.57rem;font-style:normal;font-weight:800}.file-meta-tags i.complete{background:var(--ink);color:#fff}
.status.telegram-wait{border-color:#d98900;background:#fff2cf;color:#8a5700}.file-upload-state{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:4px 7px;font-size:.6rem;font-weight:800}.file-upload-state.uploaded{background:#e7f3c0;color:#415000}.file-upload-state.failed{background:#ffe1e6;color:#b7132b}.file-upload-state.pending{background:#fff0c8;color:#8a5700}.retry-upload-btn{background:#28a8e9;color:#fff;border:0;padding:8px 12px;font-size:.72rem;font-weight:800}
.retry-note{margin:16px 0 0!important;padding:10px!important;background:#e5f4fb!important;color:#47636f;font-size:.68rem!important;font-weight:500!important}
.status-row{flex-wrap:wrap}.detail-tags .api-status.fetched{background:var(--lime)}.detail-tags .api-status.failed{border-color:#d91631;color:#d91631}.detail-tags .api-status.not_found,.detail-tags .api-status.not_requested{color:var(--muted)}.file-upload-state{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.volume-health{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 15px;background:#e9e6dc;border-left:4px solid var(--lime)}.volume-health.has-missing{background:#fff0e8;border-color:var(--orange)}.volume-health span{display:flex;align-items:baseline;gap:6px}.volume-health small{color:var(--muted);font-size:.62rem}.volume-health b{font-size:.82rem}.volume-health i{font-style:normal;color:#aaa}.metadata-refresh-btn{border:1px solid #28a8e9;background:transparent;color:#167caf;padding:9px 14px;font-size:.75rem;font-weight:800}.api-detail-panel{margin:54px 0 10px;padding:26px;background:#fff;border-top:4px solid var(--lime);box-shadow:7px 7px 0 var(--ink)}.api-detail-heading span{font-size:.62rem;letter-spacing:2px;color:var(--orange);font-weight:800}.api-detail-heading h2{margin:4px 0 22px;font-size:1.5rem;font-weight:800}.api-detail-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:1px;background:var(--line)}.api-detail-grid>div{min-width:0;padding:14px;background:#fff}.api-detail-grid small,.api-description>small{display:block;color:var(--muted);font-size:.62rem;margin-bottom:5px}.api-detail-grid strong{display:block;font-size:.78rem;overflow:hidden;text-overflow:ellipsis}.api-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.api-tags span{padding:5px 8px;background:#ece9df;font-size:.65rem;font-weight:700}.api-description{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.api-description p{margin:0;color:#555;font-size:.78rem;line-height:1.8;white-space:normal}.detail-actions form{margin:0}
@media(max-width:800px){.api-detail-grid{grid-template-columns:1fr 1fr}.volume-health{align-items:flex-start;flex-wrap:wrap}.volume-health i{display:none}}
.cover img.placeholder-cover,.detail-cover img.placeholder-cover{object-fit:cover;background:var(--ink)}.metadata-refresh-btn{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:8px 13px!important;border:1px solid #168dcc!important;background:#e8f7ff!important;color:#116d9e!important;text-align:left;box-shadow:3px 3px 0 #168dcc}.metadata-refresh-btn>span{grid-row:1/3;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#168dcc;color:#fff;font-size:1rem}.metadata-refresh-btn b{font-size:.72rem;line-height:1.1}.metadata-refresh-btn small{font-size:.55rem;color:#54859e;line-height:1.1}.metadata-refresh-btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 #168dcc}.metadata-modal{overflow:hidden;border:0;border-radius:19px;background:#f5f2e9}.metadata-modal .modal-header{position:relative;padding:25px 28px;background:var(--ink);color:#fff;border:0}.metadata-modal .modal-header:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#168dcc 0 45%,var(--lime) 45%)}.metadata-modal-title{display:flex;align-items:center;gap:14px}.metadata-modal-title>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#168dcc;font-size:1.5rem}.metadata-modal-title small{color:var(--lime)!important}.metadata-modal-title p{margin:4px 0 0;color:#aaa;font-size:.7rem}.metadata-modal .btn-close{filter:invert(1)}.metadata-modal .modal-body{padding:27px}.metadata-modal .modal-body h3{margin:0 0 10px;font-size:.8rem;font-weight:800}.metadata-scope-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metadata-scope-options label{display:block!important;margin:0!important;cursor:pointer}.metadata-scope-options input{position:absolute;opacity:0}.metadata-scope-options span{display:flex;min-height:78px;flex-direction:column;justify-content:center;padding:14px 16px;border:1px solid var(--line);background:#fff}.metadata-scope-options b{font-size:.78rem}.metadata-scope-options small{margin-top:4px;color:var(--muted);font-size:.62rem}.metadata-scope-options input:checked+span{border:2px solid #168dcc;background:#e8f7ff;box-shadow:3px 3px 0 #168dcc}.manual-json-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.manual-json-block>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.manual-json-block>div>small{color:var(--muted);font-size:.62rem}.manual-json-block textarea{margin-top:9px;border-radius:9px;background:#fff;font-family:Consolas,monospace;font-size:.7rem;line-height:1.5}.manual-json-block>p{margin:8px 0 0!important;padding:0!important;background:transparent!important;color:var(--muted);font-size:.62rem!important;font-weight:400!important}.metadata-submit-btn{border:0;padding:11px 18px;background:#168dcc;color:#fff;font-size:.75rem;font-weight:800}.metadata-submit-btn span{margin-right:5px}.series-search-select{display:flex;flex-direction:column;gap:7px}.series-search-select>label{margin:0!important;color:var(--muted)}.series-search-input{padding-left:37px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2375756e' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='5'/%3E%3Cpath d='m12 12 4 4'/%3E%3C/svg%3E") no-repeat 11px center}.series-target-select{min-height:150px;padding:5px;background:#fff}.series-target-select option{padding:8px}.series-target-select option:checked{background:var(--lime);color:var(--ink)}.retry-upload-btn{box-shadow:3px 3px 0 #116d9e;white-space:nowrap}.retry-upload-btn span{margin-right:4px;font-weight:900}
@media(max-width:700px){.metadata-scope-options{grid-template-columns:1fr}.metadata-modal .modal-body{padding:19px}.manual-json-block>div{display:block}.manual-json-block>div>small{display:block;margin-top:4px}.metadata-refresh-btn{width:100%}}
.metadata-provider-select{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;margin:0 0 22px!important;padding:14px 16px;border:1px solid var(--line);border-left:4px solid #168dcc;background:#fff}.metadata-provider-select>span{font-size:.7rem;font-weight:800;color:#116d9e;white-space:nowrap}.metadata-provider-select .form-select{min-width:0;border-color:#b9cad3;background-color:#f6fbfd;font-size:.76rem;font-weight:700}.delete-telegram-check.is-disabled{opacity:.55;cursor:not-allowed}.delete-telegram-check.is-disabled input{cursor:not-allowed}@media(max-width:520px){.metadata-provider-select{grid-template-columns:1fr;gap:7px}.metadata-provider-select>span{white-space:normal}}
.telegram-waiting-notice{display:flex;align-items:center;gap:12px;margin:-8px 0 16px;padding:13px 15px;background:#e5f5fc;border-left:4px solid #168dcc}.telegram-waiting-notice>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#168dcc;color:#fff;font-size:1.1rem;font-weight:900}.telegram-waiting-notice div{display:flex;flex-direction:column}.telegram-waiting-notice b{font-size:.78rem}.telegram-waiting-notice small{margin-top:3px;color:#587681;font-size:.65rem}
.manual-json-block{transition:opacity .18s}.manual-json-block.is-disabled{opacity:.42}.manual-json-block.is-disabled textarea{cursor:not-allowed;background:#ddd9d0}.manual-json-block.is-disabled:after{content:'미갱신 시리즈 전체 모드에서는 직접 입력 JSON을 사용하지 않습니다.';display:block;margin-top:8px;color:#a33b4a;font-size:.62rem;font-weight:700}
.manage-file-dialog{max-width:920px}.manage-file-dialog .modal-body{padding:28px}.manage-file-dialog .manage-section{padding:22px}.manage-file-dialog .manage-section form{grid-template-columns:minmax(0,1fr) 150px;align-items:end}.detail-tags .new{background:var(--lime);color:var(--ink);border-color:var(--lime)}.detail-tags .missing{border-color:var(--orange);color:var(--orange)}.detail-meta dl{flex-wrap:wrap}.detail-meta dl div{min-width:105px}.manage-modal label small{color:var(--muted);font-weight:400}.manage-modal textarea{resize:vertical}.manage-modal .input-group-text{border-radius:0;border-color:var(--line);background:#e9e6dc;font-size:.7rem}.series-target-select.is-empty-search{border-color:#d91631;color:#999}.send-btn{white-space:nowrap}.file-actions .send-btn:not(:disabled){background:#168dcc;border-color:#168dcc;color:#fff;box-shadow:3px 3px 0 #116d9e}
.metadata-reset-btn{display:inline-flex;align-items:center;gap:7px;margin-right:auto;border:1px solid #b7463d;background:#fff7f5;color:#b42318;padding:10px 15px;font-size:.72rem;font-weight:850}.metadata-reset-btn span{font-size:1rem;line-height:1}.metadata-reset-btn:hover{background:#b42318;color:#fff}.modal-footer-main{display:flex;align-items:center;gap:8px}
.retry-upload-config[hidden],.retry-upload-progress[hidden]{display:none}.retry-upload-progress{display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px solid #c9d7dd;background:#eef9ff}.retry-upload-spinner{width:58px;height:58px;margin-bottom:17px;border-radius:50%;display:grid;place-items:center;background:#168dcc;color:#fff;font-size:1.45rem;font-weight:900;box-shadow:6px 6px 0 var(--lime)}.is-sending .retry-upload-spinner{animation:retry-upload-pulse 1.15s ease-in-out infinite}.retry-upload-progress strong{font-size:1rem}.retry-upload-progress small{max-width:340px;margin-top:7px;color:#55727f;font-size:.7rem;line-height:1.55}.retry-upload-elapsed{margin-top:15px;padding:5px 10px;background:var(--ink);color:var(--lime);font-size:.65rem;font-weight:800}.is-success .retry-upload-progress{border-color:#91ad35;background:#f2f9d8}.is-success .retry-upload-spinner{background:#73920d}.is-failed .retry-upload-progress{min-height:150px;border-color:#e1a29b;background:#fff1ef}.is-failed .retry-upload-spinner{width:46px;height:46px;background:#c33427;box-shadow:4px 4px 0 #f2aea6}.retry-upload-submit:disabled,.retry-upload-cancel:disabled,#retryUploadModal .btn-close:disabled{cursor:wait;opacity:.55}@keyframes retry-upload-pulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.04)}}
.delivery-config[hidden],.delivery-progress[hidden],.bulk-delivery-config[hidden],.bulk-upload-config[hidden],.bulk-upload-progress[hidden]{display:none}.delivery-progress{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;border:1px solid #b9dbe9;background:#edf9ff}.delivery-spinner{width:58px;height:58px;margin-bottom:17px;border-radius:50%;display:grid;place-items:center;background:#168dcc;color:#fff;font-size:1.35rem;font-weight:900;box-shadow:6px 6px 0 var(--lime)}.is-sending .delivery-spinner{animation:retry-upload-pulse 1.15s ease-in-out infinite}.delivery-progress strong{font-size:1rem}.delivery-progress small{max-width:340px;margin-top:7px;color:#55727f;font-size:.7rem;line-height:1.55}.delivery-elapsed{margin-top:15px;padding:5px 10px;background:var(--ink);color:var(--lime);font-size:.65rem;font-weight:800}.is-success .delivery-progress{border-color:#91ad35;background:#f2f9d8}.is-success .delivery-spinner{background:#73920d}.is-failed .delivery-progress{min-height:160px;border-color:#e1a29b;background:#fff1ef}.is-failed .delivery-spinner{background:#c33427;box-shadow:4px 4px 0 #f2aea6}.delivery-submit:disabled,.delivery-cancel:disabled,#sendModal .btn-close:disabled{cursor:wait;opacity:.55}.modal-dialog-scrollable .bulk-modal>[data-bulk-telegram-fetch],.modal-dialog-scrollable .bulk-modal>[data-bulk-delivery-fetch]{display:flex;max-height:calc(100dvh - 3.5rem);min-height:0;flex-direction:column;overflow:hidden}.modal-dialog-scrollable .bulk-modal>[data-bulk-telegram-fetch]>.modal-header,.modal-dialog-scrollable .bulk-modal>[data-bulk-telegram-fetch]>.modal-footer,.modal-dialog-scrollable .bulk-modal>[data-bulk-delivery-fetch]>.modal-header,.modal-dialog-scrollable .bulk-modal>[data-bulk-delivery-fetch]>.modal-footer{flex:0 0 auto}.modal-dialog-scrollable .bulk-modal>[data-bulk-telegram-fetch]>.modal-body,.modal-dialog-scrollable .bulk-modal>[data-bulk-delivery-fetch]>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}.bulk-upload-progress{padding:20px;border-radius:12px;background:var(--ink);color:#fff}.bulk-upload-progress-head{display:flex;align-items:flex-end;justify-content:space-between}.bulk-upload-progress-head small{display:block;color:var(--orange);font-size:.58rem;font-weight:850;letter-spacing:1.8px}.bulk-upload-progress-head strong{display:block;margin-top:3px;font-size:1.05rem}.bulk-upload-progress-head>b{color:var(--lime);font-size:1.5rem}.bulk-upload-track{height:9px;margin-top:13px;background:#484943;overflow:hidden}.bulk-upload-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--orange),var(--lime));transition:width .2s}.bulk-upload-summary{display:flex;justify-content:space-between;margin-top:9px;color:#aaa;font-size:.66rem}.bulk-upload-summary b{color:#fff}.bulk-upload-current{margin:16px 0 9px!important;padding:10px 12px!important;background:#2f302c!important;color:var(--lime);font-size:.7rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-upload-queue{display:flex;max-height:260px;flex-direction:column;gap:6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:5px}.bulk-upload-row{display:grid;grid-template-columns:30px minmax(0,1fr) 70px;gap:9px;align-items:center;padding:9px 10px;border:1px solid #494a45;background:#30312d}.bulk-upload-row>span{color:#777;font-size:.62rem;font-weight:850}.bulk-upload-row>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}.bulk-upload-row>em{text-align:right;color:#999;font-size:.6rem;font-style:normal;font-weight:850}.bulk-upload-row.is-uploading{border-color:var(--lime)}.bulk-upload-row.is-uploading>em{color:var(--lime)}.bulk-upload-row.is-done>em{color:#9ed265}.bulk-upload-row.is-skipped>em{color:#ffc35b}.bulk-upload-row.is-failed{border-color:#e15c4e}.bulk-upload-row.is-failed>em{color:#ff8071}.bulk-upload-result{margin-top:12px;padding-top:12px;border-top:1px solid #484943;color:#aaa;font-size:.67rem}.is-success .bulk-upload-result{color:var(--lime)}.is-failed .bulk-upload-result{color:#ff8071}.bulk-upload-submit:disabled,.bulk-upload-cancel:disabled,#bulkUploadModal .btn-close:disabled,.bulk-delivery-submit:disabled,.bulk-delivery-cancel:disabled,#bulkSendModal .btn-close:disabled{cursor:wait;opacity:.55}
@media(max-width:700px){#editSeriesModal .modal-footer{align-items:stretch;flex-direction:column}.metadata-reset-btn{justify-content:center;width:100%;margin:0}.modal-footer-main{display:grid;grid-template-columns:1fr 1fr}.modal-footer-main .btn-cancel,.modal-footer-main .btn-send{width:100%}}
@media(max-width:700px){.manage-file-dialog .manage-section form{grid-template-columns:1fr}.manage-file-dialog{margin:10px}.file-actions .send-btn{white-space:normal}}
.file-actions .send-btn small{margin-left:5px;padding:2px 4px;background:#ddd;color:#666;font-size:.52rem}
.category-picker{display:grid;gap:8px}.category-custom-field[hidden],.tag-choice[hidden],.category-scope-empty[hidden]{display:none!important}.category-custom-field{position:relative;padding-left:12px}.category-custom-field:before{content:'↳';position:absolute;left:-1px;top:50%;transform:translateY(-50%);color:var(--orange);font-size:.8rem;font-weight:900}.category-custom-field .form-control{border-color:#e5a08c;background:#fff9f6}.category-scope-empty{flex:0 0 auto;padding:10px 4px;color:#8a8c84;font-size:.72rem}
.files-head-tools{display:flex;align-items:flex-end;gap:14px}.files-head-tools small{max-width:560px;text-align:right}.file-order-open{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--ink);background:var(--white);padding:9px 13px;font-size:.7rem;font-weight:850;box-shadow:3px 3px 0 var(--lime)}.file-order-open:hover{background:var(--ink);color:#fff}.file-order-modal>form{display:flex;max-height:calc(100dvh - 3.5rem);min-height:0;flex-direction:column;overflow:hidden}.file-order-modal .modal-header,.file-order-modal .modal-footer{flex:0 0 auto}.file-order-modal .modal-header p{margin:5px 0 0;color:var(--muted);font-size:.7rem}.file-order-modal .modal-body{min-height:0;overflow-y:auto}.file-order-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px;padding:14px;background:#e9e6dc}.file-order-toolbar label{min-width:220px;margin:0!important}.file-order-toolbar small{color:var(--muted);font-size:.68rem}.file-order-list{display:flex;flex-direction:column;gap:7px}.file-order-row{display:grid;grid-template-columns:38px 36px minmax(0,1fr) 78px;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);background:var(--white);cursor:grab}.file-order-row.is-dragging{opacity:.45;border-color:var(--orange);cursor:grabbing}.file-order-grip{border:0;background:transparent;color:#999;font-size:1.3rem;cursor:grab}.file-order-number{display:grid;place-items:center;width:30px;height:30px;background:var(--ink);color:var(--lime);font-size:.68rem}.file-order-row>div{min-width:0}.file-order-row strong,.file-order-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-order-row strong{font-size:.76rem}.file-order-row small{margin-top:3px;color:var(--muted);font-size:.61rem}.file-order-moves{display:flex;justify-content:flex-end;gap:5px}.file-order-moves button{width:34px;height:34px;border:1px solid var(--line);background:#f3f0e7;font-weight:900}.file-order-moves button:hover:not(:disabled){border-color:var(--orange);background:var(--orange);color:#fff}.file-order-moves button:disabled{opacity:.25}.file-order-modal .btn-send{box-shadow:3px 3px 0 var(--ink)}
@media(max-width:700px){.files-head{align-items:flex-start}.files-head-tools{align-items:flex-end;flex-direction:column}.files-head-tools small{display:none}.file-order-toolbar{align-items:stretch;flex-direction:column}.file-order-toolbar label{min-width:0}.file-order-row{grid-template-columns:28px 30px minmax(0,1fr) 72px;padding:8px 6px}.file-order-grip{font-size:1rem}.file-order-number{width:27px;height:27px}.file-order-moves button{width:32px;height:32px}}
.title-mismatch-filter{border-color:#d98400!important;background:#fff3d7;color:#835300;font-weight:800}.title-mismatch-filter:has(input:checked){background:#ff5b35;border-color:#ff5b35!important;color:#fff}.api-title-mismatch{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-top:8px;padding:6px 7px;background:#fff0d1;border-left:3px solid #e18a00;min-width:0}.api-title-mismatch small{color:#9a6100;font-size:.54rem;font-weight:900;white-space:nowrap}.api-title-mismatch span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#59461f;font-size:.64rem;font-weight:700}
.content-group-filter{display:flex;align-items:center;gap:7px;margin:0 0 12px;padding:0 0 12px;border:0;border-bottom:1px solid var(--line);overflow-x:auto}.content-group-filter legend{width:auto;min-width:max-content;margin:0 7px 0 0;font-size:.66rem;font-weight:900;letter-spacing:1px;color:var(--muted)}.content-group-filter label{min-width:max-content;cursor:pointer}.content-group-filter input{position:absolute;opacity:0}.content-group-filter span{display:block;padding:8px 13px;border:1px solid var(--line);background:#f7f4ec;font-size:.72rem;font-weight:800}.content-group-filter label.active span,.content-group-filter label:has(input:checked) span{border-color:var(--ink);background:var(--ink);color:var(--lime);box-shadow:3px 3px 0 var(--orange)}.category-filter-select{min-width:210px;min-height:86px;padding:5px!important}.status.hiatus,.series-status-hiatus{border-color:#d98400!important;background:#fff0ca!important;color:#865500!important}.content-group-status{border-color:#168dcc!important;color:#116d9e!important}.category-picker select[multiple]{min-height:120px}.series-status-field{display:grid!important;grid-template-columns:34px 1fr!important}.series-status-field .form-select{grid-column:2;margin-top:7px}.subseries-panel{margin-top:45px}.subseries-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.subseries-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);background:var(--white);color:var(--ink);text-decoration:none}.subseries-list a>span{padding:5px 7px;background:var(--ink);color:var(--lime);font-size:.58rem;font-weight:850}.subseries-list strong,.subseries-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subseries-list strong{font-size:.82rem}.subseries-list small{margin-top:3px;color:var(--muted);font-size:.65rem}.subseries-list a>b{color:var(--orange)}.subseries-list a:hover{border-color:var(--orange);transform:translateX(3px)}.parent-series-link{display:inline-block;margin-top:12px;color:#116d9e;font-size:.72rem;font-weight:800;text-decoration:none}@media(max-width:700px){.subseries-list{grid-template-columns:1fr}.content-group-filter{margin-left:-4px;margin-right:-4px}}
.series-search-select>label{display:flex!important;justify-content:space-between;align-items:center}.series-search-count{padding:3px 6px;background:var(--lime);color:var(--ink)!important;font-size:.58rem!important;font-weight:800!important}
/* Authentication */
#editSeriesModal .modal-content>form{display:flex;flex-direction:column;max-height:calc(100dvh - 3.5rem);min-height:0;overflow:hidden}#editSeriesModal .modal-body{overflow-y:auto;min-height:0}#editSeriesModal .modal-header,#editSeriesModal .modal-footer{flex-shrink:0}.tag-scroll .tag-choice:has(input:focus-visible){outline-offset:2px}.upload-option-row .choice-strip{flex-basis:auto}
.tag-scroll{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;max-width:100%;padding:6px 2px 12px;scrollbar-width:thin;scrollbar-color:#b1b4a6 transparent}.tag-choice{flex:0 0 auto;position:relative;margin:0!important;cursor:pointer}.tag-choice input{position:absolute;opacity:0;width:1px;height:1px}.tag-choice>span{display:flex;align-items:center;gap:7px;padding:10px 15px;border-radius:99px;border:1px solid #d5d8ce;background:#fffdf7;font-size:.75rem;color:#545b4b;white-space:nowrap;transition:.15s}.tag-choice input:checked+span{background:#20211e;border-color:#20211e;color:#d4ee71;box-shadow:0 3px 9px #20211e22}.tag-choice input:checked+span:before{content:'✓';font-weight:900}.tag-choice input:focus-visible+span{outline:3px solid #ff5b35;outline-offset:2px}.category-filter-tags{flex:1 0 100%;min-width:0}.tag-hint{flex-shrink:0;font-size:.7rem;font-weight:800;margin-right:7px}.choice-strip{display:flex;flex-wrap:wrap;gap:10px}.choice-card{position:relative;display:flex!important;align-items:center;gap:9px;cursor:pointer;padding:12px 16px!important;border:1px solid #d6d1c4;background:#fffdf7;border-radius:12px;margin:0!important;font-size:.78rem;font-weight:800}.choice-card input{position:absolute;opacity:0;width:1px;height:1px}.choice-card>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eeece3;border:1px solid #d6d1c4;font-weight:900}.choice-card:has(input:checked){background:#fff0e9;border-color:#ff5b35}.choice-card input:checked+span{background:#ff5b35;border-color:#ff5b35;color:#fff}.choice-card:has(input:focus-visible){outline:3px solid #c7e64b}.create-series-form .choice-strip{margin-top:8px}.series-form-grid>div>label:first-child{display:block;margin-bottom:7px}.series-category-field{min-width:0}.series-state-panel{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(420px,1fr);gap:18px;padding:18px;border:1px solid #d9d5c9;border-radius:16px;background:#f7f5ee}.series-state-group{min-width:0}.series-state-label{display:block;margin:0 0 9px!important;font-size:.72rem;font-weight:900;color:#62665d}.series-state-panel .choice-strip{margin:0}.series-state-panel .choice-card{min-height:56px;background:#fff}.series-state-panel .adult-choice:has(input:checked){background:#fff0f0;border-color:#e42d38;color:#a40d17}.series-state-panel .adult-choice input:checked+span{background:#dc2633;border-color:#dc2633}.series-bulk-modal .btn-cancel,#seriesMergeModal .btn-cancel,#seriesDeleteModal .btn-cancel,#seriesMergeModal .quiet-modal-btn,#seriesDeleteModal .quiet-modal-btn{border:1px solid #c9c9c0;border-radius:10px;background:#fffdf7;color:#4b5044;padding:11px 20px}.series-bulk-modal .btn-cancel:hover,#seriesMergeModal .btn-cancel:hover,#seriesMergeModal .quiet-modal-btn:hover,#seriesDeleteModal .quiet-modal-btn:hover{background:#e5e7de}.upload-option-row>.choice-strip{flex:1 1 100%}.upload-option-row{flex-wrap:wrap}@media(max-width:767.98px){.series-state-panel{grid-template-columns:1fr}.series-state-panel .choice-strip{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.series-state-panel .choice-card{flex:0 0 auto}}
.personal-delivery-note{display:grid;gap:5px;padding:18px;border-radius:13px;background:#edf3ef;border:1px solid #cfddd4}.personal-delivery-note b{color:#245440}.personal-delivery-note span{font-size:.82rem;color:#6c776f}
.card-categories{display:flex;flex-wrap:wrap;gap:4px;margin-top:11px}.card-categories span{padding:3px 6px;background:#e8e5dc;color:#55594f;font-size:.58rem;font-weight:750;line-height:1.3}.card-categories+.card-bottom{margin-top:8px}.detail-meta dd{white-space:normal;overflow-wrap:anywhere}
.book-info .book-author-line{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.45;min-height:1.45em}
.chat-linked-group{display:inline-flex;align-items:center;gap:5px;margin-top:8px;color:#687066;font-size:.7rem}.chat-linked-group b{padding:3px 7px;background:var(--ink);color:var(--lime);font-size:.63rem}.chat-group-help{display:block;margin-top:7px;color:var(--muted);font-size:.68rem}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.75fr);background:#171a18;color:#f8f4e9;padding:clamp(28px,6vw,90px);gap:clamp(40px,8vw,130px);align-items:center}.auth-intro{max-width:690px}.auth-kicker{display:inline-flex;color:#d9b563;letter-spacing:.18em;font-size:.72rem;font-weight:800;margin-bottom:22px}.auth-intro h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.9rem);line-height:1.03;letter-spacing:-.055em;margin:0 0 25px}.auth-intro>p{color:#aeb6af;font-size:1.05rem;line-height:1.8;max-width:600px}.auth-steps{display:grid;gap:10px;margin:32px 0}.auth-steps span{display:flex;align-items:center;gap:12px;color:#d7ddd7}.auth-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2c332e;color:#d9b563}.auth-steps code{color:#fff;background:#292e2a;padding:4px 8px;border-radius:7px}.auth-bot-link{display:inline-flex;gap:12px;align-items:center;padding:14px 18px;border:1px solid #465048;border-radius:12px;color:#f6f2e7;text-decoration:none}.auth-panel{background:#f6f1e6;color:#222820;border-radius:28px;padding:18px;box-shadow:0 28px 80px #0008}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#e6dfd1;padding:5px;border-radius:13px}.auth-tabs button{border:0;background:transparent;border-radius:9px;padding:11px;color:#777467;font-weight:700}.auth-tabs button.active{background:#fff;color:#1f251f;box-shadow:0 3px 12px #39302212}.auth-tab-pane{display:none;padding:30px 20px 18px}.auth-tab-pane.active{display:block}.auth-heading small{font-size:.67rem;letter-spacing:.16em;color:#9b7a31;font-weight:800}.auth-heading h2{font:700 2rem Georgia,serif;margin:6px 0 8px}.auth-heading p{color:#77786f;line-height:1.6}.auth-form{display:grid;gap:16px;margin-top:25px}.auth-form label{display:grid;gap:7px;font-size:.8rem;font-weight:800;color:#54594f}.auth-form input{border:1px solid #d8d1c3;background:#fff;border-radius:11px;padding:13px 14px;font-size:1rem;outline:none}.auth-form input:focus{border-color:#89703b;box-shadow:0 0 0 3px #b89a5128}.auth-submit{border:0;border-radius:11px;padding:14px;background:#1e4b3a;color:#fff;font-weight:800}.auth-submit.admin{background:#242724}.auth-text-link{text-align:center;color:#686d65;font-size:.82rem}.auth-register-check{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px;padding:16px;background:#e9e3d7;border-radius:13px}.auth-register-check p{display:grid;margin:0}.auth-register-check span{font-size:.75rem;color:#777}.auth-register-check button{border:1px solid #b8ad98;background:#fff;border-radius:9px;padding:9px 11px;font-weight:800;font-size:.78rem;white-space:nowrap}.session-user{display:grid;text-align:right;line-height:1.1;margin-left:10px}.session-user b{font-size:.82rem}.session-user small{font-size:.65rem;color:#8b8e87}.logout-form{margin:0}.logout-form button{border:1px solid #ddd6c8;background:transparent;border-radius:8px;padding:7px 9px;font-size:.72rem;color:#64665f}@media(max-width:900px){.auth-shell{grid-template-columns:1fr;padding:25px}.auth-intro h1{font-size:2.7rem}.auth-panel{max-width:560px;width:100%}}@media(max-width:600px){.session-user{display:none}.auth-tab-pane{padding:24px 8px 10px}.auth-register-check{align-items:flex-start;flex-direction:column}}
/* Dynamic library loading and complete missing-volume list */
.library-wrap.is-fetching{position:relative;opacity:.58;pointer-events:none}.library-wrap.is-fetching:after{content:'목록 불러오는 중';position:fixed;left:50%;top:50%;z-index:1100;transform:translate(-50%,-50%);padding:12px 18px;background:var(--ink);color:#fff;box-shadow:5px 5px 0 var(--orange);font-size:.78rem;font-weight:800}.missing-callout{align-items:flex-start;flex-wrap:wrap}.missing-callout>b{color:var(--orange);white-space:nowrap}.missing-volume-list{display:flex;flex:1 1 320px;flex-wrap:wrap;gap:5px}.missing-volume-list span{padding:3px 7px;border:1px solid rgba(255,91,53,.35);background:rgba(255,255,255,.55);color:#8c2e19;font-size:.7rem;font-weight:800}
/* Clear, full-size fetch progress indicator */
.library-wrap.is-fetching{opacity:1;pointer-events:none}.library-wrap.is-fetching:after{content:'목록 불러오는 중';position:fixed;left:50%;top:50%;z-index:1100;transform:translate(-50%,-50%);min-width:250px;padding:22px 28px 22px 70px;border:2px solid var(--ink);background:#20211e;color:#fff;box-shadow:8px 8px 0 var(--orange),0 0 0 100vmax rgba(243,240,231,.72);font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.library-wrap.is-fetching:before{content:'';position:fixed;left:calc(50% - 92px);top:calc(50% - 11px);z-index:1101;width:24px;height:24px;border:3px solid rgba(255,255,255,.28);border-top-color:var(--lime);border-right-color:var(--orange);border-radius:50%;animation:library-loading-spin .7s linear infinite}@keyframes library-loading-spin{to{transform:rotate(360deg)}}
/* Global page scroll progress and edge navigation */
.page-scroll-progress{position:fixed;top:0;left:0;z-index:1200;width:100%;height:1px;background:rgba(32,33,30,.28);pointer-events:none}.page-scroll-progress i{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left center;transition:transform .14s ease-out;will-change:transform}.page-scroll-controls{position:fixed;right:clamp(14px,2.2vw,30px);bottom:clamp(16px,3vw,34px);z-index:95;display:grid;gap:7px}.page-scroll-controls[hidden]{display:none}.page-scroll-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(32,33,30,.22);border-radius:50%;background:#fffdf7;color:var(--ink);box-shadow:0 7px 22px rgba(32,33,30,.16);transition:transform .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease}.page-scroll-controls button:hover:not(:disabled){transform:translateY(-2px);background:var(--ink);color:var(--lime)}.page-scroll-controls button:focus-visible{outline:3px solid rgba(255,91,53,.38);outline-offset:2px}.page-scroll-controls button:disabled{opacity:.3;cursor:default;box-shadow:none}.page-scroll-controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:700px){.page-scroll-controls{right:12px;bottom:16px}.page-scroll-controls button{width:40px;height:40px}.page-scroll-controls svg{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.page-scroll-progress i,.page-scroll-controls button{transition:none}}
/* More visible reading progress and complete missing-volume card */
.page-scroll-progress{height:4px;background:#cbc7bc;box-shadow:0 1px 0 rgba(32,33,30,.12)}.page-scroll-progress i{background:linear-gradient(90deg,var(--orange),#ff8a3d);box-shadow:0 0 9px rgba(255,91,53,.65);transition:transform .18s cubic-bezier(.22,.61,.36,1)}.missing-callout{display:grid;grid-template-columns:minmax(165px,220px) minmax(0,1fr);gap:18px;margin-top:20px;padding:0;overflow:hidden;border:1px solid rgba(190,58,28,.22);border-radius:16px;background:#fff8f5;box-shadow:0 10px 28px rgba(88,39,27,.08)}.missing-callout-head{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:18px 20px;background:linear-gradient(145deg,#2b211f,#171817);color:#fff}.missing-callout-head small{color:#ff8a6f;font-size:.58rem;font-weight:900;letter-spacing:.16em}.missing-callout-head b{color:#fff;font-size:1rem;letter-spacing:-.03em}.missing-callout-head span{color:#c9c0bd;font-size:.68rem}.missing-volume-list{display:flex;align-content:center;align-items:center;flex-wrap:wrap;gap:7px;padding:16px 18px}.missing-volume-list span{display:inline-flex;align-items:center;gap:6px;min-width:55px;padding:7px 10px;border:1px solid #f0b8aa;border-radius:999px;background:#fff;color:#a2341d;font-size:.72rem;font-weight:850;line-height:1}.missing-volume-list span i{color:var(--orange);font-style:normal;font-weight:900}@media(max-width:700px){.page-scroll-progress{height:3px}.missing-callout{grid-template-columns:1fr;gap:0}.missing-callout-head{padding:15px 17px}.missing-volume-list{padding:14px;gap:6px}.missing-volume-list span{min-width:52px;padding:7px 9px}}
/* Aligned missing-volume grid and balanced scroll controls */
.missing-callout{display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);align-items:start;gap:22px;margin-top:20px;padding:20px;border:1px solid rgba(255,91,53,.22);border-left:4px solid var(--orange);background:linear-gradient(135deg,#fff4ef,#ffe5dc);box-shadow:0 8px 24px rgba(116,48,29,.07)}.missing-callout-head{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;padding:2px 0}.missing-callout-head small{color:#a04a34;font-size:.58rem;font-weight:900;letter-spacing:.14em}.missing-callout .missing-callout-head b{color:var(--ink);font-size:1.05rem;line-height:1.35;letter-spacing:-.035em}.missing-callout-head span{color:#8d6257;font-size:.68rem;font-weight:700}.missing-volume-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));align-items:stretch;gap:7px;width:100%;min-width:0}.missing-volume-list span{display:flex;align-items:center;justify-content:center;width-content:center;width:100%;min-width:0;height:36px;padding:0 8px;border:1px solid rgba(255,91,53,.3);border-radius:8px;background:#fffdf9;color:#8c2e19;font-size:.74rem;font-weight:850;line-height:1;box-shadow:0 2px 7px rgba(116,48,29,.06)}.page-scroll-controls{align-items:center}.page-scroll-controls button{width:46px;height:46px}.page-scroll-controls svg{width:23px;height:23px}@media(max-width:700px){.page-scroll-progress{height:3px}.missing-callout{grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.missing-callout-head{padding:0}.missing-volume-list{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}.missing-volume-list span{height:34px;padding:0 5px;font-size:.7rem}.page-scroll-controls button{width:42px;height:42px}.page-scroll-controls svg{width:21px;height:21px}}
/* Restore the compact missing-callout heading */
.missing-callout-head{display:block;min-width:0;padding:0;line-height:1.55}.missing-callout-head small{display:none}.missing-callout .missing-callout-head b{display:inline;color:var(--orange);font-size:.8rem;line-height:inherit;letter-spacing:normal}.missing-callout-head span{display:inline;margin-left:7px;color:var(--muted);font-size:.72rem;font-weight:500}
/* Restore the original missing-volume callout */
.missing-callout{display:flex;grid-template-columns:none;align-items:flex-start;gap:15px;flex-wrap:wrap;margin-top:18px;padding:12px 15px;border:0;border-left:0;background:#ffe0d9;box-shadow:none;font-size:.8rem}.missing-callout>b{display:block;color:var(--orange);font-size:.8rem;line-height:1.5;letter-spacing:normal;white-space:nowrap}.missing-volume-list{display:flex;flex:1 1 320px;grid-template-columns:none;align-items:flex-start;gap:5px;width:auto;min-width:0;flex-wrap:wrap}.missing-volume-list span{display:block;width:auto;min-width:0;height:auto;padding:3px 7px;border:1px solid rgba(255,91,53,.35);border-radius:0;background:rgba(255,255,255,.55);color:#8c2e19;font-size:.7rem;font-weight:800;line-height:normal;box-shadow:none}@media(max-width:700px){.missing-callout{display:flex;grid-template-columns:none;gap:10px;padding:12px 15px}.missing-volume-list{display:flex;grid-template-columns:none;gap:5px}.missing-volume-list span{width:auto;height:auto;padding:3px 7px;font-size:.7rem}}
