:root{color-scheme:light;--paper: #f4f0e8;--paper-deep: #ebe4d7;--surface: #fffdf8;--surface-2: #ece5d9;--ink: #1c1c1a;--muted: #6c6a63;--line: #ddd4c4;--line-strong: #c9beaa;--accent: #c2471e;--accent-soft: #f6e1d6;--accent-strong: #a93a16;--on-accent: #ffffff;--danger: #b3261e;--on-danger: #ffffff;--success: #2c7357;--shadow-sm: 0 1px 2px rgba(35, 30, 20, .06), 0 2px 8px rgba(35, 30, 20, .04);--shadow-md: 0 12px 32px rgba(35, 30, 20, .12);--shadow-lg: 0 24px 70px rgba(20, 17, 12, .28);--radius: 14px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-display: "Songti SC", "Noto Serif SC", "Iowan Old Style", "Times New Roman", serif}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper: #141412;--paper-deep: #191917;--surface: #1f1f1c;--surface-2: #2b2a26;--ink: #f1ece2;--muted: #a29b8e;--line: #37342e;--line-strong: #4a463e;--accent: #e5764c;--accent-soft: #35221a;--accent-strong: #ef8a63;--on-accent: #1a0d07;--danger: #e0655a;--on-danger: #1a0b09;--success: #6bbd97;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 12px 32px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 70px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}img{max-width:100%}h1,h2,h3,h4,p{margin:0}.app{min-height:100dvh}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-420px 0}to{background-position:420px 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .12s ease;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--line-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border:none;border-radius:11px;background:transparent;color:var(--ink);transition:background .16s ease,color .16s ease}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn.tiny{width:28px;height:28px;border-radius:8px;color:var(--muted)}.icon-btn.starred{color:var(--accent)}.icon-btn.danger-hover:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.icon-btn.on-dark{color:#fff}.icon-btn.on-dark:hover:not(:disabled){background:#ffffff1f}.text-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:none;border-radius:10px;background:transparent;color:var(--ink);font-weight:600;font-size:14px}.text-btn.on-dark{color:#fff}.text-btn.on-dark:hover{background:#ffffff1f}.text-input,.select-input{width:100%;height:44px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.text-input:focus,.select-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.select-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}input[type=range]{width:100%;accent-color:var(--accent)}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:var(--surface-2)}.segmented.wrap{flex-wrap:wrap}.segmented button{min-height:34px;padding:0 13px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.progress-track{height:6px;overflow:hidden;border-radius:99px;background:var(--surface-2)}.progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .25s ease}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px max(20px,env(safe-area-inset-left)) 12px max(20px,env(safe-area-inset-right));padding-top:max(12px,env(safe-area-inset-top));background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.topbar-actions{margin-left:auto;display:flex;gap:4px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.01em}.brand-mark{width:26px;height:32px;border-radius:4px 4px 7px;background:linear-gradient(150deg,var(--accent),var(--accent-strong));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#fff 26%,transparent);position:relative}.brand-mark:after{content:"";position:absolute;left:6px;right:6px;bottom:7px;height:2px;border-radius:2px;background:#ffffffbf;box-shadow:0 -5px #ffffff73}.library-main{width:min(1120px,100%);margin:0 auto;padding:26px max(20px,env(safe-area-inset-left)) 72px max(20px,env(safe-area-inset-right))}.library-hero{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;padding:32px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 42%),linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface) 55%,var(--paper-deep)));box-shadow:var(--shadow-sm);overflow:hidden}.library-hero:after{content:"";position:absolute;inset:auto -30px -70px auto;width:240px;height:240px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:32px;transform:rotate(24deg);pointer-events:none}.eyebrow{display:inline-block;margin-bottom:12px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.library-hero h1{font-family:var(--font-display);font-size:clamp(34px,5vw,52px);line-height:1.08;letter-spacing:-.015em;font-weight:700}.hero-copy{max-width:460px;margin-top:14px;color:var(--muted);font-size:15px}.hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.library-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px}.search-field{display:flex;align-items:center;gap:9px;flex:1 1 230px;max-width:340px;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted)}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.search-field input{width:100%;border:none;background:transparent;outline:none;color:var(--ink);font-size:14px}.folder-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.folder-chip-wrap{position:relative;display:inline-flex}.folder-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--muted);font-size:13px;transition:all .16s ease}.folder-chip:hover{border-color:var(--line-strong);color:var(--ink)}.folder-chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.folder-chip.add{border-style:dashed}.folder-remove{width:20px;height:20px;margin-left:-6px;align-self:center;border:none;border-radius:50%;background:transparent;color:var(--muted);font-size:14px;line-height:1;opacity:0;transition:opacity .16s ease,color .16s ease}.folder-chip-wrap:hover .folder-remove,.folder-remove:focus-visible{opacity:1}.folder-remove:hover{color:var(--danger)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:18px;margin-top:24px}.doc-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;animation:fade-up .35s ease both}.doc-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-md)}.doc-card.skeleton{height:248px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface) 50%,var(--surface-2) 75%);background-size:840px 100%;animation:shimmer 1.4s linear infinite}.doc-cover{position:relative;display:block;width:100%;aspect-ratio:3 / 4;padding:0;border:none;background:var(--paper-deep);overflow:hidden}.doc-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.doc-card:hover .doc-cover img{transform:scale(1.025)}.doc-cover-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--muted);font-size:12px}.favorite-mark{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.doc-info{padding:10px 12px 12px;min-width:0}.doc-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0;border:none;background:transparent;color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.35;text-align:left}.doc-title:hover{color:var(--accent)}.doc-info p{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:var(--muted);font-size:11.5px}.doc-menu{position:absolute;top:7px;right:7px;width:32px;height:32px;background:color-mix(in srgb,var(--surface) 84%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-sm);opacity:0;transition:opacity .16s ease}.doc-card:hover .doc-menu,.doc-menu:focus-visible{opacity:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:72px 20px;text-align:center;color:var(--muted);grid-column:1 / -1}.empty-icon{display:grid;place-items:center;width:72px;height:72px;margin-bottom:6px;border:1px dashed var(--line-strong);border-radius:22px;color:var(--muted);background:color-mix(in srgb,var(--surface) 60%,transparent)}.empty-state h2{color:var(--ink);font-family:var(--font-display);font-size:22px;font-weight:700}.empty-state p{max-width:340px;font-size:14px}.empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}.screen-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60dvh;color:var(--muted)}.capture-screen{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:40;overflow:hidden;overscroll-behavior:none;background:#0c0d0e;color:#fff}.capture-top{position:absolute;top:0;right:0;left:0;z-index:2;display:flex;align-items:center;gap:10px;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 28px max(14px,env(safe-area-inset-left));background:linear-gradient(to bottom,#0c0d0ed1,#0c0d0e00)}.capture-title{display:flex;flex-direction:column;align-items:center;gap:1px;flex:1;text-align:center}.capture-title span{font-size:15px;font-weight:650}.capture-title small{color:#fff9;font-size:11.5px}.capture-spacer{width:74px}.camera-stage{position:absolute;inset:0;overflow:hidden;touch-action:none}.camera-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}.camera-guide{position:absolute;top:50%;left:50%;width:min(80%,58dvh);aspect-ratio:3 / 4;transform:translate(-50%,-50%);border:1.5px dashed rgba(255,255,255,.5);border-radius:16px;pointer-events:none}.detection-layer{position:absolute;pointer-events:none}.quad-svg{width:100%;height:100%;overflow:visible}.quad-fill{fill:#e5764c24}.quad-line{fill:none;stroke:#ff9a6e;stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(0,0,0,.55))}.capture-flash{position:absolute;inset:0;background:#fff;animation:flash .18s ease-out forwards;pointer-events:none}@keyframes flash{0%{opacity:.9}to{opacity:0}}.camera-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#ffffffb3;font-size:13px}.camera-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center}.camera-error h3{font-family:var(--font-display);font-size:22px}.camera-error p{max-width:340px;color:#ffffffa8;font-size:13.5px}.camera-error-actions{display:flex;gap:10px;margin-top:8px}.camera-error .btn:not(.primary){background:#ffffff14;border-color:#ffffff2e;color:#fff}.capture-bottom{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;gap:10px;padding:40px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:linear-gradient(to top,#0c0d0e 55%,#0c0d0e00)}.capture-status{display:flex;justify-content:center}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:#ffffff1a;color:#ffffffd1;font-size:12px}.status-chip.ok{background:#57be8e2e;color:#82d7b1}.status-chip.warn{background:#e5764c2e;color:#f0a385}.capture-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;max-width:460px;width:100%;margin:0 auto}.capture-side{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px;border:none;border-radius:14px;background:transparent;color:#ffffffb3;font-size:11.5px;transition:color .16s ease,background .16s ease}.capture-side:hover,.capture-side.active{color:#fff;background:#ffffff14}.capture-side.active{color:#ffb08d}.shutter{display:grid;place-items:center;width:74px;height:74px;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:transparent;padding:5px}.shutter-inner{width:100%;height:100%;border-radius:50%;background:#fff;transition:transform .12s ease,background .12s ease}.shutter:hover .shutter-inner{transform:scale(.94)}.shutter-inner.capturing{background:var(--accent);transform:scale(.82)}.crop-screen{position:fixed;inset:0;z-index:40;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#111213;color:#fff}.crop-top{display:flex;align-items:center;gap:8px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}.crop-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:4px 16px}.crop-image-wrap{position:relative;display:inline-block;max-width:100%;max-height:100%;line-height:0}.crop-image-wrap img{display:block;max-width:100%;max-height:calc(100dvh - 230px);width:auto;height:auto;border-radius:4px;-webkit-user-select:none;user-select:none;touch-action:none}.crop-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.crop-polygon-fill{fill:#e5764c29}.crop-polygon-line{fill:none;stroke:#ff9a6e;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}.corner-handle{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border:2.5px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 2px 10px #00000073;touch-action:none;transition:transform .12s ease}.corner-handle:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#ffffffd9}.corner-handle.dragging,.corner-handle:active{transform:scale(1.18)}.crop-detecting{position:absolute;top:14px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:99px;background:#0c0d0eb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffb08d;font-size:12px}.crop-tools{display:flex;flex-direction:column;gap:10px;padding:10px max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right));background:#0c0d0e;border-top:1px solid rgba(255,255,255,.07)}.crop-tool-row{display:flex;gap:6px;justify-content:space-between}.tool-btn{display:inline-flex;align-items:center;gap:6px;flex:1;justify-content:center;height:36px;padding:0 8px;border:none;border-radius:9px;background:#ffffff12;color:#ffffffd1;font-size:12px;white-space:nowrap;transition:background .16s ease,color .16s ease}.tool-btn:hover:not(:disabled){background:#ffffff21;color:#fff}.filter-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filter-strip::-webkit-scrollbar{display:none}.filter-item{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto;padding:0;border:none;background:transparent;color:#ffffff8c;font-size:11.5px}.filter-thumb{display:block;width:52px;height:66px;overflow:hidden;border:2px solid transparent;border-radius:7px;background:#ffffff0f}.filter-thumb img{width:100%;height:100%;object-fit:cover;display:block}.filter-item.active{color:#fff}.filter-item.active .filter-thumb{border-color:var(--accent);box-shadow:0 0 0 2px #e5764c4d}.document-screen{min-height:100dvh}.doc-topbar{gap:8px}.doc-heading{flex:1;min-width:0}.doc-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:19px;font-weight:700}.doc-heading p{margin-top:1px;color:var(--muted);font-size:11.5px}.trash-banner{padding:10px max(20px,env(safe-area-inset-left));background:var(--accent-soft);color:var(--accent-strong);font-size:13px;text-align:center}.document-main{width:min(1000px,100%);margin:0 auto;padding:20px max(20px,env(safe-area-inset-left)) 80px max(20px,env(safe-area-inset-right))}.document-actions{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.document-actions .btn.primary{margin-left:auto}.ocr-banner{margin-bottom:20px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.ocr-banner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:13px;font-weight:600}.ocr-banner-head span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--accent)}.ocr-banner p{margin-top:8px;color:var(--muted);font-size:11.5px}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px}.page-tile{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface);animation:fade-up .3s ease both}.page-image{position:relative;display:block;width:100%;aspect-ratio:3 / 4;padding:0;border:none;background:var(--paper-deep);overflow:hidden}.page-image img{width:100%;height:100%;object-fit:cover;display:block}.page-placeholder{width:100%;height:100%;background:var(--surface-2)}.page-number{position:absolute;left:8px;bottom:8px;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:7px;background:#0c0d0ea8;color:#fff;font-size:11px;font-weight:650;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-ocr{position:absolute;top:8px;right:8px;padding:2px 6px;border-radius:5px;background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--success);font-size:9.5px;font-weight:700;letter-spacing:.06em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-tile-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px 4px 10px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.page-tile-bar>div{display:flex;gap:1px}.page-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:160px;aspect-ratio:3 / 4;border:1.5px dashed var(--line-strong);border-radius:13px;background:transparent;color:var(--muted);font-size:12.5px;transition:border-color .16s ease,color .16s ease,background .16s ease}.page-add:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#12100c80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-fade .18s ease both}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{display:flex;flex-direction:column;width:min(430px,100%);max-height:90dvh;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-pop .2s cubic-bezier(.2,.8,.3,1) both}@keyframes modal-pop{0%{transform:translateY(10px) scale(.985);opacity:0}to{transform:none;opacity:1}}.modal-wide{width:min(560px,100%)}.modal-head{display:flex;align-items:center;gap:12px;padding:16px 14px 12px 20px;border-bottom:1px solid var(--line)}.modal-head h3{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:18px;font-weight:700}.modal-body{padding:18px 20px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:13px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,var(--paper))}.modal-copy{color:var(--muted);font-size:14px;line-height:1.65}.action-list{display:flex;flex-direction:column;margin:-6px}.action-list button{display:flex;align-items:center;gap:11px;padding:12px 10px;border:none;border-radius:10px;background:transparent;color:var(--ink);font-size:14px;text-align:left}.action-list button:hover{background:var(--surface-2)}.action-list button.danger{color:var(--danger)}.action-list button.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.form-group{display:flex;flex-direction:column;gap:7px;margin-top:16px}.form-group:first-child{margin-top:0}.form-group>label{color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.02em}.form-group.grow{flex:1;min-width:0}.form-row{display:flex;gap:18px}.field-value{align-self:flex-end;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}.field-hint{color:var(--muted);font-size:12px;line-height:1.55}.check-row{display:flex;align-items:flex-start;gap:11px;padding:12px 0;cursor:pointer}.check-row input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex:0 0 auto}.check-row span{display:flex;flex-direction:column;gap:2px;font-size:14px}.check-row small{color:var(--muted);font-size:12px;line-height:1.5}.check-row.disabled{opacity:.55;cursor:not-allowed}.settings-section{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.settings-section:last-child{padding-bottom:0;border-bottom:none;margin-bottom:0}.settings-section h4{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;font-weight:700}.settings-section h4 svg{color:var(--accent)}.settings-section .btn.danger{margin-top:12px}.export-summary{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-2) 50%,transparent);color:var(--muted);font-size:13px}.export-summary svg{color:var(--accent)}.export-progress{margin-top:16px}.export-ready{margin-top:16px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.export-ready p{margin:0;color:var(--ink);font-size:13px}.export-progress p{margin-top:7px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.toast-stack{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));z-index:1100;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none;width:min(92vw,400px)}.toast{display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:12px;background:#1c1c1a;color:#f7f3ea;box-shadow:var(--shadow-md);font-size:13.5px;animation:toast-in .22s ease both}.toast.success svg{color:#7fd3a9}.toast.error{background:#5c1d18}.toast.error svg{color:#ffb4a8}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(hover:none){.folder-remove{opacity:1}}@media(max-width:720px){.library-hero{padding:26px 22px;border-radius:22px}.library-hero h1{font-size:34px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.library-toolbar{align-items:stretch}.library-toolbar .segmented{width:100%}.library-toolbar .segmented button{flex:1}.search-field{max-width:none}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:13px}.doc-menu{opacity:1}.page-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}.document-actions{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:10;margin:0 -6px 18px;padding:9px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-md)}.document-actions .btn{flex:1;padding:0 10px;font-size:13px}.document-actions .btn.primary{margin-left:0}.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal-wide{width:100%;max-height:92dvh;border-bottom:none;border-radius:22px 22px 0 0;animation-name:modal-sheet}@keyframes modal-sheet{0%{transform:translateY(100%)}to{transform:none}}.crop-image-wrap img{max-height:calc(100dvh - 250px)}}@media(max-width:400px){.doc-grid,.page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-main{padding-top:18px}.crop-tool-row{flex-wrap:wrap}.tool-btn{flex:1 1 44%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
