.hw-screen{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.hw-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:18px 28px;border-bottom:1px solid var(--color-border)}.hw-header h1{margin:0;font-size:var(--text-display);letter-spacing:-.02em}.hw-header-actions{display:flex;flex-wrap:wrap;gap:8px}.hw-header p{margin:3px 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.hw-scroll{flex:1;min-height:0;overflow:auto;padding:24px 28px 48px}.hw-layout{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.35fr);gap:24px;width:100%;align-items:start}.hw-editor,.hw-preview-panel{min-width:0}.hw-editor{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.hw-section-heading,.hw-preview-heading,.hw-block-toolbar,.hw-block-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.hw-section-heading{flex-wrap:wrap;margin-bottom:18px}.hw-section-heading h2,.hw-preview-heading h2{font-size:var(--text-h2);margin:0}.hw-save-status{color:var(--color-text-tertiary);font-size:var(--text-xs)}.hw-error-text{color:var(--color-danger)}.hw-fieldset{border:0;margin:0;padding:0;min-width:0}.hw-field{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-weight:500;font-size:var(--text-sm)}.hw-field span{color:var(--color-text-secondary);font-weight:400}.hw-field>input:not([type=range]),.hw-block textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-primary);font-size:var(--text-body);line-height:1.6}.hw-field>input[type=range]{width:100%;min-width:0;margin:0;accent-color:var(--color-primary-500);height:24px}.hw-setting-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:18px 0}.hw-dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);padding:22px 16px;transition:border-color var(--dur-fast),background var(--dur-fast)}.hw-dropzone>svg{color:var(--color-primary-500)}.hw-dropzone p{margin:0;font-size:var(--text-xs);color:var(--color-text-secondary)}.hw-dropzone-active{border:2px dashed var(--color-primary-500);padding:21px 15px;background:var(--color-primary-50)}.hw-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.hw-hidden-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0}.hw-notice{display:flex;gap:8px;align-items:flex-start;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;margin:12px 0;font-size:var(--text-sm);overflow-wrap:anywhere}.hw-notice ul{flex:1;min-width:0;padding-left:18px;margin:0}.hw-notice-error{flex-wrap:wrap;color:var(--color-danger)}.hw-notice-error p{flex:1 1 100%;margin:0}.hw-icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-secondary);cursor:pointer}.hw-icon-button:hover:not(:disabled){background:var(--color-surface-sunken);border-color:var(--color-border)}.hw-icon-button:disabled{opacity:.3;cursor:not-allowed}.hw-delete{color:var(--color-danger)}.hw-block-toolbar{margin:20px 0 12px;flex-wrap:wrap}.hw-block-toolbar>span{font-size:var(--text-xs);color:var(--color-text-secondary)}.hw-block-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.hw-block{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;min-width:0}.hw-block-heading{margin-bottom:10px}.hw-block-heading strong{min-width:0;flex:1;font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.hw-block-actions{display:flex;gap:2px;flex-shrink:0}.hw-block textarea{display:block;resize:vertical;min-height:96px;max-height:500px}.hw-image-editor{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center}.hw-image-editor>img{width:72px;height:64px;object-fit:contain;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xs)}.hw-empty{display:flex;align-items:center;flex-direction:column;text-align:center;gap:8px;color:var(--color-text-tertiary);font-size:var(--text-sm);padding:24px 8px}.hw-empty p{margin:0}.hw-editor-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-top:20px}.hw-help{flex:1 1 180px;color:var(--color-text-secondary);font-size:var(--text-xs)}.hw-help summary{cursor:pointer;padding:6px 0}.hw-help summary svg{vertical-align:middle;margin-right:5px}.hw-help p{line-height:1.7;margin:8px 0 0}.hw-preview-panel{padding:20px;background:var(--color-surface-sunken);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.hw-preview-page{position:sticky;top:0}.hw-preview-heading{flex-wrap:wrap;margin-bottom:20px}.hw-preview-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hw-preview-heading p{margin:4px 0 0;color:var(--color-text-secondary);font-size:var(--text-xs)}.hw-fit-badge{padding:5px 9px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap}.hw-fit-warning{color:var(--color-warning);font-size:var(--text-sm);margin:-6px 0 16px}.hw-preview-viewport{width:100%;min-width:0}.hw-paper-frame{position:relative;margin:0 auto;box-shadow:var(--shadow-2)}.hw-preview-scale{position:absolute;top:0;left:0;transform-origin:top left}.hw-paper{width:210mm;height:297mm;padding:12mm;background:#fff;color:#000;overflow:hidden;box-sizing:border-box;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif}.hw-paper-content{position:relative;width:186mm;height:273mm;overflow:hidden}.hw-composition{display:flex;flex-direction:column;align-items:flex-start;width:186mm;transform-origin:top left;line-height:1.6;color:#000}.hw-print-title{width:100%;margin:0;font-size:1.3em;line-height:1.45;font-weight:700;text-align:center;overflow-wrap:anywhere;white-space:pre-wrap}.hw-print-text{width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.hw-print-image{height:auto;display:block;max-width:100%;flex-shrink:0;align-self:center}.hw-paper-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#999;font-size:16px}.hw-paper-empty p{margin:0}@media(max-width:1100px){.hw-layout{gap:16px;grid-template-columns:minmax(270px,1fr) minmax(0,1.1fr)}.hw-scroll{padding:20px}.hw-editor,.hw-preview-panel{padding:16px}}@media(max-width:900px){.hw-layout{grid-template-columns:minmax(0,1fr)}.hw-preview-panel{width:100%;position:static}.hw-icon-button{width:38px;height:38px}}@media(max-width:767px){.hw-header{padding:14px 16px}.hw-header h1{font-size:var(--text-h1)}.hw-scroll{padding:16px 16px 110px}.hw-icon-button{width:44px;height:44px}.hw-field>input:not([type=range]),.hw-block textarea{font-size:16px}}@media(max-width:440px){.hw-setting-row{gap:12px}.hw-editor,.hw-preview-panel{padding:12px}.hw-block{padding:10px}.hw-image-editor{grid-template-columns:56px minmax(0,1fr);gap:10px}.hw-image-editor>img{width:56px}.hw-block-heading{align-items:flex-start}}@page{size:A4 portrait;margin:0}@media print{.hw-paper-empty{display:none}body:has(.hw-screen) *:not(.hw-paper):not(.hw-paper *):not(:has(.hw-paper)){display:none!important}body:has(.hw-screen),body:has(.hw-screen) *:has(.hw-paper){position:static!important;display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:#fff!important;transform:none!important}body:has(.hw-screen) .hw-paper{position:relative!important;margin:0!important;box-shadow:none!important}.hw-paper{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}}:root{--color-primary-50: #eef0ff;--color-primary-100: #e0e3ff;--color-primary-300: #a5acff;--color-primary-500: #5b61e8;--color-primary-600: #484edb;--color-primary-700: #3a3fc2;--color-bg: #fafafb;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: #f4f4f6;--color-border: #e8e8ec;--color-border-strong: #d4d5db;--color-text-primary: #16181d;--color-text-secondary: #5a5e68;--color-text-tertiary: #8a8e99;--color-text-disabled: #b5b8c0;--color-success: #1f9d6b;--color-warning: #d98a0b;--color-danger: #dc4040;--color-info: #2d7ff0;--color-blocking: #e0531f;--band-p0: #dc4040;--band-p0-bg: #fcebeb;--band-p1: #e08a1e;--band-p1-bg: #fcf3e3;--band-p2: #5b61e8;--band-p2-bg: #eef0ff;--band-p3: #8a8e99;--band-p3-bg: #f2f3f5;--cat-project-task: #5b61e8;--cat-project-learning: #7c5be8;--cat-life: #1f9d6b;--cat-standalone: #8a8e99;--font-sans: "Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", -apple-system, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, monospace;--text-display: 23px;--text-h1: 22px;--text-h2: 18px;--text-body-lg: 16px;--text-body: 14px;--text-sm: 13px;--text-xs: 12px;--text-score: 13px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-0: none;--shadow-1: 0 1px 3px rgba(16, 18, 29, .07), 0 1px 2px rgba(16, 18, 29, .04);--shadow-2: 0 4px 14px rgba(16, 18, 29, .12);--shadow-3: 0 16px 44px rgba(16, 18, 29, .18);--focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-primary-500);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s;--sidebar-width: 240px;--sidebar-collapsed: 64px;--content-max: 720px;--detail-width: 368px;--topbar-height: 56px}[data-theme=dark]{--color-primary-50: #1a1b3a;--color-primary-100: #222452;--color-primary-300: #5b61c9;--color-primary-500: #7b82ff;--color-primary-600: #666cf5;--color-primary-700: #565ce0;--color-bg: #0e0f13;--color-surface: #181a20;--color-surface-raised: #21242c;--color-surface-sunken: #121419;--color-border: #2a2d36;--color-border-strong: #3a3e49;--color-text-primary: #f2f3f5;--color-text-secondary: #a4a8b4;--color-text-tertiary: #71757f;--color-text-disabled: #4a4e58;--color-success: #34c88a;--color-warning: #f0a93b;--color-danger: #ff6464;--color-info: #5aa0ff;--color-blocking: #ff7a47;--band-p0: #ff6464;--band-p0-bg: #3a1e1e;--band-p1: #f0a93b;--band-p1-bg: #3a2e16;--band-p2: #7b82ff;--band-p2-bg: #22244a;--band-p3: #71757f;--band-p3-bg: #222530;--cat-project-task: #7b82ff;--cat-project-learning: #9b7bff;--cat-life: #34c88a;--cat-standalone: #71757f;--shadow-1: 0 1px 3px rgba(0, 0, 0, .45);--shadow-2: 0 4px 14px rgba(0, 0, 0, .5);--shadow-3: 0 16px 44px rgba(0, 0, 0, .62)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms}}@media(max-width:767px){:root{--content-max: 100%;--tabbar-height: 56px;--fab-size: 52px;--fab-bottom: 72px}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:1.55;color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}::selection{background:#5b61e82e}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#8a8e9952;border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.ff-wide-scroll::-webkit-scrollbar:horizontal{height:16px}.ff-wide-scroll::-webkit-scrollbar-thumb:horizontal{background:#8a8e9973;border:4px solid transparent;background-clip:content-box}.ff-wide-scroll::-webkit-scrollbar-thumb:horizontal:hover{background:#8a8e99ad;background-clip:content-box}button,input,textarea{font-family:inherit}a{color:var(--color-primary-500);text-decoration:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}@keyframes ff-fade{0%{opacity:0}to{opacity:1}}@keyframes ff-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes ff-slide{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes ff-toast{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ff-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ff-sheet-up{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@media(max-width:767px){button,a,[role=button],[role=checkbox],input,textarea,select{touch-action:manipulation}input,textarea,select{font-size:max(16px,1em)}*{-webkit-overflow-scrolling:touch}}
