*{box-sizing:border-box}body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--type-body)/1.55 var(--font-body)}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:var(--opacity-disabled)}a{color:var(--action-primary);text-underline-offset:var(--space-1)}a:hover{color:var(--action-hover)}:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--space-1)}[hidden]{display:none!important}.wrap{width:min(calc(100% - var(--space-8)),var(--content-width));margin-inline:auto}.skip{position:absolute;inset-inline-start:var(--space-4);top:var(--space-4);transform:translateY(-200%);z-index:10;background:var(--surface-panel);padding:var(--space-3)}.skip:focus{transform:none}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-6)}.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;font-weight:700;letter-spacing:.12em;color:var(--text-primary)}.brand svg{width:var(--space-10);height:var(--space-10);fill:none;stroke:currentColor;stroke-width:2}.brand small{display:block;font-size:var(--type-small);font-weight:400;letter-spacing:.24em}.header-actions,.languages{display:flex;align-items:center;gap:var(--space-1)}.languages{border:var(--line-thin) solid var(--border-control);border-radius:var(--radius-pill);padding:var(--space-1)}.languages button{border:0;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);background:transparent;color:var(--text-primary);min-height:var(--space-10)}.languages button[aria-pressed="true"]{background:var(--action-primary);color:var(--action-text)}.languages button:hover{background:var(--surface-soft);color:var(--text-primary)}.languages button[aria-pressed="true"]:hover{background:var(--action-hover);color:var(--action-text)}.plain{border:0;background:transparent;color:var(--action-primary);min-height:var(--control-height);padding:var(--space-2);border-radius:var(--radius-small)}.plain:hover,.plain:active{background:var(--surface-soft)}.intro{display:grid;gap:var(--space-6);padding-block:var(--space-6) var(--space-8)}.eyebrow{font-size:var(--type-small);letter-spacing:.12em;font-weight:700;color:var(--text-muted);margin:0 0 var(--space-4)}h1{font-size:var(--type-display);line-height:1.08;letter-spacing:-.045em;margin:0 0 var(--space-5);max-width:18ch}.purpose{font-size:var(--type-label);max-width:49ch;margin:0}.period{color:var(--text-muted);margin:var(--space-4) 0}.address{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--type-caption)}.address span{color:var(--text-muted)}.address a{font-weight:700;overflow-wrap:anywhere}.landscape{display:none}.notice{background:var(--surface-soft);padding:var(--space-4) var(--space-5);border-radius:var(--radius-small);margin:0 0 var(--space-8);font-size:var(--type-caption)}.workspace{display:grid;gap:var(--space-6)}.sidebar{min-width:0}.sidebar>.eyebrow{display:none}#steps{display:flex;gap:var(--space-2);overflow:auto;padding:var(--space-1) var(--space-1) var(--space-2)}.step{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-height);border:var(--line-thin) solid var(--border-control);border-radius:var(--radius-small);padding:var(--space-2) var(--space-3);background:transparent;color:var(--text-primary);white-space:nowrap;text-align:start;font-size:var(--type-caption)}.step span:first-child{font-size:var(--type-small);color:var(--text-muted)}.step:hover,.step:active{background:var(--surface-soft)}.step[aria-current="step"]{background:var(--action-primary);color:var(--action-text);border-color:var(--action-primary)}.step[aria-current="step"] span:first-child{color:inherit}.save-state{display:flex;gap:var(--space-2);align-items:center;font-size:var(--type-small);color:var(--text-muted);padding:var(--space-3) var(--space-1)}.save-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--action-primary)}.danger-link{border:0;background:transparent;color:var(--feedback-error);text-decoration:underline;text-underline-offset:var(--space-1);padding:var(--space-2) var(--space-1);font-size:var(--type-small);min-height:var(--space-10)}.danger-link:hover{background:var(--surface-soft)}.form-panel{min-width:0;border:var(--line-thin) solid var(--border-control);border-radius:var(--radius-panel);padding:var(--space-5);background:var(--surface-panel)}.progress-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);font-size:var(--type-small);color:var(--text-muted)}progress{display:block;width:100%;height:var(--space-1);appearance:none;border:0;border-radius:var(--radius-pill);background:var(--surface-soft);margin-block:var(--space-3) var(--space-8)}progress::-webkit-progress-bar{background:var(--surface-soft);border-radius:var(--radius-pill)}progress::-webkit-progress-value{background:var(--action-primary);border-radius:var(--radius-pill)}progress::-moz-progress-bar{background:var(--action-primary);border-radius:var(--radius-pill)}h2{font-size:var(--type-h2);line-height:1.2;letter-spacing:-.02em;margin:0 0 var(--space-4)}.section-intro{color:var(--text-muted);margin:0 0 var(--space-8)}.field{margin-block:0 var(--space-6)}.field-label{display:block;font-weight:600;margin-bottom:var(--space-2)}.field-hint{font-size:var(--type-caption);color:var(--text-muted);margin:var(--space-2) 0 var(--space-3)}input,textarea{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-3);border:var(--line-thin) solid var(--input-border);border-radius:var(--radius-small);background:var(--input-bg);color:var(--input-text);transition:border-color var(--motion-fast)}input:hover,textarea:hover{border-color:var(--action-primary)}input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--feedback-error)}textarea{resize:vertical;min-height:calc(var(--control-height)*2)}input[type="checkbox"],input[type="radio"]{width:var(--space-5);height:var(--space-5);min-height:0;padding:0;margin:0;accent-color:var(--action-primary);flex-shrink:0}.choices{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);min-height:var(--control-height);border:var(--line-thin) solid var(--border-control);border-radius:var(--radius-small);cursor:pointer}.choice:has(input:checked){background:var(--surface-soft);border-color:var(--action-primary)}.choice:hover{background:var(--surface-soft)}fieldset{border:0;padding:0;min-width:0;margin:0 0 var(--space-6)}legend{font-weight:600;margin-bottom:var(--space-3);padding:0}.group-controls{margin-bottom:var(--space-4)}.numeric-rows{display:grid;gap:var(--space-2)}.numeric-row{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem;gap:var(--space-3);align-items:center;padding-block:var(--space-1)}.numeric-row label{font-size:var(--type-caption)}.number-wrap{position:relative}.number-wrap:has(.unit) input{padding-inline-end:var(--space-8)}.number-wrap .unit{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--type-small);pointer-events:none}.numeric-row input{text-align:center;padding-inline:var(--space-2)}.sum{background:var(--surface-soft);padding:var(--space-3);border-radius:var(--radius-small);font-size:var(--type-caption);margin-top:var(--space-3)}.sum.error{color:var(--feedback-error)}.navigation{display:flex;gap:var(--space-3);justify-content:space-between;margin-top:var(--space-8)}.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;min-height:var(--control-height);border-radius:var(--radius-small);padding:var(--space-3) var(--space-5);font-weight:600;text-decoration:none;border:var(--line-thin) solid var(--border-control)}.primary{background:var(--button-bg);color:var(--action-text);border-color:var(--button-bg)}.primary:hover,.primary:active{background:var(--button-hover);color:var(--action-text)}.secondary{background:transparent;color:var(--text-primary)}.secondary:hover,.secondary:active{background:var(--surface-soft)}.danger{background:var(--feedback-error);color:var(--surface-panel);border-color:var(--feedback-error)}.danger:hover{filter:brightness(.9)}button[aria-busy="true"]{cursor:progress}.error-box{border:var(--line-thin) solid var(--feedback-error);color:var(--feedback-error);padding:var(--space-4);border-radius:var(--radius-small);margin-top:var(--space-4)}.review-meta{display:grid;gap:var(--space-4);margin-block:var(--space-6)}.review-summary{margin-block:var(--space-8)}details{border:var(--line-thin) solid var(--border-control);border-radius:var(--radius-small);margin-block:var(--space-3);padding:var(--space-4)}summary{cursor:pointer;font-weight:600;min-height:var(--space-8)}.review-row{display:grid;gap:var(--space-1);padding-block:var(--space-3);overflow-wrap:anywhere}.review-row span{color:var(--text-muted);font-size:var(--type-caption)}.review-row strong{font-weight:400;white-space:pre-wrap}.download-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}footer{margin-block:var(--space-8) var(--space-16);padding-bottom:var(--space-8);font-size:var(--type-small);color:var(--text-muted)}footer p{max-width:65ch}.assistant{position:fixed;right:var(--space-4);bottom:var(--space-4);width:var(--assistant-size);height:var(--assistant-size);border:0;border-radius:var(--radius-pill);background:#1976d2;box-shadow:var(--shadow-floating);z-index:5;padding:0}.mascot{display:block;width:100%;height:100%;background:center/contain no-repeat url('assets/zeni-mascot-1-ClARy-hz.png');animation:mascot-idle var(--assistant-idle) steps(1,end) infinite}.assistant:hover .mascot,.assistant:focus-visible .mascot{animation:mascot-hover var(--assistant-hover) steps(1,end) infinite}.help-panel{position:fixed;right:var(--space-4);bottom:calc(var(--assistant-size) + var(--space-8));width:min(calc(100% - var(--space-8)),22rem);background:var(--surface-panel);border:var(--line-thin) solid var(--border-control);padding:var(--space-5);border-radius:var(--radius-panel);box-shadow:var(--shadow-floating);z-index:6;max-height:70vh;overflow:auto}.help-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.help-heading h2{font-size:var(--type-label);margin:0}.help-panel p{font-size:var(--type-caption)}dialog{width:min(calc(100% - var(--space-8)),28rem);background:var(--surface-panel);color:var(--text-primary);border:var(--line-thin) solid var(--border-control);border-radius:var(--radius-panel);padding:var(--space-6)}dialog::backdrop{background:#17231d99}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.toast{position:fixed;bottom:var(--space-4);left:var(--space-4);max-width:calc(100% - var(--assistant-size) - var(--space-12));background:var(--action-primary);color:var(--action-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-small);box-shadow:var(--shadow-floating);z-index:7}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@keyframes mascot-idle{0%,20.3%,41.4%{background-image:url('assets/zeni-mascot-1-ClARy-hz.png')}13.6%,33.7%,54%{background-image:url('assets/zeni-mascot-2-_2jPb956.png')}60.8%{background-image:url('assets/zeni-mascot-3-EVlA90wC.png')}67.6%,97.4%{background-image:url('assets/zeni-mascot-4-DrPmw3pp.png')}70.4%{background-image:url('assets/zeni-mascot-5-C5JmDGEr.png')}}
@keyframes mascot-hover{0%,77%{background-image:url('assets/zeni-mascot-1-1d1n2i4_.png')}70.1%,94.3%{background-image:url('assets/zeni-mascot-2-CZwnbpna.png')}}
@media(min-width:42rem){.intro{grid-template-columns:1.6fr 1fr;align-items:center}.landscape{display:block}.landscape svg{width:100%;display:block}.landscape span{display:block;text-align:end;font-size:var(--type-small);color:var(--text-muted)}.sun{fill:var(--landscape-sun)}.ridge-back{fill:var(--landscape-back)}.ridge-front{fill:var(--landscape-front)}.cabin-roof{fill:var(--landscape-roof)}.cabin-window{fill:var(--landscape-window)}.cabin-line{fill:none;stroke:var(--landscape-roof);stroke-width:2}.form-panel{padding:var(--space-8)}.numeric-row{grid-template-columns:minmax(0,1fr) 7rem}.numeric-rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-6)}h1{font-size:var(--type-display-wide)}}
@media(min-width:62rem){.workspace{grid-template-columns:var(--sidebar-width) minmax(0,1fr);align-items:start;gap:var(--space-8)}.sidebar{position:sticky;top:var(--space-6)}.sidebar>.eyebrow{display:block}#steps{display:grid;overflow:visible;padding:0}.step{white-space:normal;border-color:transparent}.form-panel{max-width:var(--form-width)}.review-row{grid-template-columns:1fr 1fr;gap:var(--space-4)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.navigation,.assistant,.help-panel,.languages,.header-actions,.notice,.download-actions,.landscape,footer{display:none!important}.workspace{display:block}.form-panel{border:0;padding:0}.wrap{width:100%}details{break-inside:avoid}details>*{display:block}body{background:var(--surface-panel)}}
.topbar{flex-wrap:wrap}.header-actions{margin-inline-start:auto}
html{scroll-padding-block-end:calc(var(--assistant-size) + var(--space-8))}
#steps{scrollbar-width:thin;scrollbar-color:var(--border-control) transparent}
#steps::-webkit-scrollbar{height:var(--space-1)}
#steps::-webkit-scrollbar-thumb{background:var(--border-control);border-radius:var(--radius-pill)}
#steps::-webkit-scrollbar-track{background:transparent}

body{transition:background-color var(--motion-stage) ease;}
.optional-fields{border:var(--line-thin) solid var(--border-control);border-radius:var(--radius-small);padding:var(--space-4);margin-block:var(--space-5);}
.optional-fields summary{cursor:pointer;font-weight:600;line-height:1.5;padding-block:var(--space-2);}
.optional-fields fieldset{margin-block-end:0;}
.optional-fields fieldset legend{display:none;}
.field-hint{margin-block:var(--space-2) var(--space-3);}
@media(prefers-reduced-motion:reduce){body{transition:none;}}

