.fs-root{--fs-bg:var(--site-bg);--fs-surface:var(--txs-card);--fs-surface-2:var(--txs-raised);--fs-line:var(--txs-line);--fs-line-strong:var(--txs-line-strong);--fs-ink:var(--txs-ink);--fs-mut:var(--txs-muted);--fs-accent:var(--txs-green);--fs-on-accent:#03170b;--fs-danger:#fb7185;--fs-danger-bg:#2a1214;--fs-focus:var(--txs-focus);--fs-radius:16px;--fs-gap:1rem;position:relative;min-height:60vh;background:transparent;color:var(--ink);font-size:1rem;line-height:1.55;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}:root[data-theme=light] .fs-root{--fs-surface:var(--panel);--fs-surface-2:var(--surface-sunken);--fs-line:var(--border);--fs-line-strong:var(--input);--fs-ink:var(--ink);--fs-mut:var(--mut);--fs-accent:var(--ring);--fs-on-accent:white;--fs-danger:color-mix(in srgb,#fb7185 60%,black);--fs-danger-bg:color-mix(in srgb,#fb7185 14%,white);--fs-focus:var(--ring);--txs-field:var(--surface-sunken);--txs-shadow:0 10px 30px rgb(9 14 20/10%)}.fs-root *,.fs-root :after,.fs-root :before{box-sizing:border-box}.fs-root :where(p,h1,h2,h3,ul,ol,fieldset,legend,figure){margin:0;padding:0}.fs-root :where(ul,ol){list-style:none}.fs-root :where(button,input,select,textarea,legend,summary){font:inherit;color:inherit}.fs-main{display:block;padding:1.5rem max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left))}.fs-col{max-width:40rem;margin:0 auto;min-width:0}.fs-titleblock{margin-bottom:1.5rem}.fs-h1{color:var(--ink-bright);font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem);font-weight:650;line-height:1.05;letter-spacing:-.05em;overflow-wrap:anywhere}.fs-sub{color:var(--mut)}.fs-client,.fs-sub{margin-top:.75rem;overflow-wrap:anywhere}.fs-client{color:var(--ink)}.fs-client span{color:var(--mut);margin-right:.35rem}.fs-card,.fs-disc,.fs-notice,.fs-state,.fs-table-box{color:var(--fs-ink)}.fs-skip{position:absolute;left:.5rem;top:-4rem;z-index:30;padding:.75rem 1rem;background:var(--fs-accent);color:var(--fs-on-accent);border-radius:8px}.fs-skip:focus{top:.5rem}.fs-root :where(p,li,label,legend,summary,span,h2,h3,dd,td,th){overflow-wrap:anywhere}.fs-stack>*+*{margin-top:var(--fs-gap)}.fs-root .fs-card{min-width:0;border:1px solid var(--fs-line);border-radius:var(--fs-radius);background:var(--fs-surface);box-shadow:var(--txs-shadow);padding:1rem}.fs-card>*+*{margin-top:.75rem}.fs-label,.fs-legend{display:block;font-weight:600;line-height:1.35}.fs-card legend{float:left;width:100%;margin-bottom:.75rem}.fs-card legend+*{clear:both}.fs-req{color:var(--fs-mut);font-weight:400;margin-left:.25rem}.fs-help,.fs-reason{color:var(--fs-mut);font-size:.9375rem}.fs-reason{border-left:3px solid var(--fs-line-strong);padding-left:.75rem}.fs-reason b{color:var(--fs-ink);font-weight:600;margin-right:.25rem}.fs-error{color:var(--fs-danger);font-weight:600}.fs-input,.fs-textarea{display:block;width:100%;min-height:2.75rem;padding:.6rem .75rem;border:1px solid var(--fs-line-strong);border-radius:10px;background:var(--txs-field);color:var(--fs-ink);font-size:1rem}.fs-textarea{min-height:6.5rem;resize:vertical}.fs-input[aria-invalid=true],.fs-textarea[aria-invalid=true]{border-color:var(--fs-danger)}.fs-affix{display:flex;align-items:stretch;gap:.5rem}.fs-affix .fs-input{flex:1 1 auto;min-width:0}.fs-affix-suffix{display:flex;align-items:center;color:var(--fs-mut)}.fs-options>*+*{margin-top:.5rem}.fs-opt{display:flex;align-items:flex-start;gap:.75rem;min-height:2.75rem;padding:.7rem .85rem;border:1px solid var(--fs-line);border-radius:12px;background:var(--fs-surface-2);cursor:pointer}.fs-opt:has(input:checked){border-color:var(--fs-accent);box-shadow:inset 0 0 0 1px var(--fs-accent)}.fs-opt input{flex:none;width:1.25rem;height:1.25rem;margin:.1rem 0 0;accent-color:var(--fs-accent)}.fs-opt-text{flex:1 1 auto;min-width:0}.fs-opt-hint{display:block;color:var(--fs-mut);font-size:.9375rem}.fs-badge{display:inline-block;margin-left:.4rem;padding:0 .5rem;border-radius:999px;background:var(--fs-accent);color:var(--fs-on-accent);font-size:.8125rem;font-weight:600;line-height:1.5;vertical-align:.05em}.fs-yesno{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.fs-yesno .fs-opt{justify-content:center;align-items:center}.fs-drop{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-height:7rem;padding:1.25rem 1rem;border:2px dashed var(--fs-line-strong);border-radius:var(--fs-radius);background:var(--fs-surface-2);text-align:center;cursor:pointer}.fs-drop[data-over=true]{border-color:var(--fs-accent);background:var(--fs-surface)}.fs-drop strong{font-weight:600}.fs-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.fs-drop:has(input:focus-visible){outline:3px solid var(--fs-focus);outline-offset:2px}.fs-files>*+*{margin-top:.5rem}.fs-file{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.25rem .25rem .25rem .75rem;border:1px solid var(--fs-line);border-radius:10px}.fs-file-name{flex:1 1 auto;min-width:0}.fs-file-size{flex:none;color:var(--fs-mut);font-size:.875rem}.fs-btn{cursor:pointer}.fs-btn[data-variant=icon]{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;border-radius:999px;min-width:2.75rem;padding:.5rem;background:transparent;color:var(--fs-ink);border:1px solid transparent}.fs-btn:disabled:not(.button){opacity:.55;cursor:not-allowed}.fs-spin{width:1rem;height:1rem;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:fs-rot .8s linear infinite}@keyframes fs-rot{to{transform:rotate(1turn)}}.fs-progress-line{display:flex;justify-content:space-between;gap:.75rem;color:var(--mut);font-size:.9375rem}.fs-track{height:.5rem;margin-top:.4rem;border-radius:999px;background:var(--fs-surface-2);border:1px solid var(--fs-line);overflow:hidden}.fs-fill{height:100%;background:var(--fs-accent);transition:width .2s ease}.fs-bar{position:sticky;bottom:0;z-index:15;margin:2rem calc(-1 * max(1rem, env(safe-area-inset-left))) 0;padding:.75rem max(1rem,env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:var(--fs-bg);border-top:1px solid var(--fs-line)}.fs-bar-in{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:40rem;margin:0 auto}.fs-bar-prog{flex:1 1 10rem;min-width:0}.fs-bar .fs-btn{flex:1 1 8rem}.fs-state{padding:2rem 1rem;text-align:center;border:1px solid var(--fs-line);border-radius:var(--fs-radius);background:var(--fs-surface);box-shadow:var(--txs-shadow)}.fs-state>*+*{margin-top:.75rem}.fs-state h2{font-size:1.25rem;font-weight:700;line-height:1.3}.fs-state[data-kind=error],.fs-state[data-kind=expired]{box-shadow:inset 0 0 0 1px var(--fs-danger),var(--txs-shadow)}.fs-state[data-kind=error] h2,.fs-state[data-kind=expired] h2{color:var(--fs-danger)}.fs-state[data-kind=done]{box-shadow:inset 0 0 0 1px var(--fs-accent),var(--txs-shadow)}.fs-notice{padding:.75rem 1rem;border:1px solid var(--fs-line);border-radius:var(--fs-radius);background:var(--fs-surface)}.fs-notice[data-tone=warn]{box-shadow:inset 0 0 0 1px var(--fs-danger)}.fs-disc{margin-top:1rem;border:1px solid var(--fs-line);border-radius:12px;background:var(--fs-surface)}.fs-disc summary{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem .85rem;font-weight:600;cursor:pointer;list-style:none}.fs-disc summary::-webkit-details-marker{display:none}.fs-disc summary:before{content:"";flex:none;width:.5rem;height:.5rem;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .15s ease}.fs-disc[open] summary:before{transform:rotate(45deg)}.fs-disc-body{padding:0 .85rem .85rem}.fs-table-box{max-width:100%;overflow-x:auto;border:1px solid var(--fs-line);border-radius:12px;-webkit-overflow-scrolling:touch}.fs-table-box table{width:100%;min-width:28rem;border-collapse:collapse}.fs-table-box :where(th,td){overflow-wrap:normal;padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--fs-line);vertical-align:top}.fs-root :where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--fs-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fs-root *{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media (min-width:40rem){.fs-root .fs-card{padding:1.25rem}}