:root{--ink:#2f2f2f;--muted:#737373;--paper:#f5f5f5;--card:#fff;--accent:#585858;--accent-soft:#f0f0f0;--line:#e4e4e4;--warning:#86602e;--radius:18px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Noto Sans TC',sans-serif;font-size:max(22px,15px)}main{max-width:1160px;margin:auto;padding:28px 32px 60px}a{color:var(--accent);text-underline-offset:3px}button,input,select{font:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:white;text-decoration:none;cursor:pointer;line-height:1.4}button:hover,.button:hover{background:#f5f5f5;border-color:#bababa}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:white}button.primary:hover,.button.primary:hover{background:#464646}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d4a04d;outline-offset:3px}input[type=url],input[type=number],input[type=search],select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}h1{font-size:max(22px,36px);letter-spacing:-1px;line-height:1.3;margin:12px 0}h2{font-size:max(22px,20px);line-height:1.4;margin:0}h3{font-size:max(22px,16px);margin:0}p{margin:8px 0;color:var(--muted);line-height:1.7}.small,.hint{font-size:max(22px,12px);color:var(--muted)}.brandbar,.row,.section-heading,.project-top,.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.brandbar{margin-bottom:34px}.brand{text-decoration:none;font-size:max(22px,17px);font-weight:750;letter-spacing:.4px;color:var(--ink)}.brand-mark{display:inline-block;width:22px;height:23px;background:linear-gradient(90deg,var(--accent) 0 24%,transparent 24% 36%,var(--accent) 36% 62%,transparent 62% 74%,var(--accent) 74%);vertical-align:-5px;margin-right:9px;border-radius:3px}.brandbar>span{font-size:max(22px,12px);color:var(--muted)}.page-intro{margin-bottom:28px}.page-intro p{font-size:max(22px,16px)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);align-items:start;gap:28px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.source-tabs{display:flex;gap:4px;background:#f2f2f2;border-radius:12px;padding:4px;margin:22px 0}.source-tabs button{flex:1;border:0;background:transparent;min-height:40px}.source-tabs button[aria-pressed=true]{background:white;box-shadow:0 1px 5px #2f2f2f13;font-weight:650}.dropzone{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:155px;padding:22px;border:1.5px dashed #b7b7b7;border-radius:12px;background:#fbfbfb;cursor:pointer;text-align:center}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone strong{font-size:max(22px,16px);overflow-wrap:anywhere;max-width:100%}.dropzone span{font-size:max(22px,12px);color:var(--muted);margin-top:6px}.upload-symbol{font-size:max(22px,25px);color:var(--accent);margin-bottom:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only:focus-visible+.dropzone{outline:3px solid #d4a04d;outline-offset:3px}.field-label{display:block;font-size:max(22px,13px);font-weight:600;margin:18px 0 8px}.options{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative;cursor:pointer;flex:1;min-width:max-content}.choice span{display:block;text-align:center;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:max(22px,13px)}.choice input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:650}.choice input:focus-visible+span{outline:3px solid #d4a04d;outline-offset:3px}.advanced{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;color:var(--muted);font-size:max(22px,13px);min-height:32px;line-height:32px}details[open]>summary{margin-bottom:12px}.checkline{display:flex;align-items:center;gap:7px;font-size:max(22px,13px);margin:12px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide-button{width:100%;margin-top:22px;min-height:48px;font-weight:650}.status{font-size:max(22px,13px);white-space:pre-wrap;line-height:1.6}.status:empty{display:none}.status:not(:empty){margin-top:12px}.error{color:#a2402e}.form-footnote{text-align:center;font-size:max(22px,11px);color:var(--muted);margin:10px 0 0}.section-heading{margin:4px 0 15px}.section-heading span{font-size:max(22px,12px);color:var(--muted)}.project{border:1px solid var(--line);border-radius:14px;background:white;margin-bottom:12px;padding:19px 20px}.project-top{align-items:flex-start;gap:12px}.project-name{font-size:max(22px,15px);line-height:1.6;margin:0;overflow-wrap:anywhere;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-size:max(22px,11px);white-space:nowrap;flex:none}.badge.review{background:#f6f0df;color:var(--warning)}.badge.failed{background:#fbeee7;color:#a2402e}.project-meta{font-size:max(22px,12px);color:var(--muted);margin:9px 0 15px}.project-bottom{gap:8px;flex-wrap:wrap}.project-bottom>time{font-size:max(22px,11px);color:var(--muted)}.actions{display:flex;gap:8px;align-items:center}.actions .button{font-size:max(22px,12px);min-height:36px;padding:7px 12px}.project-history{border-top:1px solid var(--line);margin-top:13px;padding-top:5px}.history-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:max(22px,12px);border-top:1px solid #f0f0f0}.history-item span{color:var(--muted)}.task{border-color:#cbcbcb;background:#fcfcfc}.task-message{font-size:max(22px,13px);margin:10px 0}.steps{display:flex;gap:6px;list-style:none;padding:0;margin:15px 0 10px}.steps li{flex:1;border-top:3px solid #e7e7e7;padding-top:7px;font-size:max(22px,11px);color:var(--muted)}.steps li.done{border-color:var(--accent)}.steps li.current{border-color:var(--accent);color:var(--accent);font-weight:650}.task details{margin-top:8px}.task pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:150px;overflow:auto;font-size:max(22px,11px)}.empty{padding:38px 24px;border:1px dashed #d4d4d4;border-radius:14px;text-align:center;color:var(--muted);font-size:max(22px,13px)}.skeleton{background:#ececec;border-radius:8px;height:100px;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.45}}.library-footer{font-size:max(22px,11px);color:var(--muted);margin-top:15px}.text-link{font-size:max(22px,13px);text-decoration:none;color:var(--muted)}.result-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:8px 0 20px}.result-heading h1{font-size:max(22px,27px);overflow-wrap:anywhere;margin:0 0 7px}.result-heading .heading-main{min-width:0}.result-meta{font-size:max(22px,13px)}.result-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.download-menu{position:relative}.download-menu>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;min-height:42px;padding:6px 12px;background:white;margin:0}.download-menu[open]>div{position:absolute;right:0;top:46px;width:190px;background:white;box-shadow:0 8px 32px #2b2b2b18;border:1px solid var(--line);border-radius:12px;padding:7px;z-index:10}.download-menu a{display:block;padding:9px;color:var(--ink);text-decoration:none;font-size:max(22px,13px)}.download-menu a:hover{background:var(--accent-soft);border-radius:7px}.result-date{font-size:max(22px,11px);color:var(--muted)}.detail-card{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.detail-card>summary{font-size:max(22px,14px);color:var(--ink)}.detail-card p{font-size:max(22px,13px)}.detail-links{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.detail-links a{font-size:max(22px,12px)}.detail-card pre{overflow-wrap:anywhere;white-space:pre-wrap}.notice-small{font-size:max(22px,12px);color:var(--warning);background:#f7f0df;border-radius:8px;padding:9px 13px}.back-link{display:inline-block;text-decoration:none;font-size:max(22px,13px);color:var(--muted);margin-bottom:22px}.footer-note{font-size:max(22px,11px);color:var(--muted);margin-top:22px}@media(max-width:850px){.workspace-grid{grid-template-columns:1fr;gap:28px}.page-intro{margin-bottom:20px}.brandbar{margin-bottom:24px}.result-heading{flex-wrap:wrap}.result-actions{width:100%}}@media(max-width:550px){main{padding:20px 18px 40px}h1{font-size:max(22px,29px)}.page-intro p{font-size:max(22px,14px)}.card{padding:20px}.project{padding:16px}.brandbar>span{font-size:max(22px,11px)}.result-heading h1{font-size:max(22px,23px)}.dropzone{min-height:130px}.project-bottom>time{width:100%;order:2}.result-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

.create-card .source-tabs{margin-top:0}

.mobile-score-hint{display:none}@media(max-width:550px){.mobile-score-hint{display:block;text-align:center;margin:2px 0 10px}}

/* Real progress, independent of browser connection or elapsed-time counters. */
.task-warning{border-color:#d7bc81;background:#fffdf6}.stage-progress-heading,.task-clocks{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:max(22px,12px)}.stage-progress-heading{margin-top:18px}.stage-progress-heading strong{font-size:max(22px,18px);color:var(--accent)}.stage-progress{display:block;width:100%;height:7px;margin:5px 0 8px;border:0;border-radius:10px;overflow:hidden;background:#e8e8e8;accent-color:var(--accent)}.stage-progress::-webkit-progress-bar{background:#e8e8e8}.stage-progress::-webkit-progress-value{background:var(--accent);border-radius:10px}.task-clocks{flex-wrap:wrap;margin-top:17px;color:var(--muted)}.task-clocks strong{color:var(--ink);font-weight:600}.task-estimate{font-size:max(22px,13px);color:var(--ink);margin:8px 0 3px}.task-next{margin:2px 0 10px}.task-connection{font-size:max(22px,12px);margin:10px 0 2px}.task-connection:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px}.task-warning .task-connection:before,.connection-lost .task-connection:before{background:#bb8529}.task-connection.error:before{background:#a2402e}.task .steps{gap:5px}.task .steps li{font-size:max(22px,10px);line-height:1.6}.connection-lost{border-color:#d7bc81}

.release-warning{padding:16px 20px;background:#fff1e9;border:1px solid #d69977;border-radius:12px;color:#843a23;font-size:max(22px,14px);margin:12px 0}.badge.review.blocked{background:#fff1e9;color:#843a23}
