@font-face{font-family:"Source Serif Pro";src:url(/fonts/SourceSerif-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif Pro";src:url(/fonts/SourceSerif-Bold.ttf) format("truetype");font-weight:600 700;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif Pro";src:url(/fonts/SourceSerif-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{color-scheme:light;--font-ui: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, system-ui, "Helvetica Neue", Arial, sans-serif;--font-serif: "Source Serif Pro", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--bg: #f6f3ee;--bg-deep: #eee9e0;--surface: #ffffff;--surface-2: #efeae1;--surface-3: #e6e0d5;--line: rgba(20, 24, 31, .1);--line-2: rgba(20, 24, 31, .18);--text: #14181f;--text-2: #5b6373;--text-3: #8b92a2;--brand: #4b45e3;--brand-hover: #3d37ce;--brand-soft: #edebff;--brand-ink: #2b25a8;--accent: #e29a2d;--accent-soft: #fbf0dc;--danger: #c7443e;--danger-soft: #fbeae9;--ok: #2e8b62;--ok-soft: #e5f4ec;--shadow-1: 0 1px 2px rgba(18, 22, 30, .06), 0 6px 18px -10px rgba(18, 22, 30, .22);--shadow-2: 0 2px 6px rgba(18, 22, 30, .08), 0 18px 40px -18px rgba(18, 22, 30, .3);--shadow-3: 0 30px 70px -30px rgba(12, 17, 28, .45);--r-xs: 8px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-full: 999px;--rail-w: 76px;--tabbar-h: 60px;--ease: cubic-bezier(.22, .61, .36, 1);--dur: .17s;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}[data-theme=dark]{color-scheme:dark;--bg: #0b0e14;--bg-deep: #080a10;--surface: #121722;--surface-2: #171d2a;--surface-3: #1e2634;--line: rgba(232, 235, 242, .1);--line-2: rgba(232, 235, 242, .18);--text: #e8ebf2;--text-2: #a0a8b8;--text-3: #6e7689;--brand: #8b84ff;--brand-hover: #a29cff;--brand-soft: #1e1c44;--brand-ink: #cfcbff;--accent: #f0ae46;--accent-soft: #2a2113;--danger: #ef6d67;--danger-soft: #2c1615;--ok: #4cc38a;--ok-soft: #12281f;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 22px -12px rgba(0, 0, 0, .7);--shadow-2: 0 2px 8px rgba(0, 0, 0, .45), 0 22px 48px -20px rgba(0, 0, 0, .8);--shadow-3: 0 34px 80px -32px rgba(0, 0, 0, .85)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:var(--brand)}::selection{background:color-mix(in srgb,var(--brand) 26%,transparent)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}h1,h2,h3,h4,p{margin:0}[hidden]{display:none!important}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box}.welcome{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:var(--bg);overflow:hidden;opacity:1;transition:opacity .44s var(--ease),visibility .44s}.welcome.is-out{opacity:0;visibility:hidden}.welcome__glow{position:absolute;inset:-25% -10% 42%;background:radial-gradient(55% 55% at 50% 40%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 72%);pointer-events:none}.welcome__inner{position:relative;display:grid;justify-items:center;gap:14px;text-align:center;padding:26px}.welcome__mark{position:relative;display:grid;place-items:center;margin-bottom:6px}.welcome__aura{position:absolute;width:210px;height:210px;border-radius:50%;background:radial-gradient(46% 46% at 32% 28%,rgba(233,161,59,.7),transparent 70%),radial-gradient(52% 52% at 72% 74%,rgba(75,69,227,.6),transparent 72%);filter:blur(18px) saturate(1.25);opacity:0;animation:auraIn .9s .42s var(--ease) forwards,auraPulse 3.6s 1.4s ease-in-out infinite;pointer-events:none}.welcome__tile{position:relative;width:108px;height:108px;border-radius:30px;background:linear-gradient(160deg,#14192a,#0a0e18);display:grid;place-items:center;overflow:hidden;isolation:isolate;box-shadow:0 26px 60px -26px #0a0e16cc,inset 0 1px #ffffff29;transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .24s var(--ease);animation:welcomeTile .76s var(--ease) both}.welcome__tile:after{content:"";position:absolute;top:-70%;bottom:-70%;left:-40%;width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:skew(-18deg) translate(-170%);mix-blend-mode:screen;pointer-events:none;animation:welcomeShine 3.4s 1.15s cubic-bezier(.45,0,.3,1) infinite}.welcome .mark__stem,.welcome .mark__bowl{stroke-dasharray:1;stroke-dashoffset:1;animation:markDraw .9s var(--ease) forwards}.welcome .mark__bowl{animation-delay:.24s}.welcome .mark__fold{transform-box:fill-box;transform-origin:100% 0%;transform:scale(.15);opacity:0;animation:foldPop .56s .9s cubic-bezier(.2,1.5,.4,1) forwards}.welcome .mark__crease{opacity:0;animation:welcomeFade .4s 1.2s var(--ease) forwards}.welcome__name{font-family:var(--font-serif);font-size:46px;font-weight:600;letter-spacing:-.025em;line-height:1;animation:welcomeUp .76s .12s var(--ease) both}.welcome__p{position:relative;display:inline-block}.welcome__fold{position:absolute;left:.042em;top:.176em;width:.162em;height:.162em;display:block;pointer-events:none;opacity:0;transform:scale(.3);transform-origin:100% 0%;filter:drop-shadow(0 .6px 1px rgba(12,17,28,.32));animation:nameFold .56s .98s cubic-bezier(.22,1.5,.4,1) forwards}.welcome__fold svg{display:block;width:100%;height:100%;overflow:visible}.welcome__fold-shape{fill:#e9a13b}.welcome__fold-crease{fill:none;stroke:#f7cf8a;stroke-width:5.5;stroke-linecap:round}@keyframes nameFold{60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.welcome__tag{font-size:14px;color:var(--text-2);animation:welcomeUp .76s .2s var(--ease) both}.welcome__meta{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-2);animation:welcomeUp .76s .28s var(--ease) both}.welcome__chip{padding:4px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--text-2);font-variant-numeric:tabular-nums}.welcome__handle{font-weight:560;letter-spacing:.01em;color:var(--brand)}.welcome__sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.welcome__progress{margin-top:12px;width:190px;height:3px;border-radius:99px;background:var(--surface-3);overflow:hidden}.welcome__progress i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--accent));animation:welcomeFill 5s linear forwards}.welcome__skip{position:absolute;right:22px;bottom:calc(22px + var(--safe-b));padding:8px 14px;border-radius:10px;font-size:12.5px;font-weight:560;color:var(--text-2);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-1)}.welcome__skip:hover{background:var(--surface-2);color:var(--text)}@keyframes welcomeFill{to{width:100%}}@keyframes welcomeTile{0%{opacity:0;transform:translateY(12px) scale(.92)}}@keyframes welcomeUp{0%{opacity:0;transform:translateY(10px)}}@keyframes markDraw{to{stroke-dashoffset:0}}@keyframes foldPop{55%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes auraIn{to{opacity:.9}}@keyframes auraPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.14);opacity:1}}@keyframes welcomeShine{0%{transform:skew(-18deg) translate(-170%)}42%,to{transform:skew(-18deg) translate(430%)}}@keyframes welcomeFade{to{opacity:.25}}.rail__logo,.brandbar__mark{transition:transform .24s var(--ease),box-shadow .24s var(--ease)}.rail__logo:hover,.brandbar__mark:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 14px 30px -14px #0a0e16d9,0 0 0 1px #e9a13b66,inset 0 1px #ffffff38}.footline{margin-top:20px;text-align:center;font-size:11.5px;letter-spacing:.01em;color:var(--text-3)}.footline b{font-weight:560;color:var(--text-2)}.footline__handle{color:var(--brand);font-weight:560}.boot{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:var(--bg);z-index:50}.boot__mark{animation:bootPulse 1.6s var(--ease) infinite}.boot__name{font-family:var(--font-serif);font-size:20px;letter-spacing:.02em;color:var(--text-2)}@keyframes bootPulse{0%,to{opacity:.55;transform:translateY(0) scale(.98)}50%{opacity:1;transform:translateY(-2px) scale(1)}}.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}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.tabular{font-variant-numeric:tabular-nums}#app{height:100dvh;display:flex;flex-direction:column}.shell{display:flex;flex:1;min-height:0}.rail{display:none;flex-direction:column;align-items:center;gap:6px;width:var(--rail-w);padding:calc(14px + var(--safe-t)) 8px 14px;background:var(--surface);border-right:1px solid var(--line);flex-shrink:0}.rail__logo{display:grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border-radius:13px;background:linear-gradient(160deg,#14192a,#0a0e18);box-shadow:0 6px 16px -8px #0b0e14e6,inset 0 1px #ffffff24}.rail__logo svg{width:26px;height:26px}.rail__btn{position:relative;display:grid;place-items:center;width:52px;height:46px;border-radius:12px;color:var(--text-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.rail__btn:hover{background:var(--surface-2);color:var(--text)}.rail__btn[aria-current=page]{color:var(--brand);background:var(--brand-soft)}.rail__btn span{position:absolute;left:calc(100% + 10px);padding:6px 10px;border-radius:8px;background:var(--text);color:var(--bg);font-size:12px;font-weight:550;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);z-index:20}.rail__btn:hover span{opacity:1;transform:none}.rail__spacer{flex:1}.tabbar{display:flex;order:2;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-top:1px solid var(--line);flex-shrink:0;z-index:15}.tabbar__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:550;letter-spacing:.01em;color:var(--text-3);transition:color var(--dur) var(--ease)}.tabbar__btn[aria-current=page]{color:var(--brand)}.tabbar__btn svg{width:23px;height:23px}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.view{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;animation:viewIn .22s var(--ease)}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page{width:min(1180px,100%);margin:0 auto;padding:22px 18px 40px}.brandbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.brandbar__id{display:flex;align-items:center;gap:12px;min-width:0}.brandbar__mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(160deg,#14192a,#0a0e18);display:grid;place-items:center;box-shadow:0 8px 18px -10px #0b0e14e6,inset 0 1px #ffffff24;flex-shrink:0}.brandbar__mark svg{width:24px;height:24px}.brandbar__title{font-family:var(--font-serif);font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.1}.brandbar__sub{font-size:12.5px;color:var(--text-3);margin-top:2px}.btn{--btn-h: 40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 16px;border-radius:var(--r-sm);font-size:14px;font-weight:560;letter-spacing:-.005em;white-space:nowrap;border:1px solid transparent;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform 90ms var(--ease),box-shadow var(--dur) var(--ease);user-select:none}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{width:18px;height:18px;flex-shrink:0}.btn--primary{background:var(--brand);color:#fff;box-shadow:0 1px #ffffff2e inset,0 8px 18px -10px var(--brand)}.btn--primary:hover:not(:disabled){background:var(--brand-hover)}.btn--solid{background:var(--text);color:var(--bg)}.btn--solid:hover:not(:disabled){background:color-mix(in srgb,var(--text) 86%,var(--bg))}.btn--ghost{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:var(--shadow-1)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-2)}.btn--quiet{color:var(--text-2);padding:0 12px}.btn--quiet:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn--danger{background:var(--danger);color:#fff}.btn--sm{--btn-h: 32px;font-size:13px;padding:0 12px;border-radius:9px}.btn--sm svg{width:16px;height:16px}.btn--lg{--btn-h: 48px;font-size:15px;padding:0 22px;border-radius:12px}.btn--block{width:100%}.btn--icon{width:var(--btn-h);padding:0}.iconbtn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--text-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.iconbtn:hover{background:var(--surface-2);color:var(--text)}.iconbtn[aria-pressed=true]{background:var(--brand-soft);color:var(--brand)}.iconbtn svg{width:20px;height:20px}.iconbtn:disabled{opacity:.4}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-3)}.input,.select{height:40px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--text);font-size:14px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);width:100%}.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:15px;padding-right:32px}.search{position:relative;flex:1;min-width:0}.search .input{padding-left:36px}.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--text-3);pointer-events:none}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch__track{width:42px;height:25px;border-radius:99px;background:var(--surface-3);transition:background var(--dur) var(--ease);flex-shrink:0;position:relative}.switch__track:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform var(--dur) var(--ease)}.switch input:checked+.switch__track{background:var(--brand)}.switch input:checked+.switch__track:after{transform:translate(17px)}.switch input:focus-visible+.switch__track{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line)}.segmented button{height:32px;padding:0 13px;border-radius:8px;font-size:13px;font-weight:560;color:var(--text-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease);display:inline-flex;align-items:center;gap:6px}.segmented button svg{width:16px;height:16px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.panel__title{font-size:14px;font-weight:620;letter-spacing:-.01em}.panel__body{padding:16px}.panel__note{font-size:12.5px;color:var(--text-3);line-height:1.5}.lib__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.lib__title{font-size:30px;font-weight:640;letter-spacing:-.028em;line-height:1.06}.lib__sub{margin-top:6px;font-size:13.5px;color:var(--text-2);max-width:46ch;line-height:1.5}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.storage{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-3);padding:0 2px 14px}.storage__bar{flex:1;height:5px;max-width:190px;border-radius:99px;background:var(--surface-3);overflow:hidden}.storage__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .4s var(--ease)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:18px 16px}.doc{position:relative;display:flex;flex-direction:column;gap:9px;text-align:left;border-radius:var(--r-md);transition:transform var(--dur) var(--ease)}.doc:hover{transform:translateY(-2px)}.doc:focus-visible{outline-offset:4px}.doc__thumb{position:relative;aspect-ratio:3 / 4;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-1);display:grid;place-items:center;transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.doc:hover .doc__thumb{box-shadow:var(--shadow-2);border-color:var(--line-2)}.doc__thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.doc__thumb canvas{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:top center}.doc__placeholder{display:grid;place-items:center;gap:8px;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.doc__placeholder svg{width:30px;height:30px;opacity:.7}.doc__badge{position:absolute;top:8px;left:8px;padding:3px 7px;border-radius:6px;background:#0b0f17b8;backdrop-filter:blur(6px);color:#fff;font-size:10px;font-weight:620;letter-spacing:.04em;text-transform:uppercase}.doc__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#0b0f1747}.doc__progress i{display:block;height:100%;background:var(--accent)}.doc__more{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#0b0f178c;backdrop-filter:blur(8px);color:#fff;opacity:0;transition:opacity var(--dur) var(--ease)}.doc__more svg{width:16px;height:16px}.doc:hover .doc__more,.doc:focus-within .doc__more{opacity:1}.doc__name{font-size:13.5px;font-weight:560;line-height:1.35;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.doc__meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.doc__meta i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.empty{display:grid;justify-items:center;gap:10px;padding:56px 20px;text-align:center}.empty__art{width:128px;height:128px;margin-bottom:6px;opacity:.95}.empty h3{font-size:18px;font-weight:620;letter-spacing:-.02em}.empty p{max-width:42ch;font-size:13.5px;line-height:1.6;color:var(--text-2)}.dropzone{border:1.5px dashed var(--line-2);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 60%,transparent);padding:26px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);cursor:pointer}.dropzone:hover,.dropzone.is-over{border-color:var(--brand);background:var(--brand-soft)}.dropzone svg{width:26px;height:26px;color:var(--brand)}.dropzone b{font-size:14px;font-weight:600}.dropzone span{font-size:12.5px;color:var(--text-3)}.convert{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.convert__main{display:flex;flex-direction:column;gap:16px;min-width:0}.convert__side{display:flex;flex-direction:column;gap:14px;position:sticky;top:16px}.tabs{display:flex;gap:6px;padding:4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:18px}.tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border-radius:10px;font-size:13.5px;font-weight:570;color:var(--text-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.tabs button svg{width:18px;height:18px}.tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.files{display:flex;flex-direction:column;gap:8px}.file{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1)}.file__thumb{width:42px;height:52px;border-radius:6px;background:var(--surface-2);overflow:hidden;flex-shrink:0;display:grid;place-items:center;color:var(--text-3)}.file__thumb img{width:100%;height:100%;object-fit:cover}.file__thumb svg{width:20px;height:20px}.file__name{font-size:13.5px;font-weight:550;overflow-wrap:anywhere}.file__meta{font-size:11.5px;color:var(--text-3);margin-top:2px;font-variant-numeric:tabular-nums}.file__grip{color:var(--text-3);cursor:grab}.file__grip svg{width:16px;height:16px}.steps{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.step{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:6px 0;color:var(--text-3)}.step__dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;flex-shrink:0;font-size:10px;font-weight:700}.step[data-state=active]{color:var(--text)}.step[data-state=active] .step__dot{border-color:var(--brand);color:var(--brand)}.step[data-state=done]{color:var(--text-2)}.step[data-state=done] .step__dot{background:var(--ok);border-color:var(--ok);color:#fff}.progress{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.progress i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 55%,var(--accent)));transition:width .24s var(--ease)}.result{display:flex;gap:14px;align-items:center;padding:14px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--ok) 40%,var(--line));background:var(--ok-soft)}.result__icon{width:40px;height:40px;border-radius:10px;background:var(--ok);color:#fff;display:grid;place-items:center;flex-shrink:0}.result__icon svg{width:20px;height:20px}.note{display:flex;gap:9px;padding:11px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:12px;line-height:1.55;color:var(--text-2)}.note svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--text-3)}.note--privacy{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 22%,transparent);color:var(--brand-ink)}.note--privacy svg{color:var(--brand)}.opt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}.opt-row:last-child{border-bottom:0}.opt-row .label{text-transform:none;font-size:13.5px;font-weight:500;color:var(--text);letter-spacing:0}.opt-row .select,.opt-row .input{width:auto;min-width:122px;height:34px;font-size:13px}.settings{display:grid;gap:14px;max-width:720px}.setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid var(--line)}.setting:last-child{border-bottom:0}.setting__text b{display:block;font-size:13.5px;font-weight:570}.setting__text span{display:block;font-size:12.5px;color:var(--text-3);margin-top:2px;line-height:1.45;max-width:46ch}.reader{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg-deep);z-index:30}.reader__bar{display:flex;align-items:center;gap:8px;height:54px;padding:0 10px;padding-top:var(--safe-t);box-sizing:content-box;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid var(--line);flex-shrink:0;z-index:3}.reader__title{flex:1;min-width:0;text-align:center;font-size:13.5px;font-weight:580;padding:0 4px}.reader__title small{display:block;font-size:11px;font-weight:500;color:var(--text-3);margin-top:1px;font-variant-numeric:tabular-nums}.reader__stage{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:auto;background:var(--bg-deep);touch-action:pan-x pan-y}.reader[data-page-theme=sepia] .reader__stage{background:#e7ddc9}.reader[data-page-theme=dark] .reader__stage{background:#0a0c11}.pages{position:relative;display:flex;flex-direction:column;align-items:center;align-items:safe center;gap:var(--gap, 18px);padding:var(--pad, 18px) 12px 40px;min-height:100%;transform-origin:0 0}.pages--single{justify-content:center}.slot{position:relative;flex-shrink:0;background:#fff;box-shadow:0 1px 2px #0c111c24,0 12px 32px -16px #0c111c80;border-radius:2px;overflow:hidden;isolation:isolate}.slot__canvas{display:block;width:100%;height:100%}.textLayer{position:absolute;inset:0;width:100%!important;height:100%!important;overflow:clip;opacity:1;line-height:1;letter-spacing:normal;word-spacing:normal;text-align:initial;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:2;--min-font-size: 1;--min-font-size-inv: 1;--text-scale-factor: 1;--total-scale-factor: 1;--scale-round-x: 1px;--scale-round-y: 1px}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%;user-select:text}.textLayer>:not(.markedContent){z-index:1;--font-height: 0;font-size:var(--font-height);--scale-x: 1;--rotate: 0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x))}.textLayer .markedContent{display:contents}.textLayer ::selection{background:color-mix(in srgb,var(--brand) 38%,transparent);color:transparent}.textLayer span.is-hit{background:color-mix(in srgb,#ffd24a 62%,transparent);mix-blend-mode:multiply;border-radius:2px}.textLayer span.is-hit.is-active{background:color-mix(in srgb,#ff9d2e 78%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,#b96a00 60%,transparent)}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:1;cursor:default;user-select:none}.slot__hl{position:absolute;inset:0;pointer-events:none;overflow:hidden}.slot__hl i{position:absolute;background:color-mix(in srgb,var(--accent) 52%,transparent);border-radius:2px;mix-blend-mode:multiply}.reader__body{display:flex;flex:1;min-height:0;position:relative}.reader[data-page-theme=dark] .slot{filter:invert(1) hue-rotate(180deg) contrast(.92) brightness(1.06);background:#fff}.reader[data-page-theme=dark] .slot__hl i{mix-blend-mode:screen}.reader[data-page-theme=sepia] .slot{filter:sepia(.28) saturate(.92) brightness(1.02)}.slot__spinner{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-3);background:linear-gradient(180deg,#fff,#f4f4f6)}.slot--placeholder{background:var(--surface-2);box-shadow:none;border:1px solid var(--line)}.reader__dock{position:absolute;left:50%;bottom:calc(14px + var(--safe-b));transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--line-2);box-shadow:var(--shadow-2);z-index:4;opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease)}.reader__dock.is-visible,.reader:not(.is-scrolling) .reader__dock{opacity:1;pointer-events:auto}.reader__pageno{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--text-2);padding:0 6px;font-variant-numeric:tabular-nums}.reader__pageno input{width:34px;height:28px;text-align:center;border-radius:7px;border:1px solid var(--line-2);background:var(--surface);font-size:12.5px;font-variant-numeric:tabular-nums;padding:0;-moz-appearance:textfield}.reader__pageno input::-webkit-outer-spin-button,.reader__pageno input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.reader__side{position:absolute;top:0;bottom:0;right:0;width:min(320px,86vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-3);display:flex;flex-direction:column;z-index:5;transform:translate(101%);transition:transform .26s var(--ease)}.reader__side.is-open{transform:none}.side__head{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 14px;border-bottom:1px solid var(--line)}.side__title{flex:1;font-size:13px;font-weight:620}.side__body{flex:1;overflow-y:auto;padding:12px}.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.thumb{display:flex;flex-direction:column;gap:5px;align-items:center;border-radius:8px;padding:4px;border:1px solid transparent}.thumb[aria-current=true]{border-color:var(--brand);background:var(--brand-soft)}.thumb canvas,.thumb .thumb__ph{width:100%;aspect-ratio:3 / 4;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);object-fit:contain;display:block}.thumb span{font-size:10.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.outline{display:flex;flex-direction:column;gap:1px}.outline a,.outline button{display:block;width:100%;text-align:left;font-size:13px;padding:7px 9px;border-radius:7px;color:var(--text-2);line-height:1.4}.outline a:hover,.outline button:hover{background:var(--surface-2);color:var(--text)}.outline .lvl-1{padding-left:9px;font-weight:560;color:var(--text)}.outline .lvl-2{padding-left:22px}.outline .lvl-3{padding-left:34px}.searchlist{display:flex;flex-direction:column;gap:4px}.hit{display:flex;flex-direction:column;gap:3px;text-align:left;padding:8px 10px;border-radius:8px;font-size:12.5px;line-height:1.45;color:var(--text-2)}.hit:hover{background:var(--surface-2)}.hit b{font-size:11px;color:var(--brand);font-weight:620;font-variant-numeric:tabular-nums}.hit mark{background:color-mix(in srgb,var(--accent) 55%,transparent);color:inherit;border-radius:2px;padding:0 1px}.side__empty{padding:22px 10px;text-align:center;font-size:12.5px;color:var(--text-3);line-height:1.6}.menu{position:fixed;z-index:60;min-width:196px;padding:5px;border-radius:12px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow-3);animation:menuIn .14s var(--ease)}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:7px;font-size:13px;font-weight:500;color:var(--text);text-align:left}.menu button svg{width:16px;height:16px;color:var(--text-3)}.menu button:hover{background:var(--surface-2)}.menu button.is-danger{color:var(--danger)}.menu button.is-danger svg{color:var(--danger)}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.backdrop{position:fixed;inset:0;background:#080b117a;backdrop-filter:blur(3px);z-index:55;animation:fadeIn .16s var(--ease)}@keyframes fadeIn{0%{opacity:0}}.dialog{position:fixed;z-index:61;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-3);padding:20px;animation:dialogIn .2s var(--ease)}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}}.dialog h2{font-size:17px;font-weight:640;letter-spacing:-.015em}.dialog p{margin-top:8px;font-size:13.5px;line-height:1.6;color:var(--text-2)}.dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dialog .field{margin-top:14px}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(18px + var(--safe-b));z-index:70;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 24px)}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--text) 94%,transparent);color:var(--bg);font-size:13px;font-weight:500;box-shadow:var(--shadow-3);animation:toastIn .22s var(--ease);max-width:100%}.toast svg{width:16px;height:16px;flex-shrink:0}.toast--ok svg{color:#6ee7a8}.toast--err svg{color:#ff9d97}.toast button{color:#9db4ff;font-weight:600;font-size:13px;padding:2px 4px;border-radius:5px}.toast.is-out{animation:toastOut .18s var(--ease) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.97)}}@keyframes toastOut{to{opacity:0;transform:translateY(6px) scale(.98)}}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--brand);animation:spin .7s linear infinite;flex-shrink:0}.spinner--lg{width:30px;height:30px;border-width:2.5px}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:900px){.rail{display:flex}.tabbar{display:none}.page{padding:30px 34px 56px}.lib__title{font-size:36px}.grid{grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:22px 20px}.reader__side{position:relative;transform:none;width:300px;border-left:1px solid var(--line);box-shadow:none;display:none}.reader__side.is-open{display:flex}.reader__body{display:flex;flex:1;min-height:0}}@media(max-width:899px){.convert{grid-template-columns:minmax(0,1fr)}.convert__side{position:static}.reader__title{font-size:12.5px}.reader__hide-sm{display:none!important}.lib__head{align-items:flex-start}.lib__title{font-size:25px}}@media(max-width:560px){.grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:16px 12px}.page{padding:16px 14px 90px}.brandbar{align-items:center;gap:10px}.brandbar__sub,.brandbar__state{display:none}.brandbar__title{font-size:20px}.brandbar__mark{width:38px;height:38px;border-radius:11px}.brandbar .btn{--btn-h: 38px;padding:0 14px}.toolbar{width:100%}.toolbar .search{flex:1 1 100%}.doc__name{font-size:12.5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media print{.rail,.tabbar,.reader__bar,.reader__dock,.reader__side,.toasts{display:none!important}.reader,.reader__stage,.pages{position:static;overflow:visible;display:block;background:#fff;padding:0}.slot{box-shadow:none;page-break-after:always;break-after:page}}
