/* Functional layout only. Replace visual styling without changing data-* hooks. */
:root{font-family:system-ui,sans-serif;color:#222;background:#fff;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}button,input,select,textarea{padding:.45rem}label{display:inline-flex;gap:.35rem;align-items:center}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #3469ce;outline-offset:3px}[hidden]{display:none!important}.site-header,main,.banner-grid,.text-ads,footer{max-width:1440px;margin:auto;padding:12px}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:16px;border-bottom:1px solid #ddd}.site-logo{font-size:1.6rem;font-weight:700}.site-header nav{display:flex;flex-wrap:wrap;gap:12px}.site-search{display:flex;gap:4px}.site-search input{min-width:0;width:180px}.account a,.account form{display:block;padding:4px}.banner-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.banner img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.text-ads{display:flex;flex-wrap:wrap;gap:16px}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.filters fieldset{border:1px solid #ddd;padding:6px;display:flex;flex-wrap:wrap;gap:8px}.filters fieldset:last-of-type{flex-basis:100%}.company-icon{width:22px;height:22px;object-fit:contain;vertical-align:middle}.webtoon-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.webtoon-card{min-width:0;border:1px solid #ddd;padding:6px}.webtoon-card>a:first-child{display:block;text-decoration:none}.webtoon-card h2{font-size:1rem;margin:.4rem 0;overflow-wrap:anywhere}.webtoon-card p{font-size:.8rem;margin:.2rem 0;overflow-wrap:anywhere}.webtoon-card time{font-size:.75rem}.webtoon-thumb,.missing-thumb{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}.missing-thumb{background:#eee;display:grid;place-items:center}.company{font-size:.8rem}.webtoon-info{display:flex;align-items:flex-start;gap:20px}.webtoon-info>img{width:180px;height:auto;object-fit:contain}.webtoon-info h1{margin-top:0}.actions,.viewer-nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px 0}.episode-list{list-style:none;padding:0}.episode-list a{display:flex;justify-content:space-between;gap:16px;padding:12px 4px;border-bottom:1px solid #ddd;text-decoration:none}.episode-list time{font-size:.85rem;flex-shrink:0}.viewer-images{max-width:900px;margin:auto}.viewer-images figure{margin:0}.viewer-images img{display:block;width:100%;height:auto}.viewer-images figcaption{padding:24px}.viewer-nav{justify-content:center}.viewer-nav [aria-disabled]{color:#777}.episode-picker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-bottom:12px}.episode-picker select{max-width:75vw}.plain-text{white-space:pre-wrap;overflow-wrap:anywhere}.auth-form{max-width:440px;margin:24px auto}.auth-form form,.admin-form{display:flex;flex-direction:column;gap:16px}.auth-form label,.admin-form>label{align-items:flex-start;flex-direction:column}.auth-form input,.admin-form textarea,.admin-form input[type=text]{width:100%}.admin-form{max-width:700px}.admin-preview{max-width:200px;max-height:150px;object-fit:contain}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%}td,th{border:1px solid #ddd;text-align:left;padding:8px}.inline{display:inline-block}.popup{max-width:500px;width:calc(100% - 32px);border:1px solid #aaa}.popup img{max-width:100%;height:auto}.popup::backdrop{background:#0006}#notice{position:fixed;bottom:20px;left:20px;right:20px;background:#222;color:#fff;padding:12px;max-width:650px;z-index:20}[data-feed-sentinel]{height:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{border-top:1px solid #ddd;margin-top:20px}
.episode-picker>label{flex:1 1 260px;min-width:0;max-width:600px}.episode-picker select{flex:1;min-width:0;max-width:100%}.episode-picker [data-picker-status]{font-size:.85rem;color:#555}.scroll-top{position:fixed;right:16px;bottom:16px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:56px;min-height:56px;padding:8px;border:1px solid #aaa;border-radius:12px;background:#fff;color:#222;box-shadow:0 3px 12px #0002;text-decoration:none;font-size:.75rem;line-height:1.2}.scroll-top [aria-hidden]{font-size:1.4rem;line-height:1}footer{padding-bottom:84px}
@media(max-width:767px){.banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.webtoon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.site-header{gap:10px}.site-search{order:4;width:100%}.site-search input{flex:1}.webtoon-info{gap:12px}.webtoon-info>img{width:30%}.webtoon-info h1{font-size:1.25rem}.episode-list a{gap:8px}.episode-list time{font-size:.75rem}.filters{gap:6px}.webtoon-card{padding:4px}main{padding:8px}}
