:root{color:#26221e;font-synthesis:none;text-rendering:optimizelegibility;--ink:#26221e;--muted:#665e55;--paper:#fff;--line:#ded7cd;--line-strong:#a99d90;--accent:#a34825;--accent-dark:#7b321b;--accent-soft:#f7e7dc;--warning:#9b572d;--warning-soft:#fff5eb;--danger:#a6422e;--danger-soft:#fff0ed;background:#f7f4ee;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}body,html{background:#f7f4ee}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fffdf9f0;justify-content:space-between;gap:24px;min-height:72px;padding:0 max(24px,50vw - 520px);display:flex}.brand,.topbar{align-items:center}.brand{gap:11px;min-width:0;text-decoration:none;display:inline-flex}.brand-logo{border:1px solid var(--line-strong);-o-object-fit:cover;object-fit:cover;background:var(--paper);border-radius:11px;flex:none;width:44px;height:44px}.brand>span{flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand strong{letter-spacing:.02em;font-size:15px}.brand small{color:var(--muted);margin-top:3px;font-size:11px}.account-area,.user-chip{align-items:center;gap:9px;display:flex}.account-area{flex:none}.dataset-link{color:var(--muted);border-radius:7px;padding:7px 9px;font-size:11px;font-weight:800;text-decoration:none}.dataset-link.active,.dataset-link:hover{background:var(--accent-soft);color:var(--accent-dark)}.user-chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:4px 11px 4px 4px;font-size:12px;font-weight:700;text-decoration:none}.user-chip img{border-radius:50%;width:30px;height:30px}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:12px}.text-button:hover{color:var(--ink)}.session-placeholder{color:var(--muted);font-size:12px}.github-button{color:#fff;background:#302a25;border-radius:8px;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.github-button.compact{min-height:38px;padding:0 15px;font-size:12px}.page-content{width:min(820px,100% - 40px);margin:0 auto;padding:52px 0 72px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,4vw,38px);line-height:1.25}.page-heading p{color:var(--muted);margin:8px 0 0;font-size:14px}.draft-state{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #dfc2b4;border-radius:7px;flex:none;padding:6px 9px;font-size:10px;font-weight:700}.form-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 12px 32px #362a2013}form{padding:0 30px 30px}.field-group{border-bottom:1px solid var(--line);padding:28px 0}.field-label-row{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:11px;display:flex}.field-label,.field-label-row label{align-items:center;gap:9px;font-size:14px;font-weight:800;display:inline-flex}.field-index{background:var(--accent);color:#fff;border-radius:6px;flex:none;place-items:center;width:23px;height:23px;font-size:10px;font-weight:800;display:inline-grid}.field-label-row small,.field-label-row>span{color:var(--muted);font-size:10px}.field-label-row>div{flex-direction:column;align-items:flex-start;gap:5px;display:flex}input[type=text],textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:9px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}textarea{resize:vertical;min-height:112px;padding:14px 15px;line-height:1.7}input[type=text]{letter-spacing:.04em;min-height:52px;padding:0 15px;font-size:18px;font-weight:600}input[type=text]:hover,textarea:hover{background:#fff}input[type=text]:focus,select:focus-visible,textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #a3482526}.field-hint{color:var(--muted);margin:8px 1px 0;font-size:10px;line-height:1.6}.alignment-region{border:1px solid var(--line);background:#f5f1eb;border-radius:10px;overflow:hidden}.alignment-summary{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:9px 12px;font-size:10px;display:flex}.needs-action{color:var(--warning);font-weight:700}.ready-state{color:var(--accent);font-weight:700}.alignment-track{scrollbar-color:#b7ada1 transparent;gap:9px;padding:12px;display:flex;overflow-x:auto}.alignment-card{border:1px solid var(--line-strong);text-align:center;background:#fff;border-radius:9px;flex-direction:column;align-items:center;width:136px;min-width:136px;min-height:184px;padding:11px 9px;display:flex}.alignment-card.unresolved{background:var(--warning-soft);border-color:#d6a177}.alignment-card.unsupported{background:var(--danger-soft);border-color:#d29384}.position-label{color:#756d64;align-self:flex-start;font-size:9px;font-weight:700}.answer-character{margin:9px 0 5px;font-family:Noto Serif TC,PMingLiU,serif;font-size:40px;line-height:1}.reading-placeholder,.reading-value{min-height:33px;color:var(--accent);letter-spacing:.07em;place-items:center;margin:5px 0 9px;font-size:21px;font-weight:800;display:grid}.reading-placeholder{color:var(--danger);font-size:12px}.alignment-card label{color:#7b321b;margin:1px 0 6px;font-size:9px;font-weight:700}.alignment-card select{border:1px solid var(--line-strong);width:100%;min-height:36px;color:var(--ink);background:#fff;border-radius:7px;padding:0 7px;font-size:14px;font-weight:700}.alignment-card small{color:var(--muted);margin-top:auto;font-size:9px;line-height:1.4}.alignment-empty{border:1px dashed var(--line-strong);min-height:118px;color:var(--muted);background:#f5f1eb;border-radius:10px;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex}.empty-glyph{border:1px solid var(--line);width:46px;height:52px;color:var(--accent);background:#fff;border-radius:8px;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.alignment-empty strong{color:#554e47;font-size:12px;display:block}.alignment-empty p{margin:4px 0 0;font-size:10px}.submission-preview{background:#fffcf8;border:1px solid #d8c7ba;border-radius:11px;overflow:hidden}.preview-header{background:#faf3ed;border-bottom:1px solid #e7ded5;justify-content:space-between;align-items:center;gap:16px;min-height:61px;padding:12px 15px;display:flex}.preview-header>div{align-items:baseline;gap:9px;display:flex}.preview-kicker{color:var(--accent);letter-spacing:.14em;font-size:8px;font-weight:900}.preview-header h3{margin:0;font-size:13px}.preview-status{color:var(--muted);background:#eee8e1;border-radius:999px;flex:none;padding:4px 7px;font-size:9px;font-weight:800}.preview-status.complete{background:var(--accent-soft);color:var(--accent-dark)}.preview-surface{padding:25px 18px 16px}.composed-sentence{min-height:70px;color:var(--ink);overflow-wrap:anywhere;margin:0;font-family:Noto Serif TC,PMingLiU,serif;font-size:clamp(21px,4vw,28px);line-height:2.5}.preview-context{white-space:pre-wrap}.preview-answer{background:var(--accent-soft);color:var(--accent-dark);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px;padding:4px 5px 5px;font-weight:800}.preview-answer ruby{ruby-align:center}.preview-answer rt{color:var(--accent-dark);letter-spacing:.02em;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:9px;font-weight:800}.preview-answer rt.unresolved{color:var(--warning)}.preview-answer-placeholder,.preview-placeholder{color:#9b9187}.preview-answer-placeholder{background:#f8eee6;border:1px dashed #cdbbae;border-radius:6px;padding:4px 6px;font-size:.7em}.preview-reading-row{border-top:1px solid #eee6df;align-items:baseline;gap:12px;margin-top:7px;padding-top:12px;font-size:10px;display:flex}.preview-reading-row>span{color:var(--muted);flex:none}.preview-reading-row strong{color:#55463c;overflow-wrap:anywhere;min-width:0}.preview-empty{min-height:118px;color:var(--muted);justify-content:center;align-items:center;gap:13px;padding:20px;display:flex}.preview-empty>span{background:var(--accent-soft);width:43px;height:43px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-family:Noto Serif TC,PMingLiU,serif;font-size:18px;font-weight:800;display:grid}.preview-empty p{max-width:360px;margin:0;font-size:10px;line-height:1.55}.preview-empty strong{color:#554e47;margin-bottom:2px;font-size:12px;display:block}.review-overlay{z-index:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f1a16a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.review-dialog{border:1px solid var(--line-strong);background:var(--paper);border-radius:15px;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:calc(100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 80px #2b1f174d}.review-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:17px 21px;display:flex}.review-header>div>span{color:var(--accent);letter-spacing:.08em;font-size:9px;font-weight:800}.review-header h2{letter-spacing:-.02em;margin:3px 0 0;font-size:20px}.review-header button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#faf7f2;border-radius:50%;flex:none;font-size:22px;line-height:1}.review-body{background:#faf8f4;padding:20px 21px;overflow-y:auto}.review-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;display:grid}.review-metadata>div{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:11px 12px}.review-metadata dt{color:var(--muted);font-size:9px}.review-metadata dd{color:var(--ink);margin:3px 0 0;font-size:11px;font-weight:800}.review-actions{border-top:1px solid var(--line);background:var(--paper);grid-template-columns:auto minmax(220px,1fr);gap:9px;min-height:0;padding:15px 21px 16px;display:grid}.review-actions button{cursor:pointer;border-radius:8px;min-height:45px;font-size:11px;font-weight:800}.review-actions button:disabled{cursor:not-allowed;opacity:.65}.review-edit{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);padding:0 17px}.review-confirm{background:var(--accent);color:#fff;border:0;justify-content:space-between;align-items:center;gap:16px;padding:0 15px;display:flex}.review-confirm:not(:disabled):hover{background:var(--accent-dark)}.review-actions p{color:var(--muted);text-align:right;grid-column:1/-1;margin:0;font-size:9px}.difficulty-grid{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.difficulty-option{border:1px solid var(--line-strong);min-height:104px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:9px 5px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.difficulty-option:hover{border-color:var(--accent)}.difficulty-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.difficulty-number{background:#eee9e2;border-radius:50%;place-items:center;width:27px;height:27px;margin-bottom:7px;font-size:11px;font-weight:800;display:grid}.difficulty-option.selected .difficulty-number{background:var(--accent);color:#fff}.difficulty-option strong{font-size:11px}.difficulty-option small{max-width:88px;color:var(--muted);margin-top:4px;font-size:9px;line-height:1.4}.consent-row{color:#514b45;cursor:pointer;align-items:flex-start;gap:9px;padding:22px 1px 16px;font-size:11px;line-height:1.6;display:flex}.consent-row+.consent-row{padding-top:0}.attribution-row span{flex-direction:column;gap:2px;display:flex}.attribution-row strong{color:var(--ink);font-size:11px}.attribution-row small{color:var(--muted);font-size:10px}.consent-row input{width:16px;height:16px;accent-color:var(--accent);margin-top:1px}.message{border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin:8px 0 14px;padding:12px 13px;font-size:11px;display:flex}.message div{flex-direction:column;gap:2px;display:flex}.message a{white-space:nowrap;font-weight:800}.error-message{color:var(--danger);background:#fae7e2}.success-message{color:var(--accent-dark);background:#f4e7dd}.setup-message{color:#705d25;background:#fff4d7}.submit-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0 17px;font-size:13px;font-weight:800;transition:background .12s,opacity .12s;display:flex}.submit-button:not(:disabled):hover{background:var(--accent-dark)}.submit-button:disabled{cursor:not-allowed;background:#9b9690}.submit-note{text-align:center;margin:9px 0 0}.submit-note,footer{color:var(--muted);font-size:10px}footer{border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:0 max(24px,50vw - 520px);display:flex}footer a{font-weight:700}.dataset-page{width:min(980px,100% - 40px)}.dataset-heading{align-items:center}.dataset-eyebrow{color:var(--accent);letter-spacing:.13em;margin-bottom:7px;font-size:9px;font-weight:900;display:block}.dataset-sync-state{border-color:var(--line);color:var(--muted);background:#f0ebe4}.dataset-toolbar{border:1px solid var(--line);background:var(--paper);border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:0 8px 24px #362a200e}.dataset-summary{border-bottom:1px solid var(--line);background:#faf7f2;align-items:center;gap:28px;min-height:66px;padding:12px 16px;display:flex}.dataset-summary>div{align-items:baseline;gap:6px;display:flex}.dataset-summary strong{color:var(--accent-dark);font-family:Noto Serif TC,PMingLiU,serif;font-size:22px}.dataset-summary span{color:var(--muted);font-size:10px}.dataset-summary a{color:var(--accent-dark);text-underline-offset:3px;margin-left:auto;font-size:10px;font-weight:800}.dataset-search-row{padding:14px 16px 9px;position:relative}.dataset-search{border:1px solid var(--line-strong);background:var(--paper);width:100%;min-height:46px;color:var(--ink);border-radius:8px;outline:none;padding:0 72px 0 14px;font-size:13px}.dataset-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a3482526}.clear-search{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800;position:absolute;top:50%;right:27px;translate:0 -36%}.dataset-filters{gap:6px;padding:0 16px 14px;display:flex;overflow-x:auto}.dataset-filters button{border:1px solid var(--line);background:var(--paper);min-height:31px;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:9px;font-weight:800;display:inline-flex}.dataset-filters button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.dataset-filters button span{text-align:center;background:#eee8e1;border-radius:999px;min-width:17px;padding:1px 4px;font-size:8px}.dataset-results{gap:11px;min-width:0;display:grid}.dataset-sample-card{background:#fffcf8;border:1px solid #d8c7ba;border-radius:11px;width:100%;min-width:0;overflow:hidden;box-shadow:0 7px 20px #362a200b}.dataset-card-header{min-height:45px;color:var(--muted);background:#faf3ed;border-bottom:1px solid #e7ded5;justify-content:space-between;align-items:center;gap:14px;padding:9px 14px;font-size:9px;font-weight:800;display:flex}.dataset-difficulty{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:4px 7px}.dataset-card-body{min-width:0;padding:18px 16px 13px}.dataset-sentence{min-height:54px;font-size:clamp(18px,3vw,23px);line-height:2.45}.dataset-notice{background:var(--danger-soft);color:var(--danger);border-radius:9px;grid-template-columns:1fr auto;gap:2px 16px;margin-bottom:14px;padding:12px 14px;font-size:10px;display:grid}.dataset-notice.warning{background:var(--warning-soft);color:var(--warning)}.dataset-notice span,.dataset-notice strong{grid-column:1}.dataset-notice button{color:inherit;cursor:pointer;background:0 0;border:0;grid-area:1/2/3;font-size:10px;font-weight:800}.dataset-loading{gap:11px;display:grid;position:relative}.dataset-loading>span{color:var(--muted);place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;inset:0}.dataset-skeleton{border:1px solid var(--line);background:linear-gradient(100deg,#f1ede7 30%,#faf8f4 45%,#f1ede7 60%) 0 0/220% 100%;border-radius:11px;height:158px;animation:1.4s ease-in-out infinite dataset-shimmer}@keyframes dataset-shimmer{to{background-position-x:-220%}}.dataset-empty-state{border:1px dashed var(--line-strong);background:var(--paper);min-height:220px;color:var(--muted);border-radius:11px;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.dataset-empty-state>span{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:50%;place-items:center;font-family:Noto Serif TC,serif;font-weight:800;display:grid}.dataset-empty-state strong{color:var(--ink);font-size:13px}.dataset-empty-state p{margin:4px 0 0;font-size:10px}.dataset-pagination{color:var(--muted);justify-content:center;align-items:center;gap:16px;margin-top:20px;font-size:10px;display:flex}.dataset-pagination button{border:1px solid var(--line-strong);background:var(--paper);min-height:36px;color:var(--ink);cursor:pointer;border-radius:7px;padding:0 12px;font-size:10px;font-weight:800}.dataset-pagination button:disabled{opacity:.45;cursor:not-allowed}.agreement-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f1a16a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.agreement-dialog{border:1px solid var(--line-strong);background:var(--paper);border-radius:15px;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);min-width:0;max-height:min(850px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 80px #2b1f174d}.agreement-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-width:0;min-height:88px;padding:19px 24px;display:flex}.agreement-header>div{min-width:0}.agreement-header h2{letter-spacing:-.025em;margin:3px 0 0;font-size:22px}.agreement-kicker,.agreement-version{color:var(--muted);font-size:10px;font-weight:700}.agreement-version{border:1px solid var(--line);background:#f5f1eb;border-radius:6px;flex:none;padding:5px 8px}.agreement-body{color:#514a43;overflow-wrap:anywhere;scrollbar-color:#b7ada1 transparent;min-width:0;padding:20px 24px;font-size:12px;line-height:1.75;overflow:hidden auto}.agreement-body>p{background:var(--accent-soft);color:var(--accent-dark);border-radius:8px;margin:0 0 20px;padding:12px 13px}.agreement-body section+section{margin-top:17px}.agreement-body h3{color:var(--ink);margin:0 0 4px;font-size:12px}.agreement-body section p{margin:0}.agreement-body section p+p{margin-top:7px}.agreement-body a{color:var(--accent-dark);text-underline-offset:2px;font-weight:700}.agreement-actions{border-top:1px solid var(--line);background:#faf7f2;min-height:0;padding:16px 24px 17px;display:block}.agreement-confirmation{color:var(--ink);cursor:pointer;align-items:flex-start;gap:9px;font-size:11px;font-weight:700;line-height:1.55;display:flex}.agreement-confirmation input{width:17px;height:17px;accent-color:var(--accent);flex:none;margin:0}.agreement-accept{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;min-height:45px;margin-top:13px;font-size:12px;font-weight:800}.agreement-accept:disabled{cursor:not-allowed;background:#9b9690}.agreement-actions>p{color:var(--muted);text-align:center;margin:7px 0 0;font-size:10px}.agreement-error{color:var(--danger);margin-top:10px;font-size:10px}@media (width<=640px){.topbar{min-height:64px;padding:0 14px}.brand-logo{border-radius:9px;width:39px;height:39px}.brand small,.text-button,.user-chip span{display:none}.github-button.compact{min-height:36px;padding:0 11px;font-size:10px}.dataset-link{padding:6px;font-size:9px}.dataset-topbar .github-button.compact{display:none}.page-content{width:min(100% - 24px,820px);padding:34px 0 50px}.dataset-page{width:min(100% - 24px,980px)}.dataset-heading{flex-direction:column;align-items:flex-start;gap:12px}.dataset-summary{flex-wrap:wrap;gap:14px}.dataset-summary a{width:100%;margin-left:0}.dataset-card-body{padding-left:13px;padding-right:13px}.dataset-card-header{flex-direction:column;align-items:flex-start;gap:5px}.dataset-notice{grid-template-columns:1fr}.dataset-notice button{grid-area:auto/1;justify-self:start;padding:5px 0 0}.page-heading{align-items:flex-start;margin-bottom:17px}.page-heading h1{font-size:27px}.page-heading p{max-width:260px;font-size:12px;line-height:1.6}.draft-state{padding:5px 7px;font-size:9px}.form-card{border-radius:11px}form{padding:0 17px 23px}.field-group{padding:23px 0}.field-label-row{align-items:flex-start}.difficulty-grid{grid-template-columns:repeat(5,minmax(78px,1fr));padding:2px 1px 8px;overflow-x:auto}.difficulty-option{min-height:98px}.alignment-empty{justify-content:flex-start}.preview-header{padding-left:12px;padding-right:12px}.preview-surface{padding-left:13px;padding-right:13px}.preview-reading-row{flex-direction:column;align-items:flex-start;gap:3px}.preview-empty{justify-content:flex-start}.review-overlay{align-items:end;padding:0}.review-dialog{border-width:1px 0 0;border-radius:14px 14px 0 0;max-height:94vh}.review-actions,.review-body,.review-header{padding-left:14px;padding-right:14px}.review-header h2{font-size:17px}.review-actions,.review-metadata{grid-template-columns:1fr}.review-edit{order:2}.review-actions p{text-align:center;order:3}.message{flex-direction:column;align-items:flex-start}footer{padding:0 14px}.agreement-overlay{align-items:end;padding:0}.agreement-dialog{border-width:1px 0 0;border-radius:14px 14px 0 0;max-height:94vh}.agreement-actions,.agreement-body,.agreement-header{padding-left:17px;padding-right:17px}.agreement-header h2{font-size:19px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}
