:root{
 color-scheme:light;--bg:#f5f4f0;--surface:#fff;--text:#252d2b;--muted:#646b66;
 --ink:#25312e;--accent:#846334;--line:#e3e4dd;--control:#c6cbc4;
 --warm:#f1ece2;--warm-line:#dfd4be;--selected:#eae9e2;--error:#9a3c32;
 --radius:12px;--gap:24px;--body:16px;--small:14px;
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
 color:var(--text);background:var(--bg);font-synthesis:none;
}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer;color:inherit;background:none;border:0}a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}::selection{background:var(--selected);color:var(--ink)}
.skip-link{position:fixed;left:16px;top:-64px;background:var(--ink);color:var(--surface);z-index:50;padding:12px 16px;border-radius:8px}.skip-link:focus{top:8px}
.app-header{max-width:1100px;margin:auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-size:24px;color:var(--accent);min-height:44px}
.brand span{font-size:20px;font-weight:600;color:var(--text)}.brand small{display:block;font-size:12px;line-height:20px;color:var(--muted);font-weight:400;margin-top:4px}
.header-note{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:20px;color:var(--muted)}
main{max-width:1100px;margin:auto;padding:32px 32px calc(112px + env(safe-area-inset-bottom))}
main[data-view=reports]{max-width:824px}
h1{font-size:24px;line-height:32px;font-weight:600;margin:0;text-wrap:balance;overflow-wrap:anywhere}
h2{font-size:20px;line-height:28px;font-weight:600;margin:0;text-wrap:balance}
h3{font-size:16px;line-height:24px;font-weight:600;margin:0;overflow-wrap:anywhere}
p{font-size:16px;line-height:28px;color:var(--muted);margin:8px 0 0;text-wrap:pretty}
small{font-size:12px;line-height:20px;color:var(--muted)}
.welcome,.page-heading{margin-bottom:24px}.welcome p{font-size:14px;line-height:20px;margin-top:8px}
.page-heading>p{font-size:16px;line-height:24px}.text-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:16px;min-height:44px;padding:8px 0;color:var(--accent);font-size:16px;line-height:24px;font-weight:500}
.text-link>span,.settings-row>span{flex-shrink:0}
.primary,.outline-button{min-height:48px;display:inline-flex;justify-content:center;align-items:center;gap:16px;padding:12px 20px;border:1px solid var(--ink);border-radius:8px;font-size:16px;line-height:24px;font-weight:500;text-align:center}
.primary{background:var(--ink);color:var(--surface)}.outline-button{background:var(--surface);color:var(--text);border-color:var(--control)}
.primary,.outline-button,.text-link,.settings-row,.header-note,.filters button{transition:background-color .25s cubic-bezier(.22,1,.36,1),color .25s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.primary:hover{background:#3b4840}.outline-button:hover,.settings-row:hover{background:var(--bg)}.text-link:hover,.header-note:hover{color:var(--ink)}}
button:active,.primary:active,.outline-button:active{transform:translateY(1px)}button:disabled{cursor:wait}
.sharing-card{background:var(--warm);border:1px solid var(--warm-line);border-radius:var(--radius);overflow:hidden}
summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}
.sharing-card>summary{min-height:96px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.sharing-card>summary:focus-visible{outline-offset:-4px}.sharing-card strong{font-size:18px;line-height:28px;font-weight:600;color:var(--accent)}
.sharing-reminder{display:block;font-size:16px;line-height:24px;margin-top:4px}
.disclosure{font-size:20px;flex-shrink:0;transition:transform .25s cubic-bezier(.22,1,.36,1)}.sharing-card[open] .disclosure{transform:rotate(180deg)}
.disclosure-label{display:flex;align-items:center;gap:8px;font-size:14px;line-height:24px;color:var(--accent);flex-shrink:0}.when-open,.sharing-card[open] .when-closed{display:none}.sharing-card[open] .when-open{display:inline}
.sharing-body{padding:0 24px 8px}.share-instruction{font-size:14px;line-height:24px;padding:0 0 16px;margin:0}
.share-product{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--warm-line)}
.share-product>div{min-width:0}.share-product p{font-size:14px;line-height:20px;margin-top:4px}
.share-product .outline-button{min-width:72px;min-height:44px;padding:8px 16px;font-size:14px;line-height:24px;flex-shrink:0}
.unavailable{font-size:14px;line-height:20px;color:var(--muted);flex:none;white-space:nowrap}
.partner-tools{margin-top:24px}.partner-tools>h3{font-size:14px;font-weight:500;line-height:20px;color:var(--muted);padding-bottom:12px}
.workbench-link{padding:8px 0;border-top:1px solid var(--warm-line)}
.home-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin-top:24px}
/* At 1440: 1100 outer - 64 padding = 1036; (1036 - 24 gutter) / 2 = 506 each. */
.panel{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.home-panels .panel{display:flex;flex-direction:column;align-items:flex-start}.panel>p{max-width:36em}
.panel-action{margin-top:20px;flex:1;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-end;width:100%}
.feature-note{font-size:14px;line-height:20px;color:var(--muted);margin-top:16px}
.home-panels .feature-note{font-size:12px;line-height:20px;margin-top:16px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filters button{min-height:44px;padding:8px 16px;font-size:14px;line-height:24px;border-radius:8px;color:var(--muted)}
.filters button[aria-pressed=true]{background:var(--selected);color:var(--text);font-weight:600}
.report-section{margin-top:24px}.report-section>h2{font-size:18px;line-height:28px;margin-bottom:16px}
.report-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
.report-card{background:var(--surface);border:1px solid var(--warm-line);border-radius:var(--radius);padding:0;display:flex;flex-direction:column;overflow:hidden}
.report-card-main{padding:24px}.report-card-main h3{font-size:18px;line-height:28px}
.report-meta{font-size:14px;line-height:20px;margin:8px 0 0}.report-actions{margin-top:12px}
.report-actions{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap}
.report-actions:last-child{margin-top:auto;padding-top:12px}
.report-open{min-height:44px;font-size:14px;line-height:24px;padding:8px 16px}
.report-companion{margin-top:auto;padding:16px 24px;background:var(--warm);border-top:1px solid var(--warm-line)}
.companion-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.companion-heading h4{font-size:16px;line-height:24px;font-weight:600;margin:0}.companion-heading>span{color:var(--accent);font-size:12px;line-height:20px}
.report-companion>p{font-size:14px;line-height:24px;margin:8px 0}.report-companion>.text-link{font-size:14px}
@media(min-width:701px){
 .report-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
 .report-card-main>h3,.report-card-main>.report-meta{grid-column:1}
 .report-card-main>.report-actions{grid-column:2;grid-row:1/span 2;margin:0;padding:0}
 .report-card-main>.feature-note{grid-column:1/-1}
 .report-companion{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
 .report-companion>.text-link{grid-column:2;grid-row:1/span 2}
 .companion-heading{justify-content:flex-start;gap:16px}
}
.report-card>.feature-note{font-size:12px}.recover-report{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:24px}.recover-report p{font-size:14px;line-height:24px;margin:0}.recover-report .text-link{font-size:14px}
.empty-state>p{max-width:36em}.other-products{margin-top:24px;border-top:1px solid var(--line)}
.other-products>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;font-size:16px;line-height:24px}
.product-row{padding:16px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}
.product-row>div{min-width:0}.product-row p{font-size:14px;line-height:24px;margin-top:4px}.product-row .text-link{font-size:14px;flex-shrink:0;gap:8px}
.share-page{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;align-items:start}
.share-page>.share-products{padding:4px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.share-page .share-product{border-color:var(--line)}.share-page .share-products>.share-product:first-child{border-top:0}.share-page .workbench-link{border-color:var(--line)}
.share-side{display:grid;gap:16px}.share-guide{padding:16px 0}.share-guide h2{font-size:16px;line-height:24px}.share-guide p{font-size:14px;line-height:24px}
.share-side>.partner-tools{margin:0;padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.profile{padding:0 0 24px}.profile>h2{font-size:24px;line-height:32px;overflow-wrap:anywhere}.profile>p{font-size:14px;line-height:24px}
.settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.settings>section{border:1px solid var(--line);border-radius:var(--radius);padding:8px 24px;background:var(--surface)}
.settings>section>h2{font-size:14px;line-height:20px;color:var(--muted);font-weight:400;padding:16px 0 8px}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;min-height:56px;width:100%;text-align:left;font-size:16px;line-height:24px;border-bottom:1px solid var(--line)}
.settings-row:last-child{border-bottom:0}button.settings-row::after{content:'→';color:var(--accent)}
.logout-button{grid-column:1/-1;min-height:48px;justify-self:start;font-size:16px;color:var(--muted);padding:8px 0}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav button{flex:1;max-width:180px;min-height:64px;font-size:14px;line-height:20px;color:var(--muted);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.bottom-nav button[aria-current=page]{color:var(--accent);font-weight:600}.bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px 24px;width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 48px);overflow:auto}
dialog::backdrop{background:#25312e66}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:1;background:var(--surface);padding-bottom:8px}.dialog-top h2{font-size:20px;line-height:28px}.dialog-top button{flex-shrink:0;min-height:44px;min-width:44px;font-size:14px;line-height:24px;color:var(--muted);padding:8px 0}
.dialog-actions{display:flex;gap:12px;margin-top:20px}.dialog-actions>*{flex:1;min-width:0;padding:12px}
.share-qr{display:block;width:216px;height:216px;max-width:100%;object-fit:contain;margin:20px auto;background:var(--surface)}
.share-rate{font-size:16px;color:var(--accent);font-weight:500}.share-rate small{display:block;font-weight:400;margin-top:4px}
.notice{padding:16px 0}.notice p,.notice-text{font-size:14px;line-height:24px}.notice-text{color:var(--accent)}.notice p{margin:0}.notice .text-link{font-size:14px}
.loading-block{padding:16px 0}.loading-block p{font-size:14px;line-height:24px;margin:0 0 12px}.loading-line{height:12px;background:var(--line);border-radius:4px;max-width:280px}.loading-line.short{margin-top:12px;width:60%;max-width:200px}
.manual-copy{margin-top:20px}.manual-copy label{font-size:14px;line-height:24px}textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--control);border-radius:8px;color:var(--text);background:var(--bg);font-size:14px;line-height:24px;overflow-wrap:anywhere;resize:vertical}
.account-fields{margin:16px 0 24px}.account-fields>div{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}.account-fields dt,.account-fields dd{font-size:16px;line-height:24px;margin:0}.account-fields dt{color:var(--muted)}.account-fields dd{overflow-wrap:anywhere;text-align:right}
.help-item{padding:16px 0;border-bottom:1px solid var(--line)}.help-item:last-child{border:0;padding-bottom:0}.help-item p{font-size:14px;line-height:24px}
#toast{position:fixed;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:20;background:var(--ink);color:var(--surface);padding:12px 16px;max-width:calc(100% - 32px);border-radius:8px;font-size:14px;line-height:24px;width:max-content}
.previewbar{padding:8px 20px;background:var(--selected);font-size:12px;line-height:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.previewbar select{font-size:12px;min-height:32px;border:1px solid var(--control);border-radius:4px;padding:4px 8px;color:var(--text);background:var(--surface);max-width:152px}
@media(max-width:700px){
 .app-header{padding:12px 20px}.brand span{font-size:18px}.brand small{font-size:12px;line-height:20px}.header-note{font-size:14px}
 main{padding:24px 20px calc(96px + env(safe-area-inset-bottom))}.home-panels,.report-grid,.settings{grid-template-columns:1fr;gap:16px}
 .sharing-card>summary{padding:20px;gap:12px}.sharing-body{padding:0 20px 8px}.sharing-reminder{font-size:14px;line-height:24px;margin-top:4px}.panel{padding:20px}.report-card-main{padding:20px}.report-companion{padding:16px 20px}
 .home-panels{margin-top:16px}.home-panels .panel>p{font-size:16px;line-height:28px}.panel-action{margin-top:16px}
 .share-page{display:block}.share-page>.share-products{padding:4px 20px}.share-side{margin-top:16px}.share-guide{display:none}.share-side>.partner-tools{padding:20px}.product-row{align-items:flex-start}.product-row>div{max-width:68%}
 .settings>section{padding:4px 20px}.settings-row{min-height:56px}.dialog-actions{gap:8px}.dialog-actions>*{font-size:14px;padding:12px 8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
