:root{color:#25372e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--page:#f3f5f1;--panel:#fcfdf9;--panel-alt:#eef2eb;--ink:#25372e;--muted:#5c6d60;--line:#dce3d9;--accent:#234b3c;--accent-hover:#17392c;--accent-soft:#e5eee3;--error:#a3362d;--shadow:0 3px 14px -8px #203f352b;--radius:12px;background:#f3f5f1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft JhengHei,sans-serif;font-size:15px;line-height:1.6}*{box-sizing:border-box}html{scroll-padding-bottom:190px}.mobile-signout{display:none}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #8a6a28}a{color:inherit}h1,h2,h3,p{margin:0}h1{letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere;font-size:28px;font-weight:700;line-height:1.35}h2{font-size:18px;font-weight:650;line-height:1.5}h3{font-size:15px;font-weight:650}small{color:var(--muted);font-size:12px}fieldset{border:0;min-width:0;margin:0;padding:0}input,textarea,select{max-width:100%}input,select,textarea{background:var(--panel);border:1px solid #b7c4b6;border-radius:7px;width:100%;min-height:46px;padding:11px 12px;line-height:1.5}input:hover,select:hover,textarea:hover{border-color:#8b9e8b}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid #0000;box-shadow:0 0 0 3px #234b3c13}textarea{resize:vertical;min-height:80px}select{padding-right:25px}input::placeholder,textarea::placeholder{color:#6c796f}input[type=checkbox]{accent-color:var(--accent);flex:none;width:22px;height:22px;min-height:22px}input[type=date]{min-width:0}input:disabled,textarea:disabled,select:disabled{background:var(--panel-alt)}button{transition:background-color .15s,color .15s,border-color .15s}img{max-width:100%;display:block}strong{font-weight:650}.grow{flex:1;min-width:0}.full{width:100%}.subtle{color:var(--muted);font-size:13px}.text-error{color:var(--error)}.app-shell{min-height:100dvh}.sidebar{background:var(--panel);border-right:1px solid var(--line);z-index:20;flex-direction:column;width:226px;padding:31px 17px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 12px 33px;text-decoration:none;display:flex}.brand-mark{background:var(--accent);color:#f9fcf6;border-radius:9px;flex:none;justify-content:center;align-items:center;width:42px;height:44px;font-size:23px;font-weight:650;display:inline-flex}.brand strong{letter-spacing:.06em;font-size:18px}.brand small{letter-spacing:.16em;margin-top:1px;font-size:12px;display:block}.sidebar nav{gap:7px;display:grid}.sidebar nav a{min-height:48px;color:var(--muted);border-radius:8px;align-items:center;gap:12px;padding:12px 15px;font-size:14px;text-decoration:none;display:flex}.sidebar nav a:hover{background:var(--panel-alt)}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.nav-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:21px 3px 0;display:flex}.sidebar-foot div{flex:1;min-width:0}.sidebar-foot strong{font-size:13px}.sidebar-foot small{display:block}.avatar{border:1px solid var(--line);background:#e5e9df;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.workspace{margin-left:226px}.topbar{border-bottom:1px solid var(--line);height:76px;color:var(--muted);background:#f8faf5;justify-content:space-between;align-items:center;gap:12px;padding:0 38px;font-size:13px;display:flex}.topbar-right{align-items:center;gap:15px;min-width:0;display:flex}.demo-switch{align-items:center;gap:8px;min-width:0;display:flex}.demo-switch select{background:var(--panel);width:auto;max-width:215px;min-height:38px;padding:7px 25px 7px 9px;font-size:12px}.connection{align-items:center;gap:7px;display:flex}.connection i{background:var(--accent);border-radius:50%;width:6px;height:6px}.mobile-brand{display:none}.demo-note{color:#66512b;background:#f4efdf;border-bottom:1px solid #e6ddc4;margin:0;padding:8px 38px;font-size:12px}.main-content{outline:none;max-width:1370px;margin:0 auto;padding:37px 38px 110px}.page-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-head p{color:var(--muted);margin-top:9px;font-size:13px}.page-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 17px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent);color:#f8fcf5;border-color:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.secondary{background:var(--panel);border-color:#bcc9b9}.button.secondary:hover:not(:disabled){background:var(--panel-alt)}.icon-button{background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--panel-alt)}.icon-button.danger{color:var(--error)}.text-button{min-height:40px;color:var(--accent);background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:5px 8px;font-size:13px;font-weight:600;display:inline-flex}.text-button:hover{background:var(--accent-soft)}.back-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;min-height:40px;margin-bottom:16px;padding:6px 0;font-size:13px;display:inline-flex}.badge{white-space:nowrap;color:#4f654b;background:#edf1e7;border:1px solid #d6dfd0;border-radius:5px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;line-height:1.7;display:inline-flex}.badge.status-review{color:#755315;background:#f4eddb;border-color:#dfd0a9}.badge.status-published,.badge.status-submitted{color:#29543b;background:#e6eee5;border-color:#c6d8c5}.badge.status-returned{color:#92382a;background:#f9eae5;border-color:#eccdc1}.version{color:var(--muted);background:var(--panel-alt);border-radius:4px;padding:2px 7px;font-size:12px}.summary-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;margin-bottom:28px;padding:22px 0;display:flex}.summary-strip>div{border-right:1px solid var(--line);flex:1;padding:0 28px}.summary-strip>div:first-child{padding-left:0}.summary-strip>div:last-child{border:0}.summary-strip span{color:var(--muted);font-size:13px;display:block}.summary-strip strong{font-variant-numeric:tabular-nums;margin-top:8px;font-size:32px;font-weight:600;line-height:1.3;display:block}.summary-strip strong small{margin-left:9px;font-size:12px}.overview-grid{grid-template-columns:1.05fr 1fr;gap:22px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);min-width:0;margin-bottom:22px;overflow:hidden}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:19px 23px;display:flex}.section-heading>span{color:var(--muted);font-size:12px}.job-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:20px 23px;display:flex}.job-row:last-child{border:0}.job-code{color:var(--muted);letter-spacing:-.02em;min-width:48px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.job-row strong,.record-row strong{overflow-wrap:anywhere;font-size:14px;display:block}.job-row small,.record-row small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.job-row .subtle{white-space:nowrap;font-size:12px}.record-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:14px;width:100%;min-height:89px;padding:20px 23px;display:flex}.record-row:last-child{border-bottom:0}.record-row:hover:not(:disabled){background:#f2f6ed}.record-row:disabled{opacity:1;cursor:default}.document-icon{color:#54744b;background:#edf2e8;border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:46px;display:flex}.document-icon.done{color:var(--accent);background:#e3eddf}.empty{text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:13px;padding:40px 24px;font-size:13px;display:flex}.toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;font-size:12px;display:flex}.search{flex:1;align-items:center;gap:8px;max-width:380px;display:flex;position:relative}.search svg{color:var(--muted);position:absolute;left:13px}.search input{background:var(--panel);padding-left:41px;font-size:13px}.segmented{background:#e8ede3;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:8px 14px;font-size:13px}.segmented button.selected{background:var(--panel);color:var(--accent);font-weight:650;box-shadow:0 1px 4px #203b3320}.editor-layout{grid-template-columns:minmax(0,1fr) 248px;align-items:start;gap:24px;display:grid}.editor-main{min-width:0}.editor-aside{position:sticky;top:24px}.editor-aside .panel{padding:21px}.editor-aside small{margin-top:12px;line-height:1.7;display:block}.editor-aside .subtle{margin:14px 0 20px}.check-list{gap:12px;margin:16px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.check-list li{align-items:center;gap:8px;display:flex}.form-panel{padding:25px}.form-panel>h2{margin-bottom:22px}.field{min-width:0;margin-bottom:19px;display:block}.field:last-child{margin-bottom:0}.field>span{margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field>small{margin-top:6px;font-size:12px;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.step-section>.section-heading{border:0;padding:3px 0 18px}.step-tabs{scrollbar-width:thin;gap:7px;padding:0 0 13px;display:flex;overflow-x:auto}.step-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--panel);font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:8px;min-height:44px;padding:10px 13px;font-size:12px;display:flex}.step-tabs button span{text-overflow:ellipsis;max-width:125px;overflow:hidden}.step-tabs button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:650}.step-card{padding:24px}.step-card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:17px;padding-bottom:12px;display:flex}.step-number{color:var(--accent);font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.inline-actions{gap:2px;display:flex}.photo-section{border-top:1px solid var(--line);margin-top:26px;padding-top:17px}.photo-section>.section-heading{border:0;padding:0 0 14px}.photo-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.photo-actions .subtle{font-size:11px}.file-input{opacity:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.photo-actions label:focus-within{outline-offset:3px;outline:3px solid #8a6a28}.photo-actions .disabled{opacity:.5;cursor:not-allowed}.upload-empty{color:var(--muted);background:#f4f7ee;border:1px dashed #aabca4;border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding:28px 12px;font-size:12px;display:flex}.photo-grid,.photo-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.photo-grid figure,.photo-edit-grid figure{min-width:0;margin:0}.photo-grid img,.photo-edit-grid img{aspect-ratio:4/3;object-fit:cover;background:var(--panel-alt);border:1px solid var(--line);border-radius:7px;width:100%;height:auto}.photo-grid a,.photo-edit-grid a{border-radius:7px;display:block}.photo-grid figcaption,.photo-edit-grid figcaption{color:var(--muted);overflow-wrap:anywhere;padding:7px 0;font-size:12px}.photo-caption{align-items:center;gap:2px;margin-top:7px;display:flex}.photo-caption input{min-height:42px;padding:8px 9px;font-size:12px}.commit-bar{z-index:10;background:#fcfdf9f5;border:1px solid #c5d0c1;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding:13px 16px;display:flex;position:sticky;bottom:16px;box-shadow:0 4px 24px -6px #243b3433}.commit-bar>span{color:var(--muted);font-size:12px}.commit-bar>div{gap:10px;display:flex}.chapter-heading{border:0;padding:3px 0 18px}.form-panel>.section-heading{margin-bottom:20px;padding:0 0 18px}.alert{color:#6c5122;background:#f4eddb;border:1px solid #d8c9a7;border-radius:8px;align-items:center;gap:14px;margin-bottom:20px;padding:13px 16px;font-size:13px;display:flex}.alert.error{color:#8c3025;background:#fcf0eb;border-color:#e6c5b8;justify-content:space-between}.toast{background:var(--accent);color:#f8fcf5;z-index:40;border:1px solid #416b50;border-radius:9px;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:13px 20px;font-size:13px;display:flex;position:fixed;bottom:28px;left:calc(50% + 95px);transform:translate(-50%);box-shadow:0 5px 25px #203b3340}.info-note{background:var(--accent-soft);border-radius:8px;margin-bottom:20px;padding:15px 20px;font-size:13px}.reading-sheet{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:880px;margin:0 auto 24px;padding:32px 46px}.reading-meta{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:18px;padding-bottom:18px;font-size:12px;display:flex}.reading-summary{margin:24px 0;font-size:15px;line-height:1.9}.reading-chapter{border-bottom:1px solid var(--line);break-inside:avoid;padding:27px 0}.reading-chapter:last-child{border-bottom:0}.chapter-label{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.reading-chapter h2{margin-bottom:18px;font-size:22px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;max-width:40em;margin-bottom:24px;font-size:16px;line-height:1.95}.reading-confirm,.review-decision{max-width:880px;margin:0 auto;padding:25px 30px}.checkbox{cursor:pointer;align-items:flex-start;gap:12px;margin-bottom:20px;font-size:14px;line-height:1.8;display:flex}.checkbox input{margin:2px 0 0}.reading-confirm>small{margin-top:15px;display:block}.confirmed{color:var(--accent);align-items:center;gap:14px;display:flex}.confirmed strong,.confirmed small{display:block}.confirmed small{margin-top:3px}.decision-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.learning-progress{border-block:1px solid var(--line);align-items:center;gap:20px;margin-bottom:26px;padding:20px 0;font-size:13px;display:flex}.learning-progress progress{accent-color:var(--accent);flex:1;min-width:0;max-width:420px;height:7px}.learning-progress strong{font-variant-numeric:tabular-nums}.bottom-nav{display:none}.boot{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:14px;display:flex}.loading-line{background:#d8e2d4;width:110px;height:3px}.login{justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.login-panel{border:1px solid var(--line);background:var(--panel);width:420px;max-width:100%;box-shadow:var(--shadow);border-radius:14px;padding:34px}.login h1{margin:22px 0 30px;font-size:23px}.login form .button{width:100%;margin-top:20px}.skip-link{background:var(--accent);color:#f7fcf4;z-index:100;border-radius:6px;padding:12px 18px;position:fixed;top:-60px;left:20px}.skip-link:focus{top:12px}@media (width>=1600px){.main-content{padding-top:44px}.overview-grid{gap:25px}.sidebar{width:244px;padding-inline:21px}.workspace{margin-left:244px}.topbar{padding-inline:46px}}@media (width<=1150px){.editor-layout{grid-template-columns:minmax(0,1fr) 210px;gap:17px}.main-content,.topbar,.demo-note{padding-inline:25px}.overview-grid{grid-template-columns:1fr}.sidebar{width:206px;padding-inline:12px}.workspace{margin-left:206px}.job-row .subtle{display:block}.topbar .demo-switch>span{display:none}}@media (width<=900px){.editor-layout{display:block}.editor-aside{position:static}.editor-aside .panel{padding:20px}.editor-aside .check-list{display:none}.editor-aside .subtle{margin:9px 0 13px}.editor-aside h3{font-size:14px}.page-head{align-items:flex-start}.page-actions{justify-content:flex-end}.reading-sheet{padding:26px}.topbar .desktop-only{font-size:12px}.demo-switch select{max-width:176px}.form-grid{grid-template-columns:1fr}}@media (width<=720px){.mobile-signout{display:inline-flex}.topbar-right{gap:8px}:root{font-size:15px}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:65px;padding:0 18px}.mobile-brand{color:var(--ink);letter-spacing:.04em;white-space:nowrap;font-size:16px;font-weight:700;display:block}.desktop-only{display:none}.demo-switch{gap:6px}.demo-switch select{max-width:175px;min-height:40px;font-size:11px}.demo-switch>svg{display:none}.demo-note{padding:8px 18px;font-size:11px}.main-content{padding:25px 18px 115px}.page-head{flex-wrap:wrap;gap:15px;margin-bottom:23px}h1{font-size:24px}.page-head p{margin-top:7px;font-size:12px}.page-actions{justify-content:flex-start;width:100%}.page-head>.page-actions .button{min-height:44px}.summary-strip{margin-bottom:22px;padding:19px 0}.summary-strip>div{padding-inline:13px}.summary-strip span{font-size:12px}.summary-strip strong{font-size:28px}.summary-strip strong small{margin-left:6px;font-size:11px}.panel{border-radius:10px;margin-bottom:18px}.section-heading{padding:16px 17px}.section-heading h2{font-size:16px}.job-row{gap:11px;padding:18px 17px}.job-code{min-width:45px;font-size:11px}.job-row .subtle{display:none}.record-row{gap:11px;min-height:87px;padding:18px 17px}.document-icon{width:37px;height:43px}.record-row strong{font-size:14px}.record-row small{font-size:11px}.record-row>.badge{padding-inline:7px;font-size:11px}.toolbar{flex-wrap:wrap;gap:12px}.search{flex-basis:100%;max-width:none}.segmented{gap:2px;width:100%;display:flex}.segmented button{flex:1;min-height:42px;padding-inline:7px;font-size:12px}.form-panel{padding:20px 17px}.field{margin-bottom:20px}.field>span{font-size:13px}input,textarea,select{min-height:48px;font-size:16px}.form-grid{display:block}.step-tabs button{font-size:12px}.step-tabs button span{max-width:90px}.step-card{padding:18px 17px}.photo-actions{gap:8px}.photo-actions .subtle{flex-basis:100%;margin-top:2px}.photo-grid,.photo-edit-grid{gap:12px}.photo-edit-grid{grid-template-columns:1fr 1fr}.photo-caption{flex-wrap:wrap;padding-right:0;position:relative}.photo-caption input{min-height:44px;padding-right:30px;font-size:12px}.photo-caption .icon-button{width:32px;position:absolute;top:0;right:0}.commit-bar{border-radius:9px;flex-wrap:wrap;gap:6px;padding:10px;bottom:87px}.commit-bar>span{width:100%;padding-left:3px;font-size:11px}.commit-bar>div{gap:7px;width:100%}.commit-bar .button{flex:1;min-height:46px;padding-inline:10px;font-size:12px}.bottom-nav{border-top:1px solid var(--line);padding:7px 5px calc(9px + env(safe-area-inset-bottom));z-index:30;background:#fcfdf9f7;justify-content:space-around;gap:0;min-height:72px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);white-space:nowrap;border-radius:7px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:49px;font-size:11px;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:650}.toast{min-width:220px;max-width:calc(100vw - 36px);font-size:12px;bottom:94px;left:50%}.reading-sheet{padding:24px 19px}.reading-meta{gap:12px;font-size:11px}.reading-summary{font-size:14px}.reading-chapter{padding:24px 0}.reading-chapter h2{font-size:21px}.prose{font-size:16px;line-height:1.95}.reading-confirm,.review-decision{padding:23px 19px}.reading-confirm>.button{width:100%}.decision-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.decision-actions .button{padding-inline:10px;font-size:12px}.learning-progress{gap:12px;font-size:12px}.learning-progress>span{max-width:95px}.overview-grid{gap:0}.login-panel{padding:28px 22px}.empty{text-align:left;align-items:flex-start;padding:32px 17px}.empty svg{flex:none}}@media (width<=360px){.main-content,.topbar,.demo-note{padding-inline:12px}.demo-switch select{max-width:130px}.photo-edit-grid,.photo-grid{grid-template-columns:1fr}.record-row{gap:8px;padding-inline:14px}.record-row>.document-icon{display:none}.summary-strip strong{font-size:26px}.summary-strip>div{padding-inline:10px}.bottom-nav a{font-size:10px}.button{padding-inline:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.print-only{display:none}@media print{.print-only{display:block}@page{size:A4;margin:18mm}.no-print,.sidebar,.topbar,.bottom-nav,.commit-bar,.back-button,.demo-note,.skip-link{display:none!important}:root{color:#000;background:#fff}.workspace{margin:0}.main-content{max-width:none;padding:0}.page-head{margin-bottom:24px}h1{font-size:24pt}.reading-sheet{border:0;max-width:none;padding:0}.panel{box-shadow:none;border:0}.reading-chapter{break-inside:avoid}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid img{object-fit:contain;max-height:70mm}.reading-meta{color:#444}.prose{font-size:11pt;line-height:1.8}a{text-decoration:none}}
