:root{--paper:#f4f0e7;--paper2:#eee8dc;--ink:#23211c;--soft:#4e4b42;--muted:#6e695b;--bronze:#79603b;--line:rgba(35,33,28,.16);--accent:#9e4a38;--serif:"Songti SC","Noto Serif SC","Source Han Serif SC",STSong,serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.85;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button,a,summary{min-height:44px}button{border:0;background:none}a{color:var(--soft);text-decoration:none;display:inline-flex;align-items:center}p,h1,h2,h3{margin:0}h1,h2,h3,strong,b{font-weight:500}p{color:var(--soft)}h1{font-size:42px;line-height:1.3}h2{font-size:28px;line-height:1.5}h3{font-size:20px;line-height:1.65}small{font-size:14px;color:var(--muted)}.page{max-width:720px;padding:24px 36px 72px;margin:auto}.brandbar{display:flex;align-items:center;gap:10px;font-size:15px;min-height:44px}.brandbar b{letter-spacing:.08em}.seal{display:grid;place-items:center;width:28px;height:32px;border-radius:3px;background:var(--accent);color:var(--paper);font-size:18px}.entry{margin-left:auto;font-size:14px;padding:0 0 0 16px;color:var(--muted)}.hero{text-align:center;padding:34px 12px 38px;position:relative;isolation:isolate}.hero h1{letter-spacing:.07em}.hero p{margin-top:10px;font-size:16px}.hero>a{font-size:14px;margin-top:12px}.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(var(--paper),transparent 35%,transparent 80%,var(--paper)),url('../approved/INV-IMG-001-mobile.webp') center 40%/cover;opacity:.26}.result-hero:before{background-image:linear-gradient(var(--paper),transparent 40%,var(--paper)),url('../approved/INV-IMG-003-result.webp');opacity:.22}.no-images .hero:before{display:none}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}.field{min-width:0;display:flex;flex-direction:column}.full{grid-column:1/-1}.label{font-size:14px;color:var(--muted);margin-bottom:6px}.required:after{content:' *';color:var(--accent)}.value,.field input,.field select{min-height:48px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 0;width:100%;border-radius:0;line-height:1.7;text-align:left}.value{display:flex;align-items:center;justify-content:space-between;gap:12px}.value.placeholder{color:var(--muted)}.chevron{width:8px;height:8px;border-right:1.5px solid var(--bronze);border-bottom:1.5px solid var(--bronze);transform:rotate(45deg);display:inline-block;flex:none;margin:0 5px 4px 10px}.field textarea{background:transparent;border:1px solid var(--line);border-radius:4px;min-height:160px;padding:14px;line-height:1.85;resize:vertical;width:100%}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.field .hint{margin-top:6px}.condition{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px}.condition h3{font-size:18px;margin-bottom:18px}.consent{display:flex;align-items:center;gap:8px;margin:28px 0;font-size:14px;line-height:1.5;color:var(--soft);white-space:nowrap}.consent span{white-space:nowrap}.consent input{margin:0;accent-color:var(--bronze);width:18px;height:18px;flex:none}.consent a{display:inline;text-decoration:underline;text-underline-offset:4px}.primary,.secondary{display:flex;justify-content:center;align-items:center;border:1px solid #b6a384;border-radius:999px;padding:10px 20px;min-height:50px;background:transparent;line-height:1.7;text-align:center}.primary{width:100%}.secondary{flex:1}.actions{display:flex;gap:18px;margin-top:24px}.actions>button{flex:1;min-width:0}.quiet-actions{display:flex;gap:12px;justify-content:center;margin-top:12px;font-size:15px;flex-wrap:wrap}.quiet-actions button{color:var(--muted);padding:5px 12px}.danger{color:var(--accent)!important}.error{color:#8e3e2e;font-size:14px;margin-top:8px}.invalid{border-color:var(--accent)!important}.notice{padding:14px 0;border-bottom:1px solid var(--line);color:var(--soft);font-size:15px;margin-bottom:12px}.notice strong{color:var(--ink)}
details{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}summary::-webkit-details-marker{display:none}summary .chevron{transform:rotate(-45deg);margin-bottom:0}details[open]>summary .chevron{transform:rotate(45deg)}.section-name{display:block;font-size:14px;color:var(--bronze);margin-bottom:6px}.section-title{display:block;font-size:24px;line-height:1.6}.detail-body{padding:0 0 20px}.facts{display:grid;grid-template-columns:85px minmax(0,1fr);gap:12px 20px;font-size:16px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.steps{list-style:none;padding:0;margin:0;counter-reset:step}.steps li{padding:16px 0;display:grid;grid-template-columns:26px minmax(0,1fr);gap:0 12px;border-top:1px solid var(--line);counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);color:var(--bronze);font-size:15px;padding-top:3px}.steps h3{font-size:19px}.steps p{font-size:16px;line-height:1.85;margin-top:5px}.collapse{display:block;margin:10px 0 0 auto;font-size:14px;color:var(--muted);padding:4px 8px}.case-row{border-top:1px solid var(--line);padding:22px 0}.case-open{display:block;width:100%;text-align:left;padding:0;min-height:44px}.case-open b{display:block;font-size:22px;line-height:1.6;overflow-wrap:anywhere}.metadata{font-size:14px;color:var(--muted);margin-top:6px}.row-action{padding:0;min-height:44px;color:var(--bronze);font-size:15px;margin-top:8px}.empty{text-align:center;padding:60px 0 80px}.empty h2{font-size:26px}.empty p{margin:12px 0 28px;font-size:16px}.empty .primary{max-width:280px;margin:auto}.rights{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:10px;justify-content:space-between;font-size:14px;flex-wrap:wrap}.rights button{padding:4px 0;max-width:100%}.privacy section{border-top:1px solid var(--line);padding:20px 0}.privacy h3{font-size:19px;margin-bottom:8px}.privacy p{font-size:16px;overflow-wrap:anywhere}.waiting{text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center}.waiting h1,.waiting-progress{font-size:28px;font-weight:500;line-height:1.8}.waiting-progress{display:grid;gap:24px;margin-top:12px}.dots{display:flex;gap:9px;justify-content:center;margin:0 0 24px}.dots i{width:4px;height:4px;background:var(--bronze);border-radius:50%;opacity:.3;animation:waiting-dot 1.1s linear infinite}.dots i:nth-child(2){animation-delay:.16s}.dots i:nth-child(3){animation-delay:.32s}.waiting-progress .dots{align-items:center;min-height:0;margin:0}@keyframes waiting-dot{0%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
dialog{width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #cabea7;border-radius:6px;padding:26px;background:var(--paper);color:var(--ink);overflow:auto;margin:auto;font:inherit;box-shadow:0 12px 50px #23211c12}dialog::backdrop{background:#23211c25}dialog h2{font-size:26px;line-height:1.5;margin-bottom:14px}dialog>p{font-size:16px;margin-bottom:20px}dialog h3{font-size:18px;margin:20px 0 8px}dialog .actions{position:sticky;bottom:-26px;background:var(--paper);padding:16px 0;margin-top:10px}dialog .field{margin:18px 0}.material{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px 12px;border-top:1px solid var(--line);padding:14px 0}.material input{width:18px;height:18px;margin:0;align-self:center;accent-color:var(--bronze)}.material select{grid-column:2;border:0;border-bottom:1px solid var(--line);background:transparent;min-height:44px;max-width:100%;font-size:15px}.picker-title{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-26px;background:var(--paper);padding-top:10px}.picker-title button{font-size:15px;color:var(--muted)}.picker-options{max-height:58vh;overflow-y:auto;overscroll-behavior:contain}.option{display:block;width:100%;border-top:1px solid var(--line);padding:12px 8px;text-align:center;font-size:18px;min-height:52px}.option[aria-selected=true]{background:#92774a14;color:var(--bronze)}.supplement{border-top:1px solid var(--line);padding:22px 0}.supplement h2{font-size:25px}.supplement .field{margin:20px 0}.radio-row{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px}.radio-row label{display:flex;gap:6px;align-items:center;min-height:44px}.radio-row input{accent-color:var(--bronze)}:focus-visible{outline:2px solid #92774a;outline-offset:4px}.status-tag{font-size:14px;color:var(--bronze)}
@media(min-width:1000px){.page{padding-top:36px}.hero{padding-top:44px;padding-bottom:44px}.form-grid{gap:28px 36px}.result-hero h1{font-size:38px}.page.narrow{max-width:680px}}
@media(max-width:640px){.page{padding:18px 22px calc(48px + env(safe-area-inset-bottom))}.hero{padding:24px 0 30px}.hero h1{font-size:36px}.hero p{font-size:15px}.form-grid{grid-template-columns:minmax(0,1fr);gap:22px}.condition .form-grid{gap:22px}body{font-size:17px}.result-hero h1{font-size:32px}.section-title{font-size:23px}.brandbar{font-size:14px}.hero:before{opacity:.16}summary{padding:22px 0}.steps p{font-size:16px}.case-open b{font-size:22px}.rights{gap:4px 16px;justify-content:flex-start}.rights button:last-child{flex-basis:100%;text-align:left}.page.narrow{max-width:620px}dialog{padding:22px;width:calc(100vw - 24px);max-height:calc(100dvh - 28px)}dialog.sheet{margin:auto 0 0;width:100%;max-height:84dvh;border-radius:6px 6px 0 0;border-bottom:0}dialog .actions{bottom:-22px}.picker-title{top:-22px}.facts{grid-template-columns:76px minmax(0,1fr);gap:10px 14px}.consent{font-size:12px}.primary{min-height:52px}.privacy p{font-size:16px}}
@media(max-width:370px){.page{padding-left:18px;padding-right:18px}.section-title{font-size:22px}.hero h1{font-size:33px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{body{background:white}.page{max-width:none;padding:0}.brandbar,.actions,.quiet-actions,.primary,.collapse,.rights,dialog{display:none!important}.hero:before{display:none}.steps li,.facts{break-inside:avoid}}
.section-title{text-wrap:pretty}
.steps p,.detail-body>p{text-wrap:pretty}
.material select{display:none}
.material:has(input:checked) select{display:block;border-bottom:0}
.material>span{min-height:44px;display:flex;align-items:center}
.region-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:4px 0 20px;border-bottom:1px solid var(--line)}.region-switch button{min-height:48px;color:var(--muted);border-bottom:1px solid transparent;margin-bottom:-1px}.region-switch button[aria-pressed=true]{color:var(--bronze);border-bottom-color:var(--bronze)}.region-preview-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin-bottom:24px}.region-entry{min-width:0;text-align:center}.region-entry .label{display:block;text-align:center}.region-entry-value{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border-bottom:1px solid var(--line);text-align:center}.region-entry-value span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.region-sheet>.primary{margin-top:4px}
dialog.sheet{max-width:none}
dialog .actions{box-shadow:0 -12px 0 var(--paper)}
.hero:not(.result-hero):before{display:none}
.hero:not(.result-hero)>p{font-size:10px;font-weight:500;letter-spacing:.46em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.attachment-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.attachment-upload .label{grid-column:1/-1;margin:0}.attachment-upload .secondary{padding-inline:24px}.attachment-upload small{text-align:right}.file-picker{position:relative;cursor:pointer}.file-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.notice{border-bottom:0}
.notice .row-action{margin-left:8px}
@media(max-width:640px){.hero:not(.result-hero)>p{font-size:9px;letter-spacing:.4em}.attachment-upload{grid-template-columns:1fr}.attachment-upload .secondary{width:100%}.attachment-upload small{text-align:left}}
@media(max-width:390px){.hero:not(.result-hero)>p{letter-spacing:.32em}}
/* Desktop confirmation alignment and optical waiting-space correction. */
.waiting-progress{gap:32px}
@media(min-width:641px){.consent{justify-content:center}}
