:root{--color-canvas: #f8f7f3;--color-surface: #fffdf7;--color-surface-raised: #ffffff;--color-image-mat: #eeeee5;--color-text-primary: #203e35;--color-text-secondary: #5f6e64;--color-text-placeholder: #5f6e64;--color-border-subtle: #e3e2da;--color-border-control: #7a847b;--color-action-primary: #244a3d;--color-action-hover: #285b43;--color-action-pressed: #19372c;--color-on-action: #fffdf7;--color-selected-bg: #edf3ed;--color-selected-text: #244a3d;--color-focus: #36684b;--color-editorial: #84583f;--color-danger: #a74436;--color-danger-bg: #f8e9e5;--color-warning: #856323;--color-warning-bg: #f6efdb;--color-success: #285b43;--color-success-bg: #edf3ed;--color-disabled-bg: #e3e2da;--color-disabled-text: #5f6e64;--color-scrim: rgba(17,35,27,.28);--color-notice-bg: rgba(248,247,243,.94);--font-ui: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-editorial: "Songti SC", "STSong", "SimSun", serif;--text-12: 12px;--text-14: 14px;--text-16: 16px;--text-18: 18px;--text-24: 24px;--text-32: 32px;--space-0: 0px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--space-64: 64px;--radius-none: 0px;--radius-tag: 4px;--radius-control: 8px;--radius-panel: 16px;--radius-sheet: 24px;--radius-full: 999px;--shadow-none: none;--shadow-paper: 0 4px 16px rgba(32,62,53,.08);--shadow-overlay: 0 12px 32px rgba(32,62,53,.12);--leading-title: 1.25;--leading-ui: 1.5;--leading-body: 1.75;--touch-min: 44px;--control-height: 48px;--control-prominent: 52px;--overview-max: 760px;--growth-thumb: 56px;--motion-fast: .12s ease-out;--motion-normal: .18s ease-out;--accent: var(--color-action-primary);--line: var(--color-border-subtle);--muted: var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-16);font-weight:400;line-height:var(--leading-body);color:var(--color-text-primary);background:var(--color-canvas);font-synthesis:none;-webkit-font-smoothing:antialiased}:where(h1){font-size:var(--text-24);font-weight:600;line-height:var(--leading-title)}:where(h2,h3){font-size:var(--text-18);font-weight:600;line-height:var(--leading-ui)}:where(small){font-size:var(--text-12);line-height:var(--leading-ui)}:where(button,input,select,textarea){font:inherit}:where(button,.button,summary){min-width:var(--touch-min);min-height:var(--touch-min)}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-height:var(--control-height)}:where(button,.button){font-weight:500;line-height:var(--leading-ui);transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}::placeholder{color:var(--color-text-placeholder);opacity:1}:where(button,input,select,textarea):disabled,fieldset:disabled{opacity:1}:where(button,input,select,textarea):disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}:where(button:disabled) .lucide{opacity:.48}.lucide{stroke-width:1.5;flex-shrink:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.xhs-page{max-width:1050px;margin:var(--space-32) auto var(--space-64)}.xhs-back{display:inline-flex;align-items:center;gap:var(--space-8);min-height:44px;text-decoration:none}.xhs-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-16);margin:var(--space-16) 0 var(--space-24)}.xhs-heading h1{margin:0}.xhs-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--space-32)}.xhs-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16)}.xhs-image{min-width:0}.xhs-image-view{display:block;width:100%;padding:0;border:none;border-radius:0;background:var(--color-image-mat);aspect-ratio:3 / 4}.xhs-image-view img{width:100%;height:100%;object-fit:contain;box-shadow:var(--shadow-paper)}.xhs-image-caption{display:flex;justify-content:space-between;font-size:var(--text-12);color:var(--muted);padding:var(--space-8) 0 var(--space-4)}.xhs-image-tools{display:flex;gap:var(--space-4)}.xhs-image-tools button{flex:1;min-width:44px;min-height:44px;padding:var(--space-8);background:transparent;border:none}.xhs-field{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-24)}.xhs-field>span{display:flex;justify-content:space-between;align-items:baseline}.xhs-field small{color:var(--muted);font-weight:400}.xhs-field textarea,.xhs-field input,.xhs-field select{width:100%;min-height:44px}.xhs-field textarea{border:1px solid var(--color-border-control);border-radius:var(--radius-control);padding:var(--space-12);font:inherit;line-height:var(--leading-body);resize:vertical;color:inherit}.xhs-field textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.xhs-topics{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-24)}.xhs-topics button{min-height:44px;background:transparent}.xhs-topics [aria-pressed=true]{background:var(--color-selected-bg);border-color:var(--color-action-primary)}.xhs-publish{border-top:1px solid var(--line);padding-top:var(--space-24)}.xhs-publish>button{width:100%;min-height:var(--control-height)}.xhs-publish p{margin:var(--space-12) 0 0}.xhs-unused{border-top:1px solid var(--line);margin-top:var(--space-24);padding-top:var(--space-16);display:flex;gap:var(--space-12);flex-wrap:wrap}.xhs-unused p{width:100%;margin-bottom:0}.xhs-unused img{max-width:36px;height:48px;object-fit:contain}.xhs-source,.xhs-notice{background:var(--color-image-mat);padding:var(--space-16) var(--space-16);margin-bottom:var(--space-24);border-radius:var(--radius-control);line-height:var(--leading-body)}.xhs-source{display:flex;gap:var(--space-16);justify-content:space-between;align-items:center}.xhs-notice p{margin:var(--space-4) 0 var(--space-8)}.xhs-notice a{display:inline-block;margin-right:var(--space-16);min-height:44px}.xhs-uncertain{background:var(--color-warning-bg)}.xhs-full-image{width:100%;max-height:70vh;object-fit:contain}.xhs-confirm-images{display:flex;gap:var(--space-8);overflow-x:auto;margin-bottom:var(--space-24);padding-bottom:var(--space-12)}.xhs-confirm-images img{max-width:75%;width:170px;height:225px;object-fit:contain;background:var(--color-image-mat);flex:none}.xhs-body-preview{white-space:pre-wrap;overflow-wrap:anywhere}.xhs-check{display:flex;align-items:center;gap:var(--space-12);min-height:44px;margin-top:var(--space-16)}.xhs-check input{width:20px;height:20px;flex:none;accent-color:var(--accent)}@media(max-width:700px){.xhs-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-24)}.xhs-page{margin-top:var(--space-12)}.xhs-heading{display:block}.xhs-heading h1{font-size:var(--text-24);margin-bottom:var(--space-8)}.xhs-image-grid{gap:var(--space-12)}.xhs-image-tools{display:grid;grid-template-columns:repeat(2,1fr)}.xhs-source{display:block}.xhs-source button{margin-top:var(--space-12);min-height:44px}}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);border:1px solid var(--color-border-control);background:var(--color-surface);border-radius:var(--radius-control);padding:var(--space-8) var(--space-12);color:inherit;text-decoration:none;cursor:pointer;min-height:var(--control-height);min-width:var(--touch-min);font-weight:500;line-height:var(--leading-ui);transition:background var(--motion-normal),transform var(--motion-normal)}button:hover,.button:hover{background:var(--color-selected-bg)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled,.disabled{opacity:1;background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}.primary{padding-inline:var(--space-16);background:var(--accent);color:var(--color-on-action);border-color:var(--accent)}.primary:hover:not(:disabled){background:var(--color-action-hover)}.primary:active:not(:disabled){background:var(--color-action-pressed)}.danger{color:var(--color-danger)}.icon{padding:var(--space-8)}.muted{color:var(--muted)}.small{font-size:var(--text-12);line-height:var(--leading-ui)}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:var(--text-24);font-weight:600;line-height:var(--leading-title);letter-spacing:0}h2{font-size:var(--text-18);font-weight:600}input,select{border:1px solid var(--color-border-control);border-radius:var(--radius-control);min-height:var(--control-height);padding:var(--space-12);background:var(--color-surface);color:inherit;max-width:100%}.topbar{height:76px;max-width:1200px;margin:auto;padding:0 var(--space-32);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:var(--space-12);font-size:var(--text-18);font-weight:600;text-decoration:none;color:var(--color-text-primary)}.hub-link{display:flex;gap:var(--space-8);text-decoration:none;font-size:var(--text-12);color:var(--muted)}main{max-width:1100px;margin:0 auto;padding:var(--space-32) var(--space-32);min-height:calc(100vh - 150px)}.site-footer{text-align:center;font-size:var(--text-12);color:var(--color-text-secondary);padding:var(--space-24);letter-spacing:0}.footer-links{display:flex;justify-content:center;align-items:center;gap:var(--space-8);flex-wrap:wrap}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-sep{opacity:1}.footer-filing{margin-top:var(--space-4);font-size:var(--text-12)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-16);margin-bottom:var(--space-32)}.section-head h1{margin:0}.library-heading{margin:0 0 var(--space-24)}.library-heading h1{font-size:var(--text-12);font-weight:400;line-height:var(--leading-ui);color:var(--accent);letter-spacing:0}.library-heading h1:focus{outline:none}.library-heading .primary{flex-shrink:0;min-height:44px}.tools{display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-24)}.composition-card{display:block;text-align:left;padding:0;border:0;background:transparent;border-radius:0;min-width:0}.composition-card:hover{background:transparent}.cover{height:255px;background:var(--color-image-mat);position:relative;padding:var(--space-24);overflow:hidden;border-radius:var(--radius-tag)}.cover img{width:100%;height:100%;object-fit:cover;object-position:top;box-shadow:var(--shadow-none);background:var(--color-image-mat);transform:none}.cover-unavailable{display:grid;place-items:center;width:100%;height:100%;color:var(--color-text-primary);font-size:var(--text-12);text-align:center;overflow-wrap:anywhere}.cover span{position:absolute;bottom:12px;right:12px;background:var(--color-image-mat);color:var(--color-text-primary);font-size:var(--text-12);padding:var(--space-4) var(--space-8);border-radius:var(--radius-tag)}.composition-card h2{font-size:var(--text-16);margin:var(--space-16) 0 var(--space-8);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:var(--space-8);font-size:var(--text-14);color:var(--muted)}.card-date{display:inline-flex;align-items:center;gap:var(--space-8);margin-left:auto}.shared-mark{display:inline-flex;align-items:center;color:var(--accent)}.empty{padding:var(--space-64) 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-16)}.empty h1{font-size:var(--text-24)}.welcome{max-width:500px;margin:auto;padding:var(--space-64) 0;gap:var(--space-24)}.empty.welcome h1{font-size:var(--text-32);line-height:var(--leading-title);margin-bottom:0}.welcome>svg{color:var(--color-action-primary)}.welcome .muted{max-width:26em;margin-bottom:0}.empty.welcome>.button.primary{min-height:var(--control-prominent)}.welcome-slogan-line{display:block}.empty>.button.primary{min-height:44px}.empty h2{margin:var(--space-8) 0}.paper-drawing{font-size:var(--text-24);line-height:var(--leading-body);color:var(--color-editorial);letter-spacing:0;padding:var(--space-24) var(--space-48);border:1px solid var(--color-border-subtle);background:repeating-linear-gradient(0deg,var(--color-surface) 0 43px,var(--color-border-subtle) 43px 44px);box-shadow:var(--shadow-paper);transform:rotate(-4deg);margin-bottom:var(--space-24)}.reading{max-width:780px;margin:auto}.reading-title{text-align:center;margin:var(--space-32) 0}.reading-title h1{font-size:var(--text-16);line-height:var(--leading-ui);overflow-wrap:anywhere;margin-bottom:var(--space-12)}.reading-title p{color:var(--muted)}.pages figure{margin:0 0 var(--space-24)}.page-image{display:block;padding:0;border:0;width:100%;background:var(--color-image-mat);box-shadow:var(--shadow-none);border-radius:var(--radius-none);overflow:hidden;cursor:zoom-in}.page-image img{display:block;width:100%;height:auto}.progressive-image{display:block;position:relative;min-height:120px;background:var(--color-image-mat)}.image-zoom{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.image-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:var(--space-8);background:var(--color-image-mat);border:1px solid var(--color-border-subtle);padding:var(--space-8) var(--space-12);border-radius:var(--radius-control);color:var(--color-text-primary);cursor:pointer}.pages figcaption{text-align:center;font-size:var(--text-12);color:var(--color-text-secondary);margin-top:var(--space-8);letter-spacing:0}.share-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-12) 0;border-top:1px solid var(--line);margin-bottom:var(--space-16);font-size:var(--text-14);flex-wrap:wrap}.share-strip button{font-size:var(--text-14);padding:var(--space-8) var(--space-8)}.detail-footer{max-width:780px;margin:var(--space-32) auto;display:flex;align-items:center;justify-content:space-between}.dialog{border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-overlay);padding:var(--space-24);width:min(520px,calc(100% - 32px));max-height:75dvh;color:inherit;background:var(--color-surface);overflow:auto}.dialog.wide{width:min(850px,calc(100% - 32px))}.dialog::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-24);gap:var(--space-8)}.dialog-heading h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-8);align-items:center;margin-top:var(--space-24)}.sticky{position:sticky;bottom:-24px;padding:var(--space-16) 0;background:var(--color-surface);border-top:1px solid var(--line)}.selected{background:var(--color-selected-bg);border-color:var(--color-action-primary)}.edit-stage{margin-top:var(--space-16);overflow:auto;max-height:55dvh;text-align:center;background:var(--color-image-mat);padding:var(--space-8)}.canvas-wrap{position:relative;display:inline-block;max-width:100%;line-height:0;vertical-align:top}.canvas-wrap canvas{display:block;max-width:100%;max-height:53dvh;width:auto;height:auto;touch-action:none}.selection{position:absolute;pointer-events:none;border:2px dashed var(--color-action-primary);box-shadow:0 0 0 1px var(--color-border-subtle)}.selection.mask{background:#202320}.selection.crop{background:#fff2}.zoom-viewport{overflow:auto;height:65dvh;background:var(--color-image-mat);cursor:grab;overscroll-behavior:contain}.zoom-viewport img{display:block;-webkit-user-select:none;user-select:none}.gallery-tools{justify-content:center;margin-bottom:var(--space-12)}.share-settings select{display:block;width:100%;margin-top:var(--space-8)}.share-settings p{margin:var(--space-12) 0}.preview-content{text-align:center;background:var(--color-image-mat);padding:var(--space-24) var(--space-16);max-height:52dvh;overflow:auto;border-radius:var(--radius-control)}.preview-content h1{font-size:var(--text-24);overflow-wrap:anywhere}.share-result{text-align:center;padding:var(--space-16) 0}.share-result input{display:block;width:100%;margin:var(--space-24) 0}.share-result .tools{justify-content:center}.error{background:var(--color-danger-bg);padding:var(--space-12) var(--space-16);border-radius:var(--radius-control);color:var(--color-danger);font-size:var(--text-14);line-height:var(--leading-ui)}.detail-tags,.library-filter{display:flex;align-items:flex-start;gap:var(--space-12);flex-wrap:wrap;margin:var(--space-12) 0 var(--space-16)}.tag-field{min-width:min(100%,260px);max-width:100%;flex:1}.tag-field input{width:100%;box-sizing:border-box}.tag-chips,.card-tags{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.tag-chip{display:inline-flex;align-items:center;gap:var(--space-4);border:1px solid var(--color-border-control);background:var(--color-selected-bg);color:var(--color-selected-text);border-radius:var(--radius-tag);padding:var(--space-4) var(--space-8);font-size:var(--text-12)}.tag-options{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-4);max-height:130px;overflow-y:auto}.tag-options button{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--text-14)}.tag-error{color:var(--color-danger);font-size:var(--text-14)}.card-tags{gap:0 var(--space-4);margin:var(--space-4) 0 0}.card-tag{min-width:var(--touch-min);min-height:var(--touch-min);max-width:100%;padding:0;border:0;border-radius:var(--radius-tag);background:transparent;color:var(--color-selected-text);font-size:var(--text-14);font-weight:400;text-align:left}.card-tag-label{display:inline-flex;align-items:center;gap:var(--space-4);min-height:var(--space-24);max-width:100%;padding:0 var(--space-8);border-radius:var(--radius-tag);background:var(--color-selected-bg);color:var(--color-selected-text);overflow-wrap:anywhere}.card-tag-label>span{min-width:0}.card-tag-label>svg{flex:0 0 auto}.card-tag:hover,.card-tag:disabled{background:transparent}.card-tag:hover:not(:disabled) .card-tag-label{text-decoration:underline;text-underline-offset:var(--space-4)}.card-tag[aria-pressed=true] .card-tag-label{background:var(--color-action-primary);color:var(--color-on-action)}.card-tag:disabled .card-tag-label{background:var(--color-disabled-bg);color:var(--color-disabled-text)}.library-filter{max-width:540px}.card-open{display:block;width:100%;text-align:left}.cover.card-open{border:0;border-radius:var(--radius-control)}.cover.card-open:hover{background:var(--color-image-mat)}.card-title{padding:0;min-height:var(--touch-min);max-width:100%;border:0;border-radius:var(--radius-control);background:transparent;font:inherit;color:inherit;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-title:hover{background:transparent;color:var(--accent)}.tag-chip:hover{background:var(--color-selected-bg)}.filter-chip{background:var(--color-selected-bg);border-color:var(--color-action-primary)}.library-filter{margin-top:calc(-1 * var(--space-16));margin-bottom:var(--space-32)}.quiet-action{min-height:var(--touch-min);padding:var(--space-4) var(--space-8);font-size:var(--text-14);border:0;background:transparent;border-radius:var(--radius-control)}.quiet-action:hover,.quiet-action:focus-visible,.quiet-action[aria-expanded=true]{background:var(--color-selected-bg)}.icon-only{width:var(--touch-min);padding:var(--space-8);flex:0 0 auto}.detail-toolbar{max-width:780px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}.detail-actions{display:flex;align-items:center;gap:var(--space-4)}.share-pending{font-size:var(--text-12);color:var(--muted);margin-right:var(--space-4)}.action-menu{position:relative}.action-panel{position:absolute;z-index:5;top:calc(100% + 6px);right:0;width:210px;max-width:calc(100vw - 36px);border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-4);background:var(--color-surface);box-shadow:var(--shadow-overlay);text-align:left}.action-panel [role=menuitem]{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:var(--touch-min);padding:var(--space-8) var(--space-8);border:0;border-radius:var(--radius-tag);background:transparent;gap:var(--space-8);font-size:var(--text-14);color:inherit;text-decoration:none}.action-panel [role=menuitem]:hover,.action-panel [role=menuitem]:focus-visible{background:var(--color-selected-bg);outline-offset:4px}.action-panel [role=menuitem].danger{color:var(--color-danger)}.menu-caption{margin:var(--space-4) var(--space-8) var(--space-8);font-size:var(--text-12);color:var(--muted)}.menu-divider{height:1px;margin:var(--space-4) var(--space-8);background:var(--line)}.detail-tags{justify-content:center;align-items:center;gap:var(--space-8);margin:var(--space-12) 0 0}.tag-view .tag-chip{font-size:var(--text-14)}.tag-edit-trigger{color:var(--muted)}.detail-tag-editor{text-align:center}.detail-tag-editor .detail-tags{flex-wrap:nowrap;align-items:flex-end}.detail-tag-editor>.tag-error{margin:var(--space-12) 0 0;font-size:var(--text-14)}.tag-edit-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-0)}.tag-save:not(:disabled){color:var(--color-selected-text)}.tag-input-wrap{position:relative;min-width:0}.tag-options [aria-selected=true]{background:var(--color-selected-bg)}.compact-tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-4);flex:0 1 auto;min-width:0}.compact-tags .tag-chips{margin:0}.compact-tags .tag-chips:empty{display:none}.compact-tags .tag-chip{font-size:var(--text-14);min-height:var(--touch-min)}.compact-tags .tag-input-wrap{width:160px;max-width:100%}.compact-tags input{min-height:var(--control-height);padding:var(--space-4) var(--space-8);font-size:var(--text-16);background:var(--color-surface)}.compact-tags .tag-options{position:absolute;z-index:4;top:calc(100% + 5px);left:0;width:220px;max-width:calc(100vw - 44px);max-height:220px;margin:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:var(--space-0);padding:var(--space-4);text-align:left;background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-overlay)}.compact-tags .tag-options button{min-height:var(--touch-min);justify-content:flex-start;padding:var(--space-8) var(--space-8);border:0;background:transparent;overflow-wrap:anywhere;text-align:left}.compact-tags .tag-options button:hover,.compact-tags .tag-options button[aria-selected=true]{background:var(--color-selected-bg)}.compact-tags .tag-options .small{padding:var(--space-8)}.compact-tags .tag-error{width:100%}.copy-fallback{margin-bottom:var(--space-16);text-align:left}.copy-fallback label{display:block;margin-bottom:var(--space-4)}.copy-fallback input{width:100%}.load-more{text-align:center;margin:var(--space-24) 0}.loading{display:flex;justify-content:center;gap:var(--space-8);padding:var(--space-64) 0;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.topbar{height:65px;padding:0 var(--space-16)}main{padding:var(--space-24) var(--space-16)}.library-heading{margin:0 0 var(--space-24)}h1{font-size:var(--text-24)}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-24)}.cover{height:205px;padding:var(--space-12)}.composition-card h2{font-size:var(--text-16)}.section-head{gap:var(--space-8);flex-wrap:wrap}.library-heading{flex-wrap:nowrap}.section-head .tools{gap:var(--space-4)}.dialog{padding:var(--space-16)}.dialog-actions{flex-wrap:wrap}.sticky{bottom:-18px}.preview-content{padding:var(--space-16) var(--space-8)}.share-strip span{width:100%}.reading-title{margin:var(--space-24) 0}.quiet-action{min-height:44px}.icon-only{width:44px}.action-panel [role=menuitem],.filter-chip,.compact-tags .tag-chip,.compact-tags .tag-options button,.compact-tags input{min-height:44px}.compact-tags .tag-options{width:100%;min-width:160px}.detail-toolbar{gap:var(--space-4)}.detail-actions{gap:0;flex-wrap:wrap;justify-content:flex-end}.share-pending{flex-basis:100%;text-align:right;margin-right:var(--space-8)}.detail-tags{gap:var(--space-4)}.tag-edit-actions{justify-content:center}.empty{padding:var(--space-48) 0}.empty h1{font-size:var(--text-24)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.stats-page{color:var(--color-text-primary);max-width:1080px;margin:0 auto}.stats-header,.stats-section-head,.stats-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16)}.stats-header{padding-bottom:var(--space-24);border-bottom:1px solid var(--color-border-subtle)}.stats-header h1{margin:0;font-size:var(--text-24);line-height:var(--leading-title);letter-spacing:0}.stats-kicker{margin:0 0 var(--space-8);color:var(--color-text-secondary);font-size:var(--text-12)}.stats-range{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-8);padding:var(--space-24) 0}.stats-range label{display:grid;gap:var(--space-4);color:var(--color-text-primary);font-size:var(--text-14)}.stats-range input{min-height:var(--control-height);min-width:160px}.stats-range button{min-height:var(--control-height)}.stats-meta{padding:var(--space-8) 0 var(--space-16);font-size:var(--text-12);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}.stats-section{padding:var(--space-24) 0 var(--space-24);border-bottom:1px solid var(--color-border-subtle)}.stats-section h2{margin:0 0 var(--space-16);font-size:var(--text-16);line-height:var(--leading-title)}.stats-section-head h2{margin:0 0 var(--space-16)}.stats-section-head span{align-self:flex-start;font-size:var(--text-12);color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--color-border-subtle);border-left:1px solid var(--color-border-subtle)}.stat-metric{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-16);min-height:104px;padding:var(--space-16) var(--space-16);background:var(--color-surface);border-right:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.stat-metric span{font-size:var(--text-12);line-height:var(--leading-ui);color:var(--color-text-secondary)}.stat-metric strong{font-size:var(--text-24);line-height:1;font-variant-numeric:tabular-nums;font-weight:600}.stat-emphasis{background:var(--color-selected-bg);color:var(--color-selected-text)}.stat-emphasis strong{font-size:var(--text-32)}.stats-table-scroll{overflow-x:auto}.stats-table{width:100%;min-width:620px;border-collapse:collapse;background:var(--color-surface);font-variant-numeric:tabular-nums}.stats-table th,.stats-table td{padding:var(--space-12) var(--space-12);border-bottom:1px solid var(--color-border-subtle);text-align:right;white-space:nowrap}.stats-table th:first-child{text-align:left}.stats-table thead th{color:var(--color-text-secondary);font-size:var(--text-14);font-weight:500;background:var(--color-selected-bg)}.stats-table tbody th{font-weight:500}.stats-table tbody tr:hover{background:var(--color-selected-bg)}.stats-footnote{max-width:780px;padding-top:var(--space-16);color:var(--color-text-secondary);font-size:var(--text-12);line-height:var(--leading-body)}.stats-error,.stats-empty{padding:var(--space-12) var(--space-16);border-left:3px solid var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger)}.stats-error{display:flex;justify-content:space-between;align-items:center;gap:var(--space-12)}@media(max-width:700px){.stats-header h1{font-size:var(--text-24)}.stats-header .button{padding:var(--space-8);font-size:var(--text-12)}.stats-meta{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-metric{min-height:96px;padding:var(--space-12)}.stat-metric strong{font-size:var(--text-24)}.stat-emphasis strong{font-size:var(--text-32)}.stats-range label{flex:1 1 130px}.stats-range input{width:100%;min-width:0}}.reading-end{min-height:1px;text-align:center;margin-top:var(--space-24)}.reading-end .button{min-height:44px}.saved-notice{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:30;width:max-content;max-width:calc(100vw - 32px);padding:var(--space-12) var(--space-16);background:var(--accent);color:var(--color-on-action);border-radius:var(--radius-control);text-align:center}.saved-notice strong,.saved-notice span{display:block}.saved-notice span{margin-top:var(--space-4);font-size:var(--text-14)}
