*{box-sizing:border-box;margin:0;padding:0}:root{--ios-blue:#2f7cf6;--ios-blue-deep:#1f6ae0;--ios-violet:#7a5af8;--ios-amber:#f79009;--ink-1:#0f172a;--ink-2:#475569;--ink-3:#94a3b8;--line:#10182812;--surface-1:#10182808;--surface-2:#1018280b;--badge-idle:#10182840;--glass:#ffffffa8;--glass-soft:#ffffff75;--glass-strong:#ffffffe0;--blur:blur(22px) saturate(180%);--blue-soft:#2f7cf61a;--fs-title:14px;--fs-section:13px;--fs-label:12px;--fs-caption:11px;--gutter:12px;--r-sm:10px;--r-md:12px;--r-lg:16px;--r-xl:20px;--shadow-card:0 1px 2px #1018280a, 0 10px 28px -14px #10182829;--shadow-pop:0 18px 44px -12px #1018283d;--ease:cubic-bezier(.22, .61, .36, 1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ink-1);background-color:#f5f7fb;background-image:radial-gradient(900px 420px at 12% -8%,#7a5af81a,#0000 62%),radial-gradient(760px 380px at 88% -10%,#2f7cf61f,#0000 64%),radial-gradient(720px 420px at 50% 108%,#ee5aa112,#0000 66%);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}#root{width:100%;min-height:100vh}@keyframes ios-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ios-rise{animation:ios-rise .36s var(--ease) both}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#10182829 padding-box content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#10182847 padding-box content-box}.app-header{-webkit-backdrop-filter:var(--blur);box-shadow:inset 0 1px #ffffffb3;background:var(--glass)!important;border-bottom:1px solid var(--line)!important}.app-sider{-webkit-backdrop-filter:var(--blur);background:var(--glass-soft)!important}.app-sider-left{border-right:1px solid var(--line)!important}.app-sider-right{border-left:1px solid var(--line)!important}.app-footer{-webkit-backdrop-filter:var(--blur);background:var(--glass-soft)!important;border-top:1px solid var(--line)!important}.footer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 16px 2px;display:flex}.footer-note{color:var(--ink-3);font-size:var(--fs-caption);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:0 16px 5px;line-height:1.5;display:flex}.footer-links{flex:none;align-items:center;gap:6px;display:inline-flex}.footer-bar .page-info{min-width:0;font-size:var(--fs-caption);flex:auto}.footer-bar .page-info .ant-tag{font-size:var(--fs-caption);margin-inline-end:0;line-height:1.4}.btn-brand.ant-btn-primary{box-shadow:0 8px 20px -10px #5369f6bf;background:linear-gradient(135deg,#3b82f6 0%,#7a5af8 100%)!important;border-color:#0000!important}.btn-brand.ant-btn-primary:not(:disabled):hover{transform:translateY(-1px);background:linear-gradient(135deg,#2f7cf6 0%,#6a48f5 100%)!important;border-color:#0000!important}.btn-brand.ant-btn-primary:not(:disabled):active{transform:translateY(0);background:linear-gradient(135deg,#2a6fe0 0%,#5f3ee6 100%)!important}.btn-pill.ant-btn{transition:background-color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease);border-radius:999px;padding-inline:14px}.app-title{white-space:nowrap}.header-tag{flex:none}@media (max-width:1366px){.header-tag{display:none!important}}@media (max-width:1152px){.btn-compact-label>span:not(.ant-btn-icon){display:none!important}}.doc-name{min-width:0;max-width:240px;color:var(--ink-2);font-size:var(--fs-label);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.doc-name .anticon{color:var(--ink-3);flex:none}.ctrl-group{border:1px solid var(--line);background:#ffffffb8;border-radius:999px;align-items:center;gap:2px;height:36px;padding:3px;display:inline-flex}.ctrl-group .ant-btn{border-radius:999px}.ctrl-value{text-align:center;min-width:48px;color:var(--ink-1);font-size:var(--fs-label);font-variant-numeric:tabular-nums;font-weight:600}.ios-card{background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.icon-tile{border-radius:var(--r-md);color:#fff;flex:none;justify-content:center;align-items:center;display:flex}.ant-upload .anticon{color:inherit!important}.panel-head{padding:12px var(--gutter);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-title{color:var(--ink-1);font-size:var(--fs-title);letter-spacing:.2px;align-items:center;gap:8px;font-weight:650;display:flex}.panel-sub{background:var(--surface-1);color:var(--ink-2);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 9px;font-weight:600;display:inline-block}.panel-block{margin:12px var(--gutter) 0;border:1px solid var(--line);border-radius:var(--r-lg);background:#ffffffe0;padding:12px 14px;box-shadow:0 1px 2px #10182808,0 10px 24px -18px #1018283d}.panel-block+.panel-block{margin-top:10px}.panel-block-label{color:var(--ink-2);font-size:var(--fs-label);margin-bottom:8px;font-weight:600}.ctrl-line{align-items:center;gap:6px;min-width:0;display:flex}.ctrl-line .ant-input-number{flex:1;min-width:0}.ios-row{border-radius:var(--r-md);transition:background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease);border:1px solid #0000}.ios-row:hover{border-color:var(--line);background:#ffffffe6;box-shadow:0 1px 2px #1018280a,0 8px 20px -14px #10182838}.ios-row.active{background:var(--blue-soft);border-color:#2f7cf659;box-shadow:0 4px 14px -8px #2f7cf680}.page-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thumb-frame{border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);background:#fff;overflow:hidden;box-shadow:0 1px 2px #1018280d}.thumb-frame.active{border-color:var(--ios-blue);box-shadow:0 0 0 3px var(--blue-soft)}.section-head{align-items:center;gap:8px;margin:2px 2px 8px;display:flex}.section-name{color:var(--ink-1);font-size:var(--fs-section);letter-spacing:.2px;font-weight:650}.lib-thumb{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 1px 2px #1018280a}.hint-banner{border-radius:var(--r-md);color:var(--ink-2);font-size:var(--fs-label);background:linear-gradient(135deg,#7a5af812,#2f7cf614);border:1px solid #2f7cf624;align-items:center;gap:8px;padding:10px 12px;line-height:1.6;display:flex}.hint-banner .anticon{color:var(--ios-blue);flex:none}.ant-tag{font-size:var(--fs-label)!important;border-color:#0000!important;border-radius:999px!important;padding-inline:9px!important}.ant-tag-green{color:#0b8f63!important;background:#12b76a1a!important}.ant-tag-blue{color:var(--ios-blue)!important;background:#2f7cf61a!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-input-number-focused{box-shadow:0 0 0 3px #2f7cf61f!important}.ant-upload-drag{transition:border-color .2s var(--ease), background-color .2s var(--ease);border-radius:var(--r-lg)!important;background:#fff9!important;border-color:#2f7cf647!important}.ant-upload-drag:hover{border-color:var(--ios-blue)!important;background:#2f7cf60a!important}.ant-modal-container{border:1px solid var(--line);box-shadow:var(--shadow-pop)!important}.ant-drawer-section{box-shadow:var(--shadow-pop)!important}.pdf-page-canvas{background:#fff;box-shadow:0 1px 2px #1018280f,0 20px 44px -20px #1018284d}.ant-layout-sider.app-sider-left{flex:0 0 clamp(168px,13vw,280px)!important;width:clamp(168px,13vw,280px)!important;min-width:clamp(168px,13vw,280px)!important;max-width:clamp(168px,13vw,280px)!important}.ant-layout-sider.app-sider-right{flex:0 0 clamp(300px,24vw,440px)!important;width:clamp(300px,24vw,440px)!important;min-width:clamp(300px,24vw,440px)!important;max-width:clamp(300px,24vw,440px)!important}.canvas-container{top:0;left:0;position:absolute!important}.canvas-container>canvas.lower-canvas{mix-blend-mode:multiply}.ant-modal-wrap{overflow-x:hidden!important}.ant-modal.preview-modal{max-width:92vw!important}.ant-modal.preview-modal .ant-slider-mark-text{white-space:nowrap;font-size:var(--fs-caption)!important}.ant-modal.preview-modal .ant-slider{margin:0 10px}.ant-modal.preview-modal .preview-content{min-width:0;height:100%;min-height:0}.ant-modal.preview-modal .preview-content>:first-child{min-width:0;min-height:0;overflow:auto}.ant-modal.preview-modal .preview-sidebar{border-left:1px solid var(--line);min-width:0;height:100%;min-height:0;max-height:none;-webkit-backdrop-filter:var(--blur);scrollbar-gutter:stable;background:#fafbfeb8;flex:0 0 336px;padding:14px;overflow:hidden auto}.ant-modal.preview-modal .preview-sidebar-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.ant-modal.preview-modal .preview-sidebar-title{color:var(--ink-1);font-size:var(--fs-section);font-weight:650;display:block}.ant-modal.preview-modal .preview-sidebar-subtitle{color:var(--ink-3);font-size:var(--fs-caption);margin-top:3px;display:block}.ant-modal.preview-modal .preview-sidebar .preview-card{border:1px solid var(--line);border-radius:var(--r-lg);background:#ffffffe0;margin-bottom:12px;padding:14px 16px;box-shadow:0 1px 2px #10182808,0 10px 24px -18px #1018283d}.ant-modal.preview-modal .preview-sidebar .preview-card:last-child{margin-bottom:0}.ant-modal.preview-modal .preview-sidebar .ant-divider{border-color:var(--line)}.ant-modal.preview-modal .preview-sidebar .ant-slider{margin:0 8px 22px}.ant-modal.preview-modal .preview-sidebar .ant-slider-mark-text{max-width:72px;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:10px!important}@media (max-width:900px){.ant-modal.preview-modal .preview-content{gap:12px}.ant-modal.preview-modal .preview-sidebar{flex-basis:300px;padding:12px}}@media (max-width:680px){.ant-modal.preview-modal .preview-content{flex-direction:column;height:auto;overflow:auto}.ant-modal.preview-modal .preview-content>:first-child{flex:none;overflow:visible}.ant-modal.preview-modal .preview-sidebar{flex:none;height:auto;overflow:visible}}
