*{box-sizing:border-box}body{color:#243233;margin:0;font-family:Inter,Arial,Microsoft YaHei,sans-serif}.muted{color:#788383}.center{place-items:center;min-height:100vh;display:grid}.login-shell{background:#f3f5f3;grid-template-columns:1.2fr 1fr;align-items:center;gap:8vw;min-height:100vh;padding:7vw;display:grid}.brand-word{letter-spacing:-1.3px;color:#255b4b;font-size:28px;font-weight:800}.brand-word span{letter-spacing:2px;color:#818e87;margin-left:10px;font-size:11px;font-weight:500}.login-story h1{letter-spacing:-2px;margin:54px 0 22px;font-size:clamp(32px,4vw,60px);font-weight:650;line-height:1.35}.login-story p{color:#67796e;font-size:16px;line-height:1.9}.story-lines{color:#6e8b71;border-top:1px solid #d8dfd7;align-items:center;gap:26px;margin-top:68px;padding-top:26px;display:flex}.story-lines span{letter-spacing:3px;font-size:10px}.login-card{border:1px solid #e2e8e2;border-radius:18px;width:100%;max-width:460px;padding:18px 14px;box-shadow:0 22px 60px #1b412509}.login-card h2{margin-bottom:8px}.login-card form{margin-top:28px}.login-note{color:#99a19c;text-align:center;margin-top:30px;font-size:12px}.studio{min-height:100vh}.studio .ant-layout-sider{border-right:1px solid #e6eae6}.studio-brand{letter-spacing:-1px;color:#255b4b;flex-direction:column;justify-content:center;height:100px;padding-left:28px;font-size:25px;font-weight:800;display:flex}.studio-brand span{color:#939e96;letter-spacing:2px;margin-top:6px;font-size:11px;font-weight:400}.studio .ant-menu{padding:0 12px;border-inline-end:0!important}.studio-header{border-bottom:1px solid #e6eae6;justify-content:space-between;align-items:center;font-size:14px;display:flex;background:#fff!important;padding:0 32px!important}.studio-header>div{align-items:center;gap:18px;display:flex}.studio-content{background:#f5f6f4;min-width:0;padding:32px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.page-heading h2{margin:0 0 8px;font-size:27px}.page-heading p{margin:0}.sidebar-footer{letter-spacing:1.5px;color:#94a098;margin-top:20px;padding:28px;font-size:10px;line-height:2;position:static}.permission-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.audit-json{white-space:pre-wrap;word-break:break-all;background:#f4f6f3;border-radius:8px;padding:16px;font-size:12px}.ant-table-wrapper{background:#fff;border-radius:12px}.ant-layout-sider-collapsed .studio-brand{padding-left:6px;font-size:12px}.ant-layout-sider-collapsed .studio-brand span,.ant-layout-sider-collapsed .sidebar-footer{display:none}@media (width<=760px){.login-shell{grid-template-columns:1fr;gap:24px;padding:32px 20px}.login-story h1{margin:24px 0 12px;font-size:32px}.story-lines{display:none}.login-card{max-width:none}.studio-content{padding:20px 12px}.studio-header{padding:0 16px!important}.page-heading{align-items:flex-start}.page-heading h2{font-size:23px}.permission-grid{grid-template-columns:1fr}}.comic-table-title{align-items:center;gap:14px;display:flex}.comic-table-title img,.cover-placeholder{object-fit:cover;color:#809780;background:#edf0e8;border-radius:6px;place-items:center;width:48px;height:64px;display:grid}.comic-table-title p{margin:6px 0 0;font-size:12px}.comic-editor-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:24px;display:grid}.editor-cover{object-fit:cover;border-radius:8px;width:180px;max-height:260px;margin-bottom:20px;display:block}.upload-panel{background:#fafcf8;border:1px dashed #b6c8b8;border-radius:10px;gap:14px;padding:18px;display:flex}.upload-panel>svg{color:#678776;flex-shrink:0}.upload-panel p{font-size:12px;line-height:1.7}.upload-panel input{max-width:100%}.upload-results>div{border-top:1px solid #e6ece5;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:12px;display:flex}.upload-results span:first-child{word-break:break-all}.error-text{color:#b64040}.chapter-pages{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.page-preview{cursor:zoom-in;background:#f3f5f0;border:0;border-radius:6px;width:100%;height:240px;padding:0;overflow:hidden}.page-preview img{object-fit:contain;width:100%;height:100%}.page-preview .cover-placeholder{width:100%;height:100%;padding:10px}.page-card .ant-card-head-title>span{align-items:center;gap:5px;display:flex}.page-card .muted{font-size:11px}.ad-thumb{object-fit:cover;background:#eef1ec;border-radius:6px;width:56px;height:42px}@media (width<=900px){.comic-editor-grid{grid-template-columns:1fr}.upload-panel{padding:12px}.chapter-pages{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
