@charset "UTF-8";:root{color-scheme:light;--per-space-xs: 4px;--per-space-sm: 8px;--per-space-md: 16px;--per-space-lg: 24px;--per-space-xl: 40px;--per-radius-sm: 6px;--per-radius-md: 10px;--per-radius-lg: 10px;--per-font-sans: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--per-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--per-font-serif: "Noto Serif SC", Georgia, "Songti SC", serif;--per-color-surface-primary: #eae4da;--per-color-surface-secondary: #f3efe7;--per-color-surface-tertiary: #dfd7c9;--per-color-sidebar: #f0ebe2;--per-color-text-primary: #3a352e;--per-color-text-secondary: #6c6458;--per-color-text-tertiary: #9c9285;--per-color-border-subtle: #dcd4c6;--per-color-border-default: #cbc0af;--per-color-border-strong: #b0a28e;--per-color-accent: #7c8b6a;--per-color-accent-hover: #697859;--per-color-accent-text: #f8f6ef;--per-color-accent-subtle: #e3e6d6;--per-color-accent-strong-text: #4e5c40;--per-color-success: #6e8c77;--per-color-success-subtle: #e1e7df;--per-color-warning: #ad8a50;--per-color-warning-subtle: #efe5d1;--per-color-danger: #ad6b57;--per-color-danger-subtle: #f0ded7;--per-color-focus: #7c8b6a;--per-shadow-sm: none;--per-shadow-md: none;--per-shadow-lg: none}:root[data-theme=dark]{color-scheme:dark;--per-color-surface-primary: #17140f;--per-color-surface-secondary: #1d1a15;--per-color-surface-tertiary: #262219;--per-color-sidebar: #110f0b;--per-color-text-primary: #e7e1d5;--per-color-text-secondary: #b2aa9b;--per-color-text-tertiary: #847c6e;--per-color-border-subtle: #3b372f;--per-color-border-default: #464137;--per-color-border-strong: #5a5347;--per-color-accent: #96a886;--per-color-accent-hover: #a7b897;--per-color-accent-text: #1f2519;--per-color-accent-subtle: #333b2a;--per-color-accent-strong-text: #b7c6a7;--per-color-success: #8fad93;--per-color-success-subtle: #2a3226;--per-color-warning: #c6a56a;--per-color-warning-subtle: #362c1c;--per-color-danger: #bf8571;--per-color-danger-subtle: #36241f;--per-color-focus: #96a886}.per-btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:14px;font-weight:500;padding:9px 16px;border-radius:9px;border:none;cursor:pointer}.per-btn-primary{background:var(--per-color-accent);color:var(--per-color-accent-text)}.per-btn-primary:hover{background:var(--per-color-accent-hover)}.per-btn-ghost{gap:6px;font-size:13px;padding:7px 12px;border-radius:8px;border:1px solid var(--per-color-border-default);background:var(--per-color-surface-secondary);color:var(--per-color-text-secondary)}.per-btn-ghost:hover{background:var(--per-color-surface-tertiary);color:var(--per-color-text-primary)}.per-btn:disabled{cursor:not-allowed;opacity:.55}.per-card{background:var(--per-color-surface-secondary);border:1px solid var(--per-color-border-subtle);border-radius:var(--per-radius-lg)}.per-screen{height:100%;display:flex;flex-direction:column;overflow:hidden}.per-screen-head{flex-shrink:0;padding:22px 32px 18px}.per-screen-head h1{margin:0 0 6px;font-size:24px;font-weight:600}.per-screen-head p{margin:0;color:var(--per-color-text-secondary);font-size:13.5px}.per-screen-body{flex:1;min-height:0;overflow-y:auto;padding:20px 32px}.per-screen-foot{flex-shrink:0;padding:16px 32px;background:var(--per-color-surface-secondary)}.per-measure{max-width:960px;margin:0 auto}.per-hint{font-size:12px;color:var(--per-color-text-tertiary)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{overflow:hidden;font-family:var(--per-font-sans);background:var(--per-color-surface-primary);color:var(--per-color-text-primary);-webkit-font-smoothing:antialiased}a{color:var(--per-color-accent);text-decoration:none}a:hover{color:var(--per-color-accent-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--per-color-focus);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--per-color-border-strong);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--per-color-text-tertiary)}::-webkit-scrollbar-track{background:transparent}@keyframes per-spin{to{transform:rotate(360deg)}}@keyframes per-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.per-vh,.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);white-space:nowrap}
