:root{--accent:#ff3d7f;--accent-2:#1ec8c8;--accent-2-ink:#07474b;--accent-2-deep:#0e9ea3;--panel-bg:#fff;--panel-2:#f0fafa;--panel-3:#e3f6f6;--panel-line:#bfe6e7;--panel-text:#0b4a4f;--panel-muted:#5b8f94;--area-bg:#e4f5f5;--strip-bg:#d2eeee;--topbar:linear-gradient(90deg, #0e9ea3, #1ec8c8);--danger:#e0245e;--reader-bg:#eaf8f8;color:var(--panel-text);font-family:Shantell Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--area-bg)}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}.loading{height:100%;color:var(--panel-muted);place-items:center;font-size:20px;display:grid}.logo{letter-spacing:1px;color:#fff;background:var(--accent);border:2px solid #fff;padding:0 10px;font-family:Bangers,cursive;font-size:26px;transform:rotate(-2deg);box-shadow:4px 4px #ffffffd9}.logo.big{padding:2px 18px;font-size:56px}.btn{border:1px solid var(--panel-line);background:var(--panel-3);color:var(--panel-text);white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.btn.danger{color:var(--danger);background:0 0;border-color:#f3b3c6}.btn.block{width:100%}.editor{flex-direction:column;height:100%;display:flex}.topbar{background:var(--topbar);color:#fff;border-bottom:3px solid #fff;align-items:center;gap:10px;padding:8px 14px;display:flex;box-shadow:0 2px 10px #0e9ea340}.topbar .btn{color:#fff;background:#ffffff29;border-color:#ffffff59}.topbar .btn:hover:not(:disabled){border-color:#fff}.topbar .btn.primary{background:var(--accent);border-color:#fff}.topbar .save-state{color:#ffffffd9}.title-input:hover,.title-input:focus{border-color:#fff9!important}.title-input{color:#fff;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;min-width:220px;padding:5px 8px;font-size:17px}.title-input:hover,.title-input:focus{border-color:var(--panel-line);outline:none}.spacer{flex:1}.save-state{color:var(--panel-muted);text-align:center;min-width:70px;font-size:13px}.workspace{flex:1;min-height:0;display:flex}.page-area{background:var(--area-bg);flex-direction:column;flex:3;min-width:0;display:flex}.canvas-wrap{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.stage-holder{background:#fff;position:relative;box-shadow:0 2px 6px #0e6e7326,0 12px 40px #0e6e732e}.canvas-hint{background:var(--accent-2-deep);color:#fff;pointer-events:none;border-radius:20px;padding:6px 12px;font-size:13px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.text-edit{transform-origin:0 0;border:2px dashed var(--accent-2);resize:none;z-index:5;background:#ffffffd9;outline:none;margin:0;padding:0;position:absolute;overflow:hidden}.pages-strip{background:var(--strip-bg);border-top:1px solid var(--panel-line);align-items:flex-end;gap:14px;min-height:132px;padding:10px 16px 12px;display:flex;overflow-x:auto}.page-thumb{flex-direction:column;flex:none;align-items:center;gap:3px;display:flex;position:relative}.page-thumb .thumb{background:#fff;border:2px solid #0000;border-radius:3px;width:62px;height:93px;padding:0;box-shadow:0 1px 3px #0e6e7340}.page-thumb.active .thumb{border-color:var(--accent)}.page-thumb .num{color:var(--panel-muted);font-size:12px}.page-thumb-svg{width:100%;height:100%;display:block}.thumb-actions{background:var(--accent-2-deep);border-radius:6px;gap:2px;padding:2px;display:none;position:absolute;top:-4px;left:50%;transform:translate(-50%,-100%)}.page-thumb.active:hover .thumb-actions{display:flex}.thumb-actions button{color:#fff;background:0 0;border:none;padding:2px 6px;font-size:13px}.add-page{border:2px dashed var(--accent-2);width:62px;height:93px;color:var(--accent-2-deep);background:0 0;border-radius:3px;flex:none;margin-bottom:19px;font-size:12px}.add-page:hover{border-color:var(--accent);color:var(--accent)}.tool-panel{background:var(--panel-bg);min-width:300px;max-width:420px;color:var(--panel-text);border-left:1px solid var(--panel-line);flex-direction:column;flex:1;min-height:0;display:flex;box-shadow:-4px 0 16px #0e6e7314}.tabs{border-bottom:1px solid var(--panel-line);padding:0 6px;display:flex}.tabs button{color:var(--panel-muted);background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px 2px 10px;font-size:14px}.tabs button.active{color:var(--accent-2-deep);border-bottom-color:var(--accent);font-weight:600}.tab-body{flex:1;padding:14px;overflow-y:auto}.hint{color:var(--panel-muted);margin:0 0 12px;font-size:12.5px;line-height:1.4}.empty{color:var(--panel-muted);font-size:13px}.tile-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tile-grid.two{grid-template-columns:repeat(2,1fr)}.tile{background:var(--panel-2);border:1px solid var(--panel-line);color:var(--panel-text);cursor:grab;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 6px;font-size:12px;transition:border-color .15s,transform .15s;display:flex}.tile:hover{border-color:var(--accent);transform:translateY(-1px)}.tile:active{cursor:grabbing}.tile-art{pointer-events:none;justify-content:center;align-items:center;width:100%;display:flex}.preview-svg{width:56px;height:84px}.preview-svg.bubble{width:100%;height:78px}.tile.wide .tile-art{border:1px solid var(--panel-line);background:#fff;border-radius:6px;height:84px;overflow:hidden}.text-sample{white-space:nowrap;paint-order:stroke fill}.asset-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.asset{aspect-ratio:1;border:1px solid var(--panel-line);background:var(--panel-2);cursor:grab;border-radius:8px;padding:0;overflow:hidden}.asset:hover{border-color:var(--accent)}.asset img{object-fit:cover;width:100%;height:100%;display:block}.props{flex-direction:column;gap:12px;display:flex}.props.edit-mode{flex:1;padding:0 16px 20px;overflow-y:auto}.edit-head{z-index:1;background:var(--panel-bg);border-bottom:1px solid var(--panel-line);padding:14px 0 12px;position:sticky;top:0}.edit-head>div{flex-direction:column;display:flex}.edit-label{text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-size:11px}.props .edit-head strong{font-size:20px}.close-x{border:1px solid var(--panel-line);background:var(--panel-3);width:38px;height:38px;color:var(--panel-text);border-radius:50%;padding:0;font-size:18px}.action-row{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.action-row button{background:var(--panel-2);border:1px solid var(--panel-line);color:var(--panel-text);border-radius:8px;padding:7px 2px;font-size:12px}.sec{text-transform:uppercase;letter-spacing:.8px;color:var(--panel-muted);margin:8px 0 -4px;font-size:12px;font-weight:600}.sub-hint{color:var(--panel-muted);margin-bottom:-6px;font-size:12px}.asset-grid.small{grid-template-columns:repeat(4,1fr);gap:6px}.asset.active{border:2px solid var(--accent)}.props header{justify-content:space-between;align-items:center;display:flex}.props header strong{font-size:15px}.row-btns{gap:4px;display:flex}.row-btns button{background:var(--panel-3);border:1px solid var(--panel-line);color:var(--panel-text);border-radius:6px;width:30px;height:28px;padding:0;font-size:13px}.row-btns button.danger:hover{border-color:var(--danger)}.field{color:var(--panel-muted);flex-direction:column;flex:1;gap:5px;font-size:12.5px;display:flex}.field b{color:var(--panel-text);float:right;font-weight:600}.field-row{align-items:flex-end;gap:8px;display:flex}.field-row .btn{flex:1;padding:7px 6px;font-size:13px}input[type=color]{background:var(--panel-3);border:1px solid var(--panel-line);cursor:pointer;border-radius:6px;width:100%;min-width:44px;height:32px;padding:2px}.field-row>input[type=color]{flex:none;width:48px}input[type=range]{width:100%;accent-color:var(--accent)}select,.text-input{background:var(--panel-3);color:var(--panel-text);border:1px solid var(--panel-line);border-radius:6px;flex:1;min-width:0;padding:7px 8px;font-size:15px}.text-input{resize:vertical;font-family:inherit}.seg{background:var(--panel-3);border-radius:8px;gap:2px;padding:3px;display:flex}.seg button{color:var(--panel-muted);background:0 0;border:none;border-radius:6px;flex:1;padding:6px 2px;font-size:12.5px}.seg button.active{background:var(--accent);color:#fff}.home{background:var(--area-bg);min-height:100%;color:var(--panel-text)}.home-head{background:linear-gradient(135deg,#0e9ea3,#1ec8c8 70%,#5fdcdc);flex-direction:column;align-items:center;gap:8px;padding:48px 24px 24px;display:flex}.home-head p{color:#fff;margin:10px 0 0}.home-body{max-width:1100px;margin:0 auto;padding:24px}.home-title{justify-content:space-between;align-items:center;display:flex}.home-title h2{letter-spacing:1px;font-family:Bangers,cursive;font-size:32px;font-weight:400}.home-empty{text-align:center;color:var(--panel-muted);border:2px dashed var(--panel-line);border-radius:14px;padding:40px}.comic-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px;display:grid}.comic-card{background:var(--panel-2);border:1px solid var(--panel-line);border-radius:12px;position:relative;overflow:hidden}.comic-card .cover{aspect-ratio:2/3;background:#fff;border:none;width:100%;padding:0;display:block}.comic-card .meta{flex-direction:column;gap:2px;padding:10px 12px;display:flex}.comic-card .meta span{color:var(--panel-muted);font-size:12px}.comic-card .del{border:1px solid var(--panel-line);opacity:0;background:#ffffffeb;border-radius:6px;padding:4px 7px;position:absolute;top:8px;right:8px}.comic-card:hover .del{opacity:1}.size-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.num-box{background:var(--panel-3);border:1px solid var(--panel-line);color:var(--panel-muted);border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:flex}.num-box:focus-within{border-color:var(--accent-2)}.num-box input{width:100%;min-width:0;color:var(--panel-text);font:inherit;text-align:right;background:0 0;border:none;outline:none;flex:1;padding:7px 0;font-size:14px}.hint.tight{margin:-4px 0 0}.tabs button.active{border-bottom-color:var(--accent-2)}.seg button.active{background:var(--accent-2);color:var(--accent-2-ink);font-weight:600}input[type=range]{accent-color:var(--accent-2)}.home-title h2{color:var(--accent-2-deep)}.check{background:var(--panel-2);border:1px solid var(--panel-line);cursor:pointer;color:var(--panel-muted);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.check:hover{border-color:var(--accent-2)}.check input{width:18px;height:18px;accent-color:var(--accent-2);cursor:pointer;flex:none;margin:1px 0 0}.check b{color:var(--panel-text);font-size:13px;font-weight:600;display:block}.reader{background:var(--reader-bg);width:100%;height:100%;color:var(--panel-text);-webkit-user-select:none;user-select:none;touch-action:none;position:relative;overflow:hidden}.reader-surface{cursor:pointer;position:absolute;inset:0}.reader-sheet{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.reader-sheet.animate{transition:transform .45s cubic-bezier(.3,.7,.2,1)}.reader-sheet img{width:100%;height:100%;display:block}.reader-mask{box-shadow:0 0 0 4000px var(--reader-bg);pointer-events:none;transition:all .45s cubic-bezier(.3,.7,.2,1);position:absolute}.reader-ui{pointer-events:none;flex-direction:column;justify-content:space-between;transition:opacity .2s;display:flex;position:absolute;inset:0}.reader-ui.hidden{opacity:0}.reader-ui.hidden *{pointer-events:none!important}.reader-top,.reader-bottom{pointer-events:auto;padding:12px 14px}.reader-top{background:linear-gradient(#fffffff5,#fff0);justify-content:space-between;align-items:center;padding-bottom:26px;display:flex}.reader-title{flex-direction:column;min-width:0;display:flex}.reader-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.reader-title span{color:var(--accent-2-deep);font-size:12px}.reader-close{background:var(--panel-3);width:36px;height:36px;color:var(--panel-text);border:none;border-radius:50%;flex:none;font-size:16px}.reader-bottom{background:linear-gradient(#fff0,#fffffff5);flex-direction:column;align-items:center;gap:10px;padding-top:26px;display:flex}.reader-progress{background:var(--panel-line);border-radius:2px;width:100%;height:4px;overflow:hidden}.reader-progress div{background:var(--accent);height:100%;transition:width .3s}.reader-modes{background:var(--panel-3);border-radius:20px;padding:3px;display:flex}.reader-modes button{color:var(--panel-text);background:0 0;border:none;border-radius:16px;padding:7px 14px;font-size:13px}.reader-modes button.active{background:var(--accent-2);color:var(--accent-2-ink);font-weight:600}.reader-end{letter-spacing:1px;color:var(--accent);font-family:Bangers,cursive;font-size:22px}.preview-backdrop{z-index:50;background:radial-gradient(circle at 70% 20%, #1ec8c82e, transparent 50%), radial-gradient(circle at 30% 90%, #ff3d7f1f, transparent 50%), var(--area-bg);color:var(--panel-text);display:flex;position:fixed;inset:0}.preview-side{border-right:1px solid var(--panel-line);background:#fff;flex-direction:column;gap:12px;width:280px;padding:28px 22px;display:flex}.preview-side strong{font-size:20px}.preview-side p{color:var(--panel-muted);margin:0;font-size:14px}.preview-side ul{color:var(--panel-muted);margin:0 0 8px;padding-left:18px;font-size:13px;line-height:1.7}.preview-stage{flex:1;place-items:center;display:grid;overflow:hidden}.phone{box-shadow:0 0 0 3px var(--accent-2), 0 30px 80px #0e6e7359;box-sizing:content-box;transform-origin:0 0;background:#fff;border-radius:48px;flex:none;padding:14px}.phone-screen{background:var(--reader-bg);border-radius:36px;width:100%;height:100%;overflow:hidden}.phone-loading{height:100%;color:var(--panel-muted);place-items:center;display:grid}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e6e7359;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(440px,100%);max-height:calc(100vh - 40px);color:var(--panel-text);background:#fff;border-radius:16px;flex-direction:column;gap:14px;padding:26px 24px 22px;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0e6e7359}.modal.publish{width:min(520px,100%)}.modal h3{letter-spacing:1px;color:var(--accent-2-deep);margin:0;font-family:Bangers,cursive;font-size:30px;font-weight:400}.modal.auth .logo{box-shadow:4px 4px 0 var(--accent-2);align-self:center;margin-bottom:4px}.modal-x{width:34px;height:34px;font-size:15px;position:absolute;top:14px;right:14px}.modal-reason{text-align:center;margin:0;font-size:14px}.text-field{background:var(--panel-2);width:100%;color:var(--panel-text);border:1px solid var(--panel-line);font:inherit;border-radius:8px;outline:none;padding:9px 11px;font-size:15px}.text-field:focus{border-color:var(--accent-2);background:#fff}textarea.text-field{resize:vertical}.form-error{color:var(--danger);background:#fdeef3;border-radius:8px;margin:0;padding:8px 10px;font-size:13.5px}.form-info{color:var(--accent-2-ink);background:var(--panel-3);border-radius:8px;margin:0;padding:8px 10px;font-size:13.5px}.hint.center{text-align:center;margin:0}.hint.dark{color:var(--panel-muted);margin:-8px 0 16px}.cover-pick{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.cover-opt{border:2px solid var(--panel-line);background:#fff;border-radius:4px;flex:none;width:56px;height:84px;padding:0}.cover-opt.active{border-color:var(--accent)}.modal.done{text-align:center;align-items:center}.modal.done p{color:var(--panel-muted);margin:0}.big-check{color:#fff;background:var(--accent-2);border-radius:50%;place-items:center;width:64px;height:64px;font-size:34px;display:grid}.status-chip{white-space:nowrap;color:var(--accent-2-deep);background:#fff;border-radius:20px;padding:3px 9px;font-size:12px;font-weight:600}.status-chip.pending{color:#8a6200;background:#fff4c2}.status-chip.approved{color:#137a43;background:#d8f7e6}.status-chip.rejected{color:var(--danger);background:#fde3ec}.status-chip.on-card{position:absolute;top:8px;left:8px;box-shadow:0 1px 4px #0e6e7340}.status-note{background:var(--panel-3);border-radius:8px;margin:0;padding:8px 10px;font-size:13.5px}.status-note.pending{background:#fff4c2}.status-note.rejected{background:#fde3ec}.status-note.approved{background:#d8f7e6}.home-head{position:relative}.home-head.small{padding:22px 24px 18px}.account{align-items:center;gap:10px;display:flex;position:absolute;top:14px;right:18px}.account .btn{color:#fff;background:#ffffff2e;border-color:#ffffff73}.account-name{color:#fff;font-size:14px;font-weight:600}.badge{background:var(--accent);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:6px;padding:0 6px;font-size:12px;line-height:20px;display:inline-block}.comic-card .cover{position:relative;overflow:hidden}.comic-card .cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-placeholder{height:100%;color:var(--panel-muted);background:var(--panel-3);place-items:center;display:grid}.cover-busy{color:var(--accent-2-deep);background:#fffc;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.reject-reason{color:var(--danger)!important}.admin-tabs{width:auto}.admin-tabs button{padding:7px 14px;font-size:13.5px}.review-list{flex-direction:column;gap:14px;display:flex}.review-card{border:1px solid var(--panel-line);background:#fff;border-radius:14px;gap:18px;padding:14px;display:flex}.review-cover{aspect-ratio:2/3;border:1px solid var(--panel-line);background:var(--panel-3);width:110px;color:var(--panel-muted);border-radius:6px;flex:none;padding:0;font-size:12px;overflow:hidden}.review-cover img{object-fit:cover;width:100%;height:100%;display:block}.review-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.review-body h3{margin:0;font-size:20px}.review-meta,.review-desc{color:var(--panel-muted);margin:0;font-size:13.5px}.review-desc{color:var(--panel-text);white-space:pre-wrap}.review-actions{gap:8px;margin-top:auto;display:flex}.btn.approve{color:#fff;background:#1aa35b;border-color:#1aa35b;font-weight:700}.reject-box{flex-direction:column;gap:8px;display:flex}.reader-overlay{z-index:70;position:fixed;inset:0}.shell{background:var(--area-bg);flex-direction:column;min-height:100%;display:flex}.app-bar{z-index:20;padding:10px 20px;padding-top:max(10px, env(safe-area-inset-top));background:var(--topbar);color:#fff;align-items:center;gap:22px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #0e9ea340}.app-bar .logo{font-size:24px;text-decoration:none}.app-nav{gap:4px;display:flex}.app-nav a{color:#fff;opacity:.85;border-radius:20px;padding:7px 14px;font-size:15px;font-weight:600;text-decoration:none}.app-nav a:hover{opacity:1;background:#ffffff26}.app-nav a.active{opacity:1;color:var(--accent-2-deep);background:#fff}.app-account{align-items:center;gap:10px;display:flex}.app-account .btn{color:#fff;background:#ffffff2e;border-color:#ffffff73;text-decoration:none}.app-main{flex:1}.tab-bar,.mobile-only{display:none}.studio-home,.admin{background:0 0;min-height:0}.page-title{letter-spacing:1px;color:var(--accent-2-deep);margin:0 0 18px;font-family:Bangers,cursive;font-size:30px;font-weight:400}.empty.center{text-align:center;padding:30px 0}.market,.library,.detail{max-width:1100px;margin:0 auto;padding:24px 20px 40px}.market-hero{text-align:center;padding:18px 0 22px}.market-hero h1{letter-spacing:1px;color:var(--accent-2-deep);margin:0;font-family:Bangers,cursive;font-size:clamp(30px,5vw,46px);font-weight:400;line-height:1.05}.market-hero p{color:var(--panel-muted);margin:8px 0 18px}.search{border:2px solid var(--panel-line);width:min(520px,100%);font:inherit;color:var(--panel-text);background:#fff;border-radius:30px;outline:none;padding:13px 18px;font-size:16px}.search:focus{border-color:var(--accent-2)}.chips{scrollbar-width:none;gap:8px;padding:2px 0 14px;display:flex;overflow-x:auto}.chips button{border:1px solid var(--panel-line);color:var(--panel-text);background:#fff;border-radius:20px;flex:none;padding:7px 15px;font-size:14px}.chips button.active{background:var(--accent-2-deep);border-color:var(--accent-2-deep);color:#fff}.m-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:22px 18px;display:grid}.m-card{color:var(--panel-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.m-cover{aspect-ratio:2/3;border:1px solid var(--panel-line);color:var(--panel-muted);background:#fff;border-radius:10px;place-items:center;margin-bottom:6px;font-size:12px;transition:transform .15s;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 14px #0e6e7324}.m-card:hover .m-cover{transform:translateY(-3px)}.m-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.m-card strong{font-size:15px;line-height:1.25}.m-meta{color:var(--panel-muted);font-size:12.5px}.m-meta.done{color:#137a43}.age-badge,.owned-badge{border-radius:10px;padding:2px 8px;font-size:11.5px;font-weight:700;position:absolute;top:8px}.age-badge{background:var(--danger);color:#fff;right:8px}.owned-badge{background:var(--accent-2);color:var(--accent-2-ink);left:8px}.read-bar{background:#fffc;height:5px;position:absolute;bottom:0;left:0;right:0}.read-bar div{background:var(--accent);height:100%}.back-link{color:var(--accent-2-deep);margin-bottom:16px;font-weight:600;text-decoration:none;display:inline-block}.detail-main{align-items:flex-start;gap:32px;display:flex}.detail-cover{aspect-ratio:2/3;border:1px solid var(--panel-line);width:280px;color:var(--panel-muted);background:#fff;border-radius:12px;flex:none;place-items:center;display:grid;overflow:hidden;box-shadow:0 10px 30px #0e6e7333}.detail-cover img{object-fit:cover;width:100%;height:100%;display:block}.detail-info{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.detail-info h1{letter-spacing:1px;margin:0;font-family:Bangers,cursive;font-size:clamp(32px,5vw,48px);font-weight:400;line-height:1.05}.detail-author{color:var(--panel-muted);margin:0}.detail-tags{flex-wrap:wrap;gap:6px;display:flex}.detail-tags span{border:1px solid var(--panel-line);background:#fff;border-radius:14px;padding:3px 11px;font-size:13px}.detail-tags span.adult{background:var(--danger);border-color:var(--danger);color:#fff}.detail-desc{white-space:pre-wrap;margin:4px 0;line-height:1.55}.detail-actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.btn.big{text-align:center;border-radius:12px;padding:13px 28px;font-size:16px;text-decoration:none}.btn.big:not(.primary){color:var(--accent-2-deep);border-color:var(--accent-2);background:#fff}.dl-progress{background:var(--panel-3);border-radius:12px;width:min(320px,100%);height:48px;position:relative;overflow:hidden}.dl-progress div{background:var(--accent-2);transition:width .2s;position:absolute;top:0;bottom:0;left:0}.dl-progress span{height:100%;color:var(--accent-2-ink);place-items:center;font-weight:700;display:grid;position:relative}.detail-note{color:var(--panel-muted);margin:0;font-size:13px}.link-btn{color:var(--danger);background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.install-hint{border:1px solid var(--panel-line);background:#fff;border-radius:14px;align-items:center;gap:14px;margin-bottom:22px;padding:12px 14px;display:flex;box-shadow:0 4px 14px #0e6e731f}.install-hint img{border-radius:12px;flex:none;width:48px;height:48px}.install-hint>div{flex-direction:column;flex:1;gap:2px;font-size:13.5px;display:flex}.install-hint strong{font-size:15px}.close-x.small{flex:none;width:30px;height:30px;font-size:13px}.read-page{z-index:80;background:var(--reader-bg);position:fixed;inset:0}.read-page.message{color:var(--panel-text);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.reader-top{padding-top:max(12px, env(safe-area-inset-top))}.reader-bottom{padding-bottom:max(12px, env(safe-area-inset-bottom))}@media (width<=760px){.app-nav{display:none}.app-bar{padding:8px 14px;padding-top:max(8px, env(safe-area-inset-top));gap:10px}.app-bar .logo{font-size:21px}.app-account .account-name{display:none}.app-account .btn{padding:6px 10px;font-size:13px}.app-main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tab-bar{z-index:30;border-top:1px solid var(--panel-line);padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0e6e731a}.tab-bar a{color:var(--panel-muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 7px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.tab-bar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;width:24px;height:24px}.tab-bar a.active{color:var(--accent-2-deep)}.tab-bar a.active svg{stroke:var(--accent)}.mobile-only{display:block}.market,.library,.detail{padding:14px 14px 30px}.market-hero{padding:6px 0 16px}.m-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}.detail-main{flex-direction:column;align-items:center;gap:18px}.detail-cover{width:min(240px,70vw)}.detail-info{width:100%}.detail-actions .btn.big{flex:1}.home-body{padding:16px 14px}.review-card{flex-direction:column}}.only-on{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:460px;margin:0 auto;padding:48px 20px;display:flex}.only-on h2{letter-spacing:1px;color:var(--accent-2-deep);margin:0;font-family:Bangers,cursive;font-size:36px;font-weight:400}.only-on p{margin:0;line-height:1.5}.only-on .qr{border:3px solid var(--accent-2);background:#fff;border-radius:14px;width:220px;height:220px;padding:8px}button.back-link{font:inherit;background:0 0;border:none;padding:0;font-weight:600}.link-btn.plain{color:var(--accent-2-deep);align-self:center;font-size:14px;text-decoration:none}.link-btn.report-link{color:var(--panel-muted);align-self:flex-start;margin-top:6px;font-size:13px}.modal-reason.left{text-align:left}.saved-note{color:#137a43;font-size:14px;font-weight:600}.consent{cursor:pointer;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;display:flex}.consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:1px 0 0}.consent a{color:var(--accent-2-deep)}.legal{max-width:760px;margin:0 auto;padding:24px 20px 40px;line-height:1.6}.legal h1{letter-spacing:1px;color:var(--accent-2-deep);margin:0;font-family:Bangers,cursive;font-size:40px;font-weight:400}.legal h2{margin:26px 0 6px;font-size:18px}.legal-date{color:var(--panel-muted);margin:4px 0 0;font-size:14px}.legal a{color:var(--accent-2-deep)}.legal ul{padding-left:20px}.app-footer{flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:26px 16px 22px;font-size:12.5px;display:flex}.app-footer a{color:var(--panel-muted);text-decoration:none}.app-footer a:hover{color:var(--accent-2-deep);text-decoration:underline}.reasons{flex-direction:column;gap:6px;display:flex}.reason{border:1px solid var(--panel-line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.reason.active{border-color:var(--accent);background:#fff0f5}.reason input{accent-color:var(--accent)}.report-list{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13.5px;display:flex}.report-list span{color:var(--panel-muted)}.update-toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:90;border:2px solid var(--accent-2);background:#fff;border-radius:14px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0e6e734d}.sort-row{justify-content:center;margin-bottom:12px;display:flex}.sort-seg{border:1px solid var(--panel-line);background:#fff}.sort-seg button{padding:7px 16px;font-size:13.5px}.btn.like-btn{min-width:90px}.btn.like-btn.on{color:var(--accent);border-color:var(--accent);background:#fff0f5}a.detail-author.link{color:var(--panel-muted);border:1px solid var(--panel-line);background:#fff;border-radius:20px;align-self:flex-start;align-items:center;gap:8px;padding:3px 12px 3px 3px;text-decoration:none;display:inline-flex}a.detail-author.link:hover{border-color:var(--accent-2)}.avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;flex:none;display:inline-block;box-shadow:0 1px 4px #0e6e7340}.avatar.letter{background:var(--accent);color:#fff;place-items:center;font-family:Bangers,cursive;font-weight:700;display:inline-grid}.author-head{border:1px solid var(--panel-line);background:#fff;border-radius:16px;align-items:flex-start;gap:22px;margin-bottom:24px;padding:20px;display:flex}.author-info{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.author-info h1{letter-spacing:1px;margin:0;font-family:Bangers,cursive;font-size:34px;font-weight:400}.author-stats{color:var(--panel-muted);flex-wrap:wrap;gap:4px 16px;margin:0;font-size:14px;display:flex}.author-stats b{color:var(--panel-text)}.author-bio{white-space:pre-wrap;margin:0;line-height:1.5}.follow-btn{align-self:flex-start;margin-top:4px}.page-title.small{margin-bottom:12px;font-size:24px}.profile-card{border:1px solid var(--panel-line);background:#fff;border-radius:16px;gap:28px;max-width:760px;padding:24px;display:flex}.profile-avatar{flex-direction:column;align-items:center;gap:12px;display:flex}.profile-fields{flex-direction:column;flex:1;gap:12px;display:flex}.profile-fields h3{margin:0;font-size:24px}.profile-edit .field span{color:var(--panel-muted)}.app-account a.account-name{border-bottom:1px dashed #ffffffb3;text-decoration:none}.lib-section{margin:0 0 26px}.lib-section h3{margin:0 0 10px;font-size:17px}.h-scroll{scrollbar-width:none;grid-auto-columns:140px;grid-auto-flow:column;gap:14px;padding-bottom:6px;display:grid;overflow-x:auto}@media (width<=760px){.author-head{text-align:center;flex-direction:column;align-items:center}.author-info{align-items:center}.follow-btn{align-self:stretch}.author-stats{justify-content:center}.app-footer{padding-bottom:10px}}.password-form{flex-direction:column;gap:12px;display:flex}.profile-card.security{margin-top:18px}.profile-card.security .password-form{max-width:360px}.profile-card.security .btn{align-self:flex-start}.topbar .btn.toggle{opacity:.75}.topbar .btn.toggle.on{opacity:1;background:#ffffff38;border-color:#fff9}.tabs button{padding-left:0;padding-right:0;font-size:13px}.tools-seg button{padding:8px 2px;font-size:13px}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatch{border:2px solid var(--panel-line);border-radius:50%;width:28px;height:28px;padding:0}.swatch.active{outline:3px solid var(--accent);outline-offset:1px}input[type=color].swatch-custom{border-radius:50%;width:28px;min-width:0;height:28px;padding:0;overflow:hidden}.pen-preview{border:1px solid var(--panel-line);background:#fff;border-radius:10px;place-items:center;height:70px;display:grid}.pen-preview span{border-radius:50%;max-width:120px;max-height:120px;display:block}:root{--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--sh-sm:0 1px 3px #0e6e7324;--sh-md:0 6px 18px #0e6e7329;--sh-lg:0 20px 50px #0e6e7347;--fs-xs:12px;--fs-sm:13.5px;--fs-md:15px;--ink:var(--panel-text);--muted:var(--panel-muted);--teal:var(--accent-2-deep);--line:var(--panel-line);--surface:#fff;--focus-ring:0 0 0 3px #1ec8c840;--danger:#e0245e}.logo{border:2px solid #fff;padding:0 10px;font-size:24px;line-height:1.25;text-decoration:none;box-shadow:3px 3px #ffffffd9}.modal .logo{box-shadow:3px 3px 0 var(--accent-2)}.topbar,.app-bar{min-height:56px;padding:8px 18px;padding-top:max(8px, env(safe-area-inset-top));border-bottom:none;gap:12px;box-shadow:0 2px 10px #0e9ea340}.topbar .logo,.app-bar .logo{font-size:24px}.topbar .title-input{font-size:16px;font-weight:600}.topbar .save-state{font-size:var(--fs-xs);min-width:0;max-width:130px;line-height:1.25}.btn{border:1.5px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:#f22c70;border-color:#f22c70}.btn.danger{background:var(--surface);color:var(--danger);border-color:#f5b8ca}.btn.danger:hover:not(:disabled){border-color:var(--danger)}.btn.approve{background:var(--teal);border-color:var(--teal);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.big{border-radius:var(--r-md);min-height:48px;padding:12px 26px;font-size:16px}.btn.big:not(.primary){background:var(--surface);color:var(--teal);border-color:var(--accent-2)}.btn.block{width:100%;display:flex}.topbar .btn,.app-account .btn{color:#fff;background:#ffffff29;border-color:#fff6}.topbar .btn.ghost{background:0 0;border-color:#0000}.topbar .btn.primary,.app-account .btn.primary{background:var(--accent);border-color:#fff}.topbar .btn:hover:not(:disabled),.app-account .btn:hover:not(:disabled){border-color:#fff}.topbar .btn.toggle.on{background:#ffffff42;border-color:#fff}.close-x{border:1.5px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.close-x.small{width:30px;height:30px}.close-x:hover{background:var(--accent);border-color:var(--accent);color:#fff}.icon{flex:none;display:block}.link-btn,.back-link{font-weight:600}.back-link{color:var(--teal);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:14.5px;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.seg{background:var(--panel-3);border-radius:var(--r-pill);border:none;gap:2px;padding:3px}.seg button,.reader-modes button{border-radius:var(--r-pill);color:var(--muted);font-weight:600}.seg button.active,.reader-modes button.active,.chips button.active{background:var(--teal);color:#fff}.sort-seg{background:var(--surface);border:1.5px solid var(--line)}.chips button{border:1.5px solid var(--line);border-radius:var(--r-pill);font-weight:600}.chips button.active{border-color:var(--teal)}.tabs button{font-weight:600}.tabs button.active{color:var(--teal);border-bottom-color:var(--teal)}.tab-bar a.active,.tab-bar a.active svg{color:var(--teal);stroke:var(--teal)}.text-field,.text-input,select,.num-box,.search{background:var(--surface);border:1.5px solid var(--line);color:var(--ink);border-radius:10px}.text-field:focus,.text-input:focus,select:focus,.num-box:focus-within,.search:focus{border-color:var(--accent-2);box-shadow:var(--focus-ring);background:var(--surface);outline:none}.search{border-radius:var(--r-pill);box-shadow:var(--sh-sm);border-width:2px}input[type=color]{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-sm)}.field>span,.field.slider span{font-weight:600;font-size:var(--fs-xs);color:var(--muted)}.modal,.review-card,.profile-card,.author-head,.install-hint,.check,.reason{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.modal{box-shadow:var(--sh-lg);border:none}.check,.reason{border-radius:var(--r-md);box-shadow:none}.home-empty{background:var(--surface);border:1.5px dashed var(--line);border-radius:var(--r-lg);color:var(--muted);flex-direction:column;align-items:center;gap:12px;display:flex}.home-empty p{margin:0}.m-cover,.comic-card .cover,.review-cover,.detail-cover{border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--sh-md);background:var(--surface)}.comic-card{background:0 0;border:none;border-radius:0;overflow:visible}.comic-card .cover{transition:transform .15s}.comic-card:hover .cover{transform:translateY(-3px)}.comic-card .meta{padding:8px 2px 0}.comic-card .meta strong,.m-card strong{font-size:15px}.comic-card .meta span,.m-meta{font-size:var(--fs-xs);color:var(--muted)}.comic-card .del{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--danger);font-size:var(--fs-xs);box-shadow:var(--sh-sm);padding:4px 9px;font-weight:600;top:8px;right:8px}.comic-grid{gap:24px 18px}.age-badge{background:var(--accent)}.owned-badge,.status-chip.on-card{box-shadow:var(--sh-sm)}.age-badge,.owned-badge,.status-chip{border-radius:var(--r-pill);letter-spacing:.2px;font-size:11.5px;font-weight:700}.badge{background:var(--accent)}.page-title,.home-title h2,.market-hero h1,.only-on h2,.legal h1,.modal h3{letter-spacing:1px;color:var(--teal);font-family:Bangers,cursive;font-weight:400;line-height:1.05}.home-title{flex-wrap:wrap;gap:16px;margin-bottom:18px}.home-title h2,.page-title{margin:0;font-size:32px}.page-title{margin-bottom:18px}.page-title.small{font-size:24px}.modal h3{font-size:30px}.detail-info h1,.author-info h1{color:var(--ink)}.hint,.hint.dark,.empty,.detail-note,.review-meta{font-size:var(--fs-sm);color:var(--muted);line-height:1.45}.form-error,.form-info,.status-note{font-size:var(--fs-sm);border-radius:10px}.home-body,.market,.library,.detail,.legal{max-width:1100px;margin:0 auto;padding:28px 24px 40px}.legal{max-width:760px}.studio-home,.admin{background:0 0}.tile,.asset{border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--panel-2)}.tile:hover,.asset:hover{border-color:var(--accent-2)}.action-row button{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;min-height:34px;font-weight:600}.action-row button:hover{border-color:var(--accent-2)}.action-row button.danger{color:var(--danger)}.pages-strip .thumb-actions button{padding:3px 7px;font-size:11.5px;font-weight:600}.page-thumb .thumb,.add-page{border-radius:var(--r-sm)}.reader-close{background:var(--surface);border:1.5px solid var(--line);color:var(--ink);place-items:center;display:grid}.reader-end{color:var(--accent)}.like-btn{gap:8px}.like-btn.on{color:var(--accent)}@media (width<=760px){.topbar,.app-bar{min-height:52px;padding:8px 14px;padding-top:max(8px, env(safe-area-inset-top))}.app-bar .logo{font-size:21px}.home-body,.market,.library,.detail,.legal{padding:16px 14px 28px}.home-title h2,.page-title{font-size:28px}}
