/* Hallmark · shape: app screen · genre: modern-minimal · theme: Cobalt (deal 1/3) · redesign: full · nav: persistent top workspace tabs · signature: product answer with A and B reference ledger · states: loading, empty, error, full · axes: light/grotesk-sans/cool · posture: restrained · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H5 E4 S4 R5 V4 · weakest: E, enlarged Chinese controls and table rows require real mobile verification */
/* Hallmark · finish-review: subagent · 3 Finish findings · 3 resolved; API table stays readable, active navigation remains visible, examples regain button affordance · render checks: CUA at eight widths; no Puppeteer render claim */
/* Hallmark · reworded "今天想確認什麼？" to "產品問答" and "問得清楚，回答更有把握。" to "查詢產品，核對正式依據。" · 54 names the decorative heading labels */
/* Hallmark · dropped decorative status dots, repeated sidebar brand, botanical backdrop and arrow suffixes · 63 removes decoration while all controls and destinations remain */
/* Hallmark · answered F19 · Chinese application uses system fonts with 400, 600 and 700 weights for legible product specifications */
@import url("./tokens.css");
@import url("./base.css");
.auth-form{margin-block:24px}.auth-form>label{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:12px}.auth-form>button{width:100%;min-height:48px}.auth-form label:has(#login-code){grid-template-columns:1fr}.auth-error{padding:12px 16px;background:#fff2f0;border:1px solid #cd7971;color:#882e27;border-radius:6px;font-size:17px;line-height:1.7;margin-bottom:16px}.login-support{font-size:16px;color:var(--color-muted);line-height:1.8;margin-block:20px}.login-support a{text-decoration:underline;text-underline-offset:3px}.login-panel .auth-form input{min-width:0;font-size:18px}
html{scroll-padding-top:var(--space-lg)}
body{font-size:var(--text-md);line-height:1.7}
h1,h2,h3{line-height:1.45;color:var(--color-ink)}
h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}
p{margin:0 0 var(--space-sm)}p:last-child{margin-bottom:0}
.muted,.small{font-size:var(--text-sm);color:var(--color-muted);line-height:1.75}
button,.button{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-rule-2);border-radius:var(--radius-input);background:var(--color-key-face);color:var(--color-ink);font:600 var(--text-sm)/1.5 var(--font-body);white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-key);transition:transform var(--dur-micro) var(--ease-out)}
button:hover:not(:disabled),.button:hover{transform:translateY(-1px)}button:active:not(:disabled),.button:active{transform:translateY(1px);box-shadow:var(--shadow-key-press)}
.primary{background:var(--color-accent);border-color:var(--color-accent-edge);color:var(--color-accent-ink);box-shadow:var(--shadow-key-accent)}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-paper-3);color:var(--color-muted);box-shadow:none;transform:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.skip-link{position:fixed;top:var(--space-xs);left:var(--space-md);transform:translateY(-200%);padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper);z-index:var(--z-tooltip)}.skip-link:focus{transform:translateY(0)}
.app-header{border-bottom:1px solid var(--color-rule);background:var(--color-key-face)}
.header-inner{max-width:var(--container);margin:auto;padding:var(--space-md) var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:88px}
.header-title{display:flex;align-items:center;gap:var(--space-sm)}.header-title>div{display:grid;gap:var(--space-3xs)}.header-title strong{font-size:22px;font-weight:700}.header-title>div>span{font-size:var(--text-sm);color:var(--color-muted)}
.brand-mark{height:48px;width:48px;flex:0 0 48px;position:relative;overflow:clip;border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-key-face)}.brand-mark img{position:absolute;width:263%;max-width:none;height:auto;left:50%;top:-4%;transform:translateX(-50%)}
#identity{display:flex;align-items:center;gap:var(--space-md);min-width:0;font-size:var(--text-sm)}.identity-details{display:grid;text-align:right;gap:var(--space-3xs);min-width:0}.identity-email{overflow-wrap:anywhere}.identity-role{color:var(--color-muted)}
.sidebar{background:var(--color-paper-2);border-bottom:1px solid var(--color-rule)}nav{max-width:var(--container);padding:var(--space-xs) var(--gutter);margin:auto;display:flex;gap:var(--space-xs);overflow-x:auto;scrollbar-width:thin}
.nav{min-height:48px;background:var(--color-transparent);border-color:var(--color-transparent);box-shadow:none;color:var(--color-ink-2);gap:var(--space-xs);font-size:17px;font-weight:600}.nav.active{background:var(--color-key-face);border-color:var(--color-rule-2);color:var(--color-accent-deep);box-shadow:var(--shadow-card)}.nav:hover:not(:disabled){transform:none;background:var(--color-key-face)}.nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.workspace-content{max-width:var(--container);margin:auto;padding:var(--space-lg) var(--gutter) var(--space-xl)}
.notice{font-size:var(--text-sm);line-height:1.7;background:var(--color-notice);color:var(--color-notice-ink);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);border-radius:var(--radius-input)}.notice::before{content:"使用提醒";font-weight:700;margin-right:var(--space-sm)}
.hero-band{margin-bottom:var(--space-lg)}.hero-band h1{margin-bottom:var(--space-xs)}.hero-band p{color:var(--color-ink-2);font-size:17px;max-width:65ch}
.chat{display:flex;flex-direction:column;max-width:1040px}.chat-heading{order:0;display:none}.chat>.composer{order:1}.chat>#messages{order:2}.chat.has-conversation>#messages{order:1}.chat.has-conversation>.composer{order:2;margin-top:var(--space-lg)}
.composer{padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card)}.composer>label{display:block;font-size:20px;font-weight:600;margin-bottom:var(--space-sm)}.composer textarea{min-height:120px;font-size:var(--text-answer);line-height:1.75}.composer-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--space-md)}.composer-footer p,.composer-footer span{font-size:var(--text-sm);color:var(--color-muted);margin:0;min-height:1lh}.composer-footer button{min-width:128px;font-size:18px}
input,textarea,select{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-muted);border-radius:var(--radius-input);color:var(--color-ink);background:var(--color-key-face);font-size:17px;line-height:1.5;caret-color:var(--color-accent)}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}textarea{resize:vertical;line-height:1.75}select{padding-right:var(--space-panel);text-overflow:ellipsis}input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--color-accent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:-4px}
#messages{display:flex;flex-direction:column;gap:var(--space-lg);min-width:0}.starter{margin-top:var(--space-lg)}.starter.compact{display:none}.starter-title{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-xs)}.examples{display:grid;grid-template-columns:minmax(0,1fr)}.example{display:flex;justify-content:flex-start;gap:var(--space-lg);background:var(--color-transparent);border:0;border-bottom:1px solid var(--color-rule);border-radius:0;box-shadow:none;text-align:left;padding:var(--space-md) 0;font-size:17px;white-space:normal;font-weight:400}.example-topic{font-size:var(--text-sm);color:var(--color-muted);min-width:8em}.example:hover:not(:disabled){transform:none;color:var(--color-accent-deep)}.example:active:not(:disabled){box-shadow:none;background:var(--color-paper-2)}
.message{font-size:var(--text-answer);line-height:1.85;overflow-wrap:anywhere}.ask{align-self:flex-end;max-width:90%;padding:var(--space-md) var(--space-lg);background:var(--color-paper-3);border-radius:var(--radius-card)}.ask-label{display:block;font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-2xs)}
.answer{border-top:1px solid var(--color-rule-2);padding:var(--space-lg) 0}.answer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.answer-head strong{font-weight:600}.status-badge{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600}.answer[data-status=needs_review] .status-badge{color:var(--color-notice-ink)}.answer[data-status=blocked] .status-badge{color:var(--color-error)}.answer[data-status=clarify] .status-badge{color:var(--color-accent-deep)}.answer-text{font-size:var(--text-answer);white-space:pre-wrap;line-height:1.9;max-width:82ch;margin-bottom:var(--space-lg)}
.citations-label{font-size:var(--text-sm);font-weight:600;color:var(--color-muted);margin-bottom:var(--space-xs)}.citations{display:flex;flex-wrap:wrap;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-lg)}.citation{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:240px;padding:var(--space-md) var(--space-xl) var(--space-md) 0;font-size:var(--text-sm);line-height:1.6}.citation strong{font-weight:600}.citation span{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.answer-tools{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-start}.review-wrap{flex:1;min-width:0}.review-wrap:has(.review-form){flex-basis:100%;order:3}.review-form{border-top:1px solid var(--color-rule);padding-top:var(--space-lg);margin-top:var(--space-md)}.review-form>p{font-size:var(--text-sm);font-weight:400}.review-receipt{padding:var(--space-md);background:var(--color-paper-2);font-size:17px;overflow-wrap:anywhere}.review-receipt strong{display:block;margin-bottom:var(--space-xs)}.pending-message{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-muted);font-size:17px;min-height:64px}.spinner{width:20px;height:20px;border:2px solid var(--color-rule-2);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}
.page-title{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.page-title h1{margin-bottom:var(--space-xs)}.page-title p{margin:0}.page-title>button{flex-shrink:0}.stack{display:grid;gap:var(--space-lg)}.panel{padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card)}.panel>h2{margin-bottom:var(--space-sm)}.panel .form{margin-top:var(--space-lg)}.panel .actions{margin:var(--space-lg) 0}.section-heading{margin:var(--space-xl) 0 var(--space-lg)}.section-heading h2{margin-bottom:var(--space-xs)}.entry-meta{font-size:var(--text-sm);line-height:1.75;overflow-wrap:anywhere;color:var(--color-muted);margin-bottom:var(--space-sm)}.entry-content{font-size:17px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.empty{padding:var(--space-xl) var(--space-lg);color:var(--color-muted);background:var(--color-paper-2);font-size:17px;border-radius:var(--radius-card)}
.form{display:grid;gap:var(--space-md)}.form label{display:grid;gap:var(--space-xs);font-size:var(--text-sm);font-weight:600;line-height:1.65}.form .check{display:flex;align-items:flex-start;gap:var(--space-sm);font-weight:400}.form .check input{margin:var(--space-2xs) 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.form>button{justify-self:start}.actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.toolbar{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.toolbar input{flex:1}.toolbar select{max-width:200px}.toolbar button{flex-shrink:0}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--text-sm);line-height:1.7}th,td{padding:var(--space-md);border-bottom:1px solid var(--color-rule);vertical-align:middle;overflow-wrap:anywhere}th{background:var(--color-paper-2);color:var(--color-ink-2);font-weight:600;white-space:nowrap}td button{font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm);margin:var(--space-2xs) var(--space-xs) var(--space-2xs) 0}.records-table td:nth-child(1){width:180px}.records-table td:nth-child(2){width:220px}.records-table td:nth-child(3){min-width:220px}.records-table td:nth-child(4){white-space:nowrap}.records-table td:last-child{width:190px}.record-id{font-weight:600}.record-version{display:block;font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2xs)}.status-label{font-size:var(--text-sm);color:var(--color-ink-2);white-space:nowrap}.status-label.withdrawn{color:var(--color-error)}.pager{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin:var(--space-lg) 0;font-size:var(--text-sm)}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--space-xl);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}.metric{padding:var(--space-lg);border-right:1px solid var(--color-rule)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric strong{display:block;font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.4;margin-bottom:var(--space-xs)}.metric span{font-size:17px;color:var(--color-muted)}.columns{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:var(--space-lg);align-items:start}.user-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);font-size:var(--text-sm)}.user-row span{white-space:pre-line;overflow-wrap:anywhere;min-width:0}.user-row button{flex-shrink:0}.admin-panel{margin-top:var(--space-lg)}.result{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:17px;line-height:1.8;margin:var(--space-md) 0 0}.result:empty{display:none}
dialog{position:fixed;inset:0;margin:auto;width:min(820px,calc(100% - 32px));max-height:90dvh;padding:var(--space-panel);border:1px solid var(--color-rule-2);border-radius:var(--radius-card);color:var(--color-ink);background:var(--color-key-face)}dialog::backdrop{background:var(--color-backdrop)}.dialog-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xs)}.dialog-title h2{font-size:24px}.dialog-title button{flex-shrink:0}#confirm-body{white-space:pre-wrap;max-height:50dvh;overflow:auto;font-size:17px;line-height:1.8;overflow-wrap:anywhere}#toast{position:fixed;bottom:var(--space-lg);left:50%;transform:translateX(-50%);padding:var(--space-md) var(--space-lg);background:var(--color-graphite);color:var(--color-graphite-ink);border-radius:var(--radius-input);max-width:min(680px,90%);width:max-content;font-size:17px;line-height:1.7;z-index:var(--z-toast);overflow-wrap:anywhere}
.workspace-footer{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--color-muted)}
.login-layout{max-width:var(--container);padding:var(--space-2xl) var(--gutter);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl);align-items:center;min-height:660px}.login-brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-lg)}.brand-lockup{display:none}.login-copy h1{font-size:40px;line-height:1.45;margin-bottom:var(--space-lg)}.login-copy>p{font-size:18px;color:var(--color-ink-2)}.login-foot{font-size:var(--text-sm);color:var(--color-muted)}.login-panel{padding:var(--space-xl);background:var(--color-paper-2);border-radius:var(--radius-card)}.login-panel .service-status{display:none}.login-panel h2{font-size:28px;margin-bottom:var(--space-md)}.login-panel .button{margin:var(--space-lg) 0;width:100%;font-size:17px}.login-permissions{font-size:var(--text-sm);color:var(--color-muted);padding-top:var(--space-lg);border-top:1px solid var(--color-rule)}.noscript-note{padding:var(--space-lg);max-width:var(--container);margin:auto}
@media(min-width:1440px){.chat{max-width:1080px}}
@media(max-width:1000px){.columns{grid-template-columns:minmax(0,1fr)}.records-table td:nth-child(2){width:auto}.login-layout{gap:var(--space-lg)}.login-panel{padding:var(--space-lg)}}
@media(max-width:700px){.header-inner{padding:var(--space-md);gap:var(--space-sm);align-items:flex-start;flex-wrap:wrap}.header-title strong{font-size:20px}.brand-mark{width:40px;height:40px;flex-basis:40px}.header-title>div>span{display:none}#identity{justify-content:space-between;width:100%;gap:var(--space-sm)}.identity-details{text-align:left;grid-template-columns:auto auto;gap:var(--space-sm);font-size:var(--text-sm)}#identity button{min-height:44px}.sidebar nav{padding:var(--space-xs) var(--space-md);gap:var(--space-2xs)}.nav{font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm)}.nav svg{display:none}.workspace-content{padding:var(--space-md)}.notice{margin-bottom:var(--space-lg)}.notice::before{display:block;margin-bottom:var(--space-2xs)}.hero-band h1{font-size:28px}.hero-band p{font-size:17px}.hero-band{margin-bottom:var(--space-lg)}.chat.has-conversation{margin-top:0}#chat:has(.has-conversation) .hero-band{display:none}.composer{padding:var(--space-md)}.composer-footer{flex-direction:column;align-items:stretch;gap:var(--space-md)}.composer-footer button{width:100%}.composer textarea{min-height:140px}.example{align-items:flex-start;flex-direction:column;gap:var(--space-2xs);font-size:17px}.example-topic{min-width:0}.answer{padding:var(--space-lg) 0}.answer-head{align-items:flex-start}.ask{max-width:96%;padding:var(--space-md)}.answer-text{font-size:18px}.citations{display:block}.citation{min-width:0;padding:var(--space-sm) 0}.citation+.citation{border-top:1px solid var(--color-rule)}.answer-tools>button,.review-wrap>button{width:100%}.review-wrap{flex-basis:100%}.page-title{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.page-title h1{font-size:28px}.panel{padding:var(--space-md)}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.toolbar select{flex:1;max-width:none;width:auto}.form-grid{grid-template-columns:minmax(0,1fr)}.form>button{width:100%}.metrics{grid-template-columns:minmax(0,1fr);margin-bottom:var(--space-lg)}.metric,.metric:first-child{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) 0;border-right:0;border-bottom:1px solid var(--color-rule)}.metric:last-child{border-bottom:0}.metric strong{font-size:28px;min-width:64px;margin:0}.metric span{font-size:17px}.user-row{align-items:flex-start}.records-table,.records-table tbody{display:block}.records-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:clip}.records-table tr{display:block;padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule)}.records-table td{display:block;width:auto!important;min-width:0!important;padding:var(--space-xs) 0;border:0;font-size:17px;white-space:normal!important}.records-table td::before{content:attr(data-label);display:block;color:var(--color-muted);font-size:var(--text-sm);margin-bottom:var(--space-2xs)}.records-table td:last-child::before{display:none}.record-version{display:inline;margin-left:var(--space-sm)}.pager{gap:var(--space-md)}.pager button{padding:var(--space-xs) var(--space-sm)}.workspace-footer{flex-direction:column;gap:var(--space-xs)}.login-layout{grid-template-columns:minmax(0,1fr);min-height:0;padding:var(--space-lg) var(--space-md);gap:var(--space-lg)}.login-copy h1{font-size:32px}.login-brand{gap:var(--space-sm)}.login-panel{padding:var(--space-lg)}.login-panel h2{font-size:26px}.login-panel .button{font-size:16px;padding:var(--space-sm) var(--space-xs)}dialog{padding:var(--space-lg) var(--space-md);width:calc(100% - 24px)}.dialog-title{gap:var(--space-sm)}.dialog-title h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:700px){.composer-footer>button{order:-1}}
html{scroll-padding-top:var(--space-3xl)}.sidebar{position:sticky;top:0;z-index:var(--z-sticky-nav)}.answer-title{font-size:18px;font-weight:600}.form .check{min-height:44px;padding-block:var(--space-xs)}
.usage-table{min-width:820px}.usage-table th,.usage-table td{white-space:nowrap;overflow-wrap:normal}.usage-table td:nth-child(2){min-width:280px}.examples{gap:var(--space-sm)}.example{border:1px solid var(--color-rule-2);border-radius:var(--radius-input);padding:var(--space-sm) var(--space-md);background:var(--color-key-face);box-shadow:var(--shadow-key)}.example>span:not(.example-topic){font-weight:600}.example:active:not(:disabled){box-shadow:var(--shadow-key-press)}
