@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;1,9..144,300;1,9..144,400&family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@300;400;500&family=Shippori+Mincho+B1:wght@400;500;700&display=swap");:root{--bone:#0d1117;--bone-soft:#4a5161;--bone-mute:#8c8f97;--ink-base:#faf8f4;--ink-deep:#f1ede4;--ink-elev:#fff;--rule:#ebe7dc;--rule-strong:#c8c2b3;--accent:#2c8c75;--accent-deep:#1f6e5e;--accent-glow:rgba(44,140,117,.18);--accent-soft:rgba(44,140,117,.08);--gold:#a07e4c;--rose:#c14d47;--rose-soft:rgba(193,77,71,.08);--rose-deep:#7a2924;--ink:var(--bone);--ink-soft:var(--bone);--slate:var(--bone-soft);--drift:var(--bone-mute);--mist:var(--bone-mute);--cloud:var(--rule-strong);--fog:var(--rule);--paper:var(--ink-base);--white:var(--ink-elev);--warm:hsla(37,39%,62%,.08);--green:var(--accent);--green-soft:var(--accent-soft);--accent-fg:var(--ink-base);--font-display:"Fraunces","Shippori Mincho B1","Hiragino Mincho ProN",serif;--font-display-jp:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--font-body:"Instrument Sans","Noto Sans JP","Hiragino Sans",sans-serif;--font-body-jp:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--font-serif:var(--font-display-jp);--font-sans:var(--font-body-jp);--font-mono:"JetBrains Mono",ui-monospace,monospace;--header-h:64px;--radius:4px;--radius-lg:8px;--radius-full:999px;--shadow-xs:0 1px 2px rgba(13,17,23,.04);--shadow-sm:0 2px 8px rgba(13,17,23,.06);--shadow-md:0 4px 16px rgba(13,17,23,.08),0 12px 40px rgba(13,17,23,.04);--shadow-lg:0 8px 30px rgba(13,17,23,.1),0 20px 60px rgba(13,17,23,.06);--shadow:var(--shadow-sm);--ease-out:cubic-bezier(0.2,0.65,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--ink-base);color:var(--bone-soft);font-family:var(--font-body-jp);font-weight:300;font-size:14.5px;line-height:1.8;letter-spacing:.01em;overflow-x:hidden;position:relative;min-height:100vh}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.10 0 0 0 0 0.13 0 0 0 0 0.15 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");pointer-events:none;z-index:100;mix-blend-mode:multiply;opacity:.45}a{color:var(--accent);text-decoration:none;transition:color .2s var(--ease-out)}a:hover{color:var(--bone)}img,svg{max-width:100%}::selection{background:var(--accent);color:var(--ink-base)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:hsla(40,37%,97%,.82);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);border-bottom:1px solid var(--rule)}.site-header .brand{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:22px;letter-spacing:-.01em;font-variation-settings:"opsz" 24}.site-header .brand,.site-header .brand:hover{color:var(--bone);text-decoration:none}.site-header .brand small{font-family:var(--font-mono);font-style:normal;font-size:9.5px;font-weight:500;letter-spacing:.22em;color:var(--bone-mute);text-transform:uppercase;transform:translateY(-2px)}.site-header nav,.site-nav{display:flex;align-items:center;gap:24px}.site-header nav a,.site-nav a{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-mute);transition:color .2s var(--ease-out)}.site-header nav a:hover,.site-nav a:hover{color:var(--bone);text-decoration:none}.hamburger-btn,.mobile-nav-backdrop,.site-header .site-nav--mobile{display:none}@media (max-width:768px){.site-header .site-nav--desktop{display:none}.hamburger-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin-right:-8px;background:transparent;border:0;border-radius:var(--radius);color:var(--bone);cursor:pointer}.hamburger-btn:hover{background:var(--accent-soft)}.hamburger-icon{display:inline-flex;flex-direction:column;gap:5px;width:22px}.hamburger-icon span{display:block;height:1.5px;background:currentColor;border-radius:1px;transition:transform .2s var(--ease-out),opacity .15s var(--ease-out)}.hamburger-icon.is-open span:first-child{transform:translateY(6.5px) rotate(45deg)}.hamburger-icon.is-open span:nth-child(2){opacity:0}.hamburger-icon.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-nav-backdrop{display:block;position:fixed;inset:var(--header-h) 0 0 0;background:rgba(13,17,23,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:49;border:0;cursor:default;padding:0;margin:0}.site-header .site-nav--mobile{display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;top:var(--header-h);right:0;left:0;z-index:50;background:var(--ink-base);border-bottom:1px solid var(--rule);padding:8px 18px 18px;box-shadow:var(--shadow-sm);max-height:calc(100vh - var(--header-h));overflow-y:auto}.site-nav--mobile a{display:block;padding:14px 6px;border-bottom:1px solid var(--rule);font-size:13px;color:var(--bone)}.site-nav--mobile a:hover{color:var(--bone);background:var(--accent-soft)}.site-nav__user{padding:14px 6px 4px}}.logo-mark{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule-strong);border-radius:8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.05em;color:var(--bone);background:transparent}main.container{max-width:820px;margin:56px auto;padding:0 24px;position:relative;z-index:1}.section{background:var(--ink-elev);border:1px solid var(--rule);border-radius:var(--radius);padding:32px 36px;margin-bottom:20px}.section h2{margin:0 0 8px;font-family:var(--font-display-jp);font-size:22px;font-weight:500;color:var(--bone);letter-spacing:-.005em;line-height:1.45}.section .subtitle{color:var(--bone-mute);margin-bottom:24px;font-size:13px;line-height:1.75}.section h3{margin:28px 0 12px;font-family:var(--font-display-jp);font-size:16px;font-weight:500;color:var(--bone)}label{display:block;margin-bottom:14px;font-size:13px;color:var(--bone-soft)}label .label-text{display:block;margin-bottom:6px;color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.form-input,.mfa-input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{width:100%;padding:11px 14px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);font-size:14px;font-family:var(--font-body-jp);color:var(--bone);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.form-input:focus,.mfa-input:focus,input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--bone-mute);opacity:.7}.mfa-input{font-size:22px;letter-spacing:6px;text-align:center;margin-bottom:16px}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;cursor:pointer}.checkbox input[type=checkbox]{accent-color:var(--accent);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:transparent;color:var(--bone-soft);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .2s var(--ease-out),color .2s var(--ease-out),background .2s var(--ease-out);line-height:1.4}.btn,.btn:hover{text-decoration:none}.btn:hover{color:var(--bone)}.btn.primary,.btn:hover{border-color:var(--bone)}.btn.primary{background:var(--bone);color:var(--ink-base)}.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--ink-base);box-shadow:0 12px 32px var(--accent-glow)}.btn.danger{border-color:var(--rule-strong);color:var(--rose);background:transparent}.btn.danger:hover{border-color:var(--rose);color:var(--rose)}.btn:disabled{opacity:.4;cursor:not-allowed}.form-field{display:block;margin-bottom:14px}.form-field:last-of-type{margin-bottom:18px}.form-field .label-text{margin-bottom:6px;display:block}.form-error{color:var(--rose);margin-top:14px;font-size:13px}.form-footer{margin-top:24px}.password-field{position:relative}.password-field .form-input{padding-right:42px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:var(--bone-mute);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s var(--ease-out)}.password-toggle:hover{color:var(--bone)}.notice{padding:14px 18px;border-radius:var(--radius);background:var(--warm);border:1px solid var(--rule-strong);border-left:3px solid var(--gold);color:var(--bone-soft);font-size:13.5px;line-height:1.75;margin-bottom:20px}.notice.error{background:var(--rose-soft);border-color:var(--rule-strong);border-left-color:var(--rose);color:var(--bone)}.notice.success{background:var(--accent-soft);border-color:var(--rule-strong);border-left-color:var(--accent);color:var(--bone)}.notice.demo{background:var(--warm);border-left-color:var(--gold);color:var(--bone-soft)}.auth-container{max-width:420px;margin:64px auto}.payment-hero{background:var(--ink-elev);border:1px solid var(--rule);border-radius:var(--radius);padding:32px 24px;text-align:center;margin:24px 0}.payment-hero__label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-mute);margin-bottom:8px}.payment-hero__amount{font-family:var(--font-display-jp);font-size:44px;font-weight:500;color:var(--bone);letter-spacing:-.02em;line-height:1.1;margin-bottom:6px}.payment-hero__breakdown{font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;color:var(--bone-mute)}.payment-detail{margin:0 0 20px;padding:14px 18px;background:var(--ink-deep);border-radius:var(--radius);font-size:13px}.payment-detail>summary{cursor:pointer;color:var(--bone-soft);font-weight:500;padding:2px 0}.payment-detail__list{margin:10px 0 0;padding-left:20px;color:var(--bone-soft);line-height:1.8}.retrieval-progress{background:var(--ink-elev);border:1px solid var(--rule);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px}.retrieval-progress>ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.retrieval-progress__step{display:flex;gap:14px;align-items:flex-start;position:relative}.retrieval-progress__step:not(:last-child):before{content:"";position:absolute;left:13px;top:28px;bottom:-14px;width:1.5px;background:var(--rule-strong)}.retrieval-progress__step.is-done:before{background:var(--accent)}.retrieval-progress__icon{flex:0 0 28px;width:28px;height:28px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:500;background:var(--rule);color:var(--bone-mute);border:1.5px solid transparent;z-index:1}.retrieval-progress__step.is-done .retrieval-progress__icon{background:var(--accent);color:var(--ink-base)}.retrieval-progress__step.is-active .retrieval-progress__icon{background:var(--ink-elev);border-color:var(--accent);color:var(--accent);animation:progress-pulse 2s ease-in-out infinite}@keyframes progress-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 6px transparent}}.retrieval-progress__body{display:flex;flex-direction:column;gap:2px;padding-top:4px}.retrieval-progress__step strong{font-size:14px;color:var(--bone);font-weight:500}.retrieval-progress__step.is-pending strong{color:var(--bone-mute);font-weight:400}.retrieval-progress__hint{font-size:12px;color:var(--bone-mute)}.retrieval-progress__foot{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--rule);font-size:12px;color:var(--bone-soft);line-height:1.7}.post-pay-flow{background:var(--ink-deep);border-radius:var(--radius);padding:22px 24px;margin:24px 0 0}.post-pay-flow__h{margin:0 0 14px;font-family:var(--font-display-jp);font-size:16px;font-weight:500;color:var(--bone)}.post-pay-flow__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.post-pay-flow__steps>li{display:flex;gap:12px;align-items:flex-start}.post-pay-flow__steps>li>div{display:flex;flex-direction:column;gap:2px}.post-pay-flow__steps strong{font-size:13.5px;color:var(--bone);font-weight:500}.post-pay-flow__num{flex:0 0 22px;width:22px;height:22px;border-radius:var(--radius-full);background:var(--accent);color:var(--ink-base);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:500;margin-top:1px}.post-pay-flow__hint{font-size:12px;color:var(--bone-mute);line-height:1.6;margin:0}.payment-trust{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--radius);padding:16px 18px;margin-bottom:20px}.payment-trust__head{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--bone);font-size:14px}.payment-trust__lock{font-size:16px}.payment-trust__points{margin:0;padding-left:28px;font-size:13px;line-height:1.7;color:var(--bone-soft)}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--rule)}.auth-brand__mark{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:28px;letter-spacing:-.01em;color:var(--bone);font-variation-settings:"opsz" 32}.auth-brand__tag{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:12px;letter-spacing:.04em;color:var(--bone-mute)}.journey-card{background:var(--ink-deep);border:1px solid var(--rule);border-radius:var(--radius);padding:22px 24px;margin-bottom:28px}.journey-card__greet{margin:0 0 4px;font-family:var(--font-display-jp);font-size:18px;font-weight:500;color:var(--bone);letter-spacing:-.005em}.journey-card__lead{margin:0 0 14px;font-size:13px;line-height:1.7;color:var(--bone-soft)}.journey-card__hint{margin:14px 0 0;font-size:12px;line-height:1.7;color:var(--bone-mute)}.journey-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.journey-steps>li{display:flex;gap:12px;align-items:flex-start}.journey-steps>li>div{display:flex;flex-direction:column;gap:2px}.journey-steps__num{flex:0 0 22px;width:22px;height:22px;border-radius:var(--radius-full);background:var(--accent);color:var(--ink-base);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:500;margin-top:1px}.journey-steps strong{font-size:13.5px;color:var(--bone);font-weight:500}.journey-steps__hint{font-size:12px;color:var(--bone-mute);line-height:1.6}.auth-trust{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin:18px 0 0;padding:0;list-style:none;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-mute)}.auth-trust>li:before{content:"✓ ";color:var(--accent);margin-right:2px}.auth-journey-teaser{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 18px;padding:0;list-style:none;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-mute)}.auth-journey-teaser>li{position:relative;padding:4px 6px}.auth-journey-teaser>li+li:before{content:"→";position:absolute;left:-10px;color:var(--rule-strong)}.site-footer{text-align:center;padding:36px 24px;border-top:1px solid var(--rule);background:var(--ink-deep);color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.footer-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px}.footer-brand{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:16px;letter-spacing:-.01em;color:var(--bone);text-transform:none}.footer-sep{color:var(--rule-strong)}.meta{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--bone-mute);text-transform:uppercase}.button-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.badge,.bg-subtle{background:var(--ink-deep)}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--rule-strong);color:var(--bone-soft)}.interview-step-nav{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--rule);margin-bottom:18px}.interview-step-btn{display:inline-flex;gap:8px;align-items:center;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--rule-strong);background:transparent;color:var(--bone-mute);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s var(--ease-out)}.interview-step-btn:hover{border-color:var(--bone-mute);color:var(--bone)}.interview-step-btn .num{display:inline-flex;justify-content:center;align-items:center;width:18px;height:18px;border-radius:var(--radius-full);background:var(--rule);font-size:10px;color:var(--bone-soft)}.interview-step-btn .done{color:var(--accent)}.interview-step-btn.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--bone)}.interview-step-btn.is-active .num{background:var(--accent);color:var(--ink-base)}.interview-step-btn.is-pending{border-color:var(--gold);color:var(--gold);background:hsla(37,39%,62%,.08)}.interview-step-btn.is-pending .num{background:var(--gold);color:var(--ink-base)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 18px;gap:14px 18px;margin:14px 0}.form-grid>div{display:flex;flex-direction:column}.form-grid .form-col-2{grid-column:1/-1}.form-grid .label-text,.form-grid label.label-text{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--bone-mute);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px;display:block}.form-grid input,.form-grid select,.form-grid textarea{padding:10px 12px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);color:var(--bone);font-size:14px;font-family:var(--font-body-jp);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-grid input.readonly-input,.form-grid input[readonly]{background:var(--ink-deep);color:var(--bone-soft);cursor:default}.form-grid input.readonly-input:focus{border-color:var(--rule-strong);box-shadow:none}.step-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--rule)}.step-actions .btn.danger{color:var(--rose);border-color:var(--rule-strong);background:transparent}.entry-list{list-style:none;margin:8px 0 14px;display:flex;flex-direction:column;gap:8px}.entry-list>li{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base)}.entry-list>li.empty{justify-content:center;color:var(--bone-mute);font-size:13px;background:transparent;border-style:dashed}.row-actions{display:flex;gap:8px}.autocomplete{position:relative}.autocomplete input{width:100%}.autocomplete-list{position:absolute;z-index:10;top:100%;left:0;right:0;list-style:none;padding:4px 0;margin:4px 0 0;background:var(--ink-elev);border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:280px;overflow-y:auto}.autocomplete-list>li button{display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:transparent;color:var(--bone-soft);font-family:inherit;font-size:13px;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.autocomplete-list>li button:hover{background:var(--accent-soft);color:var(--bone)}.autocomplete-list>li.empty{padding:10px 14px;color:var(--bone-mute);font-size:12px}.autocomplete-list>li.autocomplete-section{padding:6px 14px;font-family:var(--font-mono);font-size:9.5px;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--bone-mute);background:var(--ink-deep);border-bottom:1px solid var(--rule);cursor:default}.ym-picker{display:flex;gap:8px}.ym-select{flex:1 1;padding:11px 14px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);color:var(--bone);font-size:14px;font-family:var(--font-body-jp);cursor:pointer}.ym-select:disabled{opacity:.4;cursor:not-allowed}.ym-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.exam-fieldset{border:1px solid var(--rule-strong);border-radius:var(--radius);padding:12px 18px;margin:12px 0}.exam-fieldset legend{padding:0 8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.exam-fieldset .checkbox{display:flex;gap:8px;align-items:center;margin:4px 0;font-size:13px}.wizard{display:flex;flex-direction:column;gap:18px}.wizard-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.wizard-progress{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;padding:0;margin:0;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.wizard-progress>li{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--ink-base);border-right:1px solid var(--rule);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-mute);transition:background .2s var(--ease-out),color .2s var(--ease-out)}.wizard-progress>li:last-child{border-right:0}.wizard-progress>li.is-active{background:var(--accent-soft);color:var(--bone)}.wizard-progress>li.is-done{color:var(--accent)}.wizard-progress .num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--rule-strong);background:var(--ink-deep);color:var(--bone-soft);font-size:11px}.wizard-progress>li.is-active .num{background:var(--accent);color:var(--ink-base);border-color:var(--accent)}.wizard-progress>li.is-done .num{background:transparent;color:var(--accent);border-color:var(--accent)}.wizard-progress .title{font-family:var(--font-body-jp);font-size:12.5px;letter-spacing:.04em;text-transform:none}@media (max-width:640px){.wizard-progress{grid-template-columns:1fr}.wizard-progress>li{border-right:0;border-bottom:1px solid var(--rule)}.wizard-progress>li:last-child{border-bottom:0}}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.category-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;background:var(--ink-elev);border:1px solid var(--rule);border-radius:var(--radius);text-align:left;cursor:pointer;font-family:inherit;color:var(--bone);transition:border-color .2s var(--ease-out),background .2s var(--ease-out),transform .15s var(--ease-out)}.category-card:hover{border-color:var(--bone-mute);transform:translateY(-1px)}.category-card.is-selected{border-color:var(--accent);background:var(--accent-soft)}.category-card__icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.category-card__icon svg{width:28px;height:28px}.category-card__title{font-family:var(--font-display-jp);font-weight:500;font-size:15px;color:var(--bone)}.category-card__desc{font-size:12.5px;line-height:1.7;color:var(--bone-mute)}.category-card__check{position:absolute;top:12px;right:14px;font-size:14px;color:var(--accent)}.detail-fieldset{border:1px solid var(--rule);border-radius:var(--radius);padding:16px 20px 20px;margin:12px 0;background:var(--ink-elev)}.detail-fieldset__legend{display:inline-flex;align-items:center;gap:10px;padding:0 10px;margin-left:-10px;font-family:var(--font-display-jp);font-size:14.5px;font-weight:500;color:var(--bone);background:var(--ink-elev)}.detail-fieldset__icon{display:inline-flex;width:22px;height:22px;color:var(--accent)}.detail-fieldset__icon svg{width:20px;height:20px}.detail-fieldset__desc{font-size:12.5px;color:var(--bone-mute);margin:4px 0 14px}.detail-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:6px;gap:6px}.detail-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius);cursor:pointer;transition:background .15s var(--ease-out)}.detail-item:hover{background:rgba(125,211,192,.05)}.detail-item input[type=checkbox]{margin-top:3px;accent-color:var(--accent)}.detail-item__body{display:flex;flex-direction:column;gap:2px}.detail-item__label{font-size:13.5px;color:var(--bone)}.detail-item__sub{font-family:var(--font-mono);font-size:11px;color:var(--bone-mute);letter-spacing:.04em}.free-text-row{margin-top:14px}.confirm-list,.free-text-row{display:flex;flex-direction:column;gap:6px}.confirm-list{list-style:none;margin:0}.confirm-list>li{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base);font-size:13px;color:var(--bone-soft)}.confirm-list strong{color:var(--bone);font-weight:500}.lifestyle-block{margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}.lifestyle-block:first-of-type{margin-top:16px;padding-top:0;border-top:0}.lifestyle-block h4{font-family:var(--font-display-jp);font-size:17px;font-weight:500;color:var(--bone);margin:0 0 12px}.stepper{display:flex;flex-direction:column;gap:8px}.stepper-row{display:inline-flex;align-items:center;gap:8px}.stepper-btn{width:36px;height:36px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);color:var(--bone);font-size:18px;font-weight:500;cursor:pointer;transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}.stepper-btn:hover{border-color:var(--accent);background:rgba(125,211,192,.06)}.stepper-input{width:84px;padding:8px 10px;text-align:center;font-family:var(--font-mono);font-size:16px;font-weight:500;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);color:var(--bone);-moz-appearance:textfield}.stepper-input::-webkit-inner-spin-button,.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-suffix{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--bone-mute);margin-left:4px}.stepper-presets{display:flex;gap:6px;flex-wrap:wrap}.stepper-preset{padding:5px 12px;border-radius:var(--radius-full);border:1px solid var(--rule-strong);background:transparent;color:var(--bone-soft);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.05em;cursor:pointer;transition:all .15s var(--ease-out)}.stepper-preset:hover{border-color:var(--bone-mute);color:var(--bone)}.stepper-preset.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.stepper--compact .stepper-input{width:64px;font-size:14px}.stepper--compact .stepper-btn{width:30px;height:30px;font-size:16px}.drink-list{display:flex;flex-direction:column;gap:6px}.drink-row{display:grid;grid-template-columns:200px 1fr;grid-gap:14px;gap:14px;align-items:center;padding:10px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base);transition:border-color .15s var(--ease-out)}.drink-row.is-on{border-color:var(--accent);background:rgba(125,211,192,.04)}.drink-row__head{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--bone)}.drink-row__head input[type=checkbox]{accent-color:var(--accent)}.drink-row__name{font-weight:500}.drink-row__body{display:flex;align-items:center;gap:10px}.drink-row__hint{font-family:var(--font-mono);font-size:11px;color:var(--bone-mute);letter-spacing:.05em}@media (max-width:540px){.drink-row{grid-template-columns:1fr;gap:8px}}.radio-row{display:flex;flex-wrap:wrap;gap:6px}.radio-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-full);border:1px solid var(--rule-strong);background:var(--ink-base);color:var(--bone-soft);font-size:13px;cursor:pointer;transition:all .15s var(--ease-out)}.radio-pill:hover{border-color:var(--bone-mute);color:var(--bone)}.radio-pill input{display:none}.radio-pill:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;padding:7px 14px;border-radius:var(--radius-full);border:1px solid var(--rule-strong);background:var(--ink-base);color:var(--bone-soft);font-size:13px;cursor:pointer;transition:all .15s var(--ease-out)}.chip:hover{border-color:var(--bone-mute);color:var(--bone)}.chip.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.reaction-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:6px;gap:6px}.reaction-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--ink-base);color:var(--bone-soft);font-size:13px;cursor:pointer;transition:all .15s var(--ease-out)}.reaction-pill:hover{border-color:var(--bone-mute);color:var(--bone)}.reaction-pill input[type=checkbox]{accent-color:var(--accent)}.reaction-pill:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--bone)}.badge.danger{background:hsla(3,73%,67%,.12);border:1px solid hsla(3,73%,67%,.35);color:var(--rose)}.family-matrix-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base)}.family-matrix{width:100%;border-collapse:collapse;font-size:13px}.family-matrix td,.family-matrix th{padding:8px 12px;border-bottom:1px solid var(--rule);text-align:center;vertical-align:middle}.family-matrix thead th{background:var(--ink-deep);color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:500}.family-matrix tbody th{text-align:left;font-family:var(--font-display-jp);font-size:13.5px;color:var(--bone);font-weight:500;background:rgba(125,211,192,.03);border-right:1px solid var(--rule)}.family-matrix tr:last-child td,.family-matrix tr:last-child th{border-bottom:0}.family-cell{width:32px;height:32px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:transparent;color:var(--accent);font-size:16px;cursor:pointer;transition:all .15s var(--ease-out)}.family-cell:hover{border-color:var(--bone-mute);background:rgba(125,211,192,.05)}.family-cell.is-on{border-color:var(--accent);background:var(--accent);color:var(--ink-base);font-weight:600}.modal-backdrop{position:fixed;inset:0;background:rgba(13,17,23,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal{background:var(--ink-elev);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:28px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.review-summary .review-section{border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;background:var(--ink-base)}.review-summary h4{margin:0 0 8px;font-family:var(--font-display-jp);font-size:14px;font-weight:500;color:var(--bone)}.review-summary dl{display:grid;grid-template-columns:130px 1fr;grid-gap:4px 14px;gap:4px 14px;margin:0;font-size:13px}.review-summary dt{color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em}.review-summary dd,.review-summary ul{margin:0;color:var(--bone-soft)}.review-summary ul{padding-left:18px;font-size:13px}.retrieval-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.retrieval-summary .card{padding:16px 18px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base)}.retrieval-summary .card .label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--bone-mute);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}.retrieval-summary .card .value{font-family:var(--font-display-jp);font-size:26px;font-weight:500;color:var(--bone)}.retrieval-summary .card .hint{font-size:11px;color:var(--bone-mute);margin-top:4px}.retrieval-list{list-style:none;display:flex;flex-direction:column;gap:12px}.retrieval-list>li{border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;background:var(--ink-base)}.retrieval-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.retrieval-items{list-style:none;margin:8px 0 0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--bone-soft)}.retrieval-items>li{display:flex;gap:10px;justify-content:space-between}.consent-card{border:1px solid var(--rule);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;background:var(--ink-base)}.consent-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.consent-card[data-required=true]{border-color:var(--accent)}.mandate-list{list-style:none;margin:14px 0}.mandate-card{border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:16px;background:var(--ink-base);overflow:hidden}.mandate-header{background:var(--ink-deep);padding:10px 16px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule)}.mandate-body{padding:14px 18px;font-size:13px;color:var(--bone-soft)}.mandate-body p{margin:4px 0}.mandate-body ul{margin:6px 0 10px;padding-left:22px}.department-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:20px}.department-card{display:flex;align-items:flex-start;gap:16px;padding:22px;border:1px solid var(--rule);border-radius:var(--radius);color:var(--bone-soft);transition:all .25s var(--ease-out)}.department-card,.department-card:hover{background:var(--ink-elev);text-decoration:none}.department-card:hover{border-color:var(--accent);color:var(--bone);transform:translateY(-1px);box-shadow:0 8px 24px var(--accent-glow)}.department-card.disabled{opacity:.4;pointer-events:none;cursor:default}.department-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--rule-strong);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.05em}.department-info h3{margin:0 0 4px;font-family:var(--font-display-jp);font-size:16px;font-weight:500;color:var(--bone)}.department-info p{margin:0;font-size:13px;color:var(--bone-mute);line-height:1.7}.onboarding-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.onboarding-step{display:flex;gap:18px;padding:22px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base);transition:border-color .2s var(--ease-out)}.onboarding-step.done{border-color:var(--accent);background:var(--accent-soft)}.onboarding-step-num{width:36px;height:36px;border-radius:var(--radius);background:var(--rule);border:1px solid var(--rule-strong);color:var(--bone-mute);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:500;font-size:13px;flex-shrink:0}.onboarding-step.done .onboarding-step-num{background:var(--accent);color:var(--ink-base);border-color:var(--accent)}.onboarding-step-body{flex:1 1}.onboarding-step-body h3{margin:0 0 4px;font-family:var(--font-display-jp);font-size:15.5px;font-weight:500;color:var(--bone)}.onboarding-step-body p{margin:0 0 12px;font-size:13px;color:var(--bone-mute);line-height:1.75}.onboarding-badge{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:var(--radius-full);background:var(--rule);color:var(--bone-mute)}.onboarding-badge.done{background:var(--accent-soft);color:var(--accent)}.onboarding-badge.pending{background:hsla(37,39%,62%,.12);color:var(--gold)}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.profile-header h2,.profile-header h3{margin:0}.profile-block{margin-top:24px}.profile-block h3{margin:0 0 14px;font-family:var(--font-display-jp)}.profile-dl{display:grid;grid-template-columns:150px 1fr;grid-gap:10px 18px;gap:10px 18px;font-size:14px;margin:0}.profile-dl dt{color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.profile-dl dd{margin:0;color:var(--bone-soft)}.consent-section{margin-bottom:0}.tpa-consent{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:14px;margin:0}.tpa-consent input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.tpa-consent-body{flex:1 1}.tpa-consent-title{font-family:var(--font-display-jp);font-weight:500;font-size:14.5px;margin-bottom:6px;color:var(--bone)}.tpa-consent-desc{font-size:13px;color:var(--bone-mute);line-height:1.75;margin:0 0 8px}.legal{color:var(--bone-soft);font-size:14px;line-height:1.9}.legal-scroll{max-height:420px;overflow-y:auto;padding:24px 28px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base)}.legal-header{border-bottom:1px solid var(--rule);padding-bottom:22px;margin-bottom:28px}.legal-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 12px}.legal-title{font-family:var(--font-display-jp);font-size:19px;font-weight:500;line-height:1.5;margin:0 0 16px;color:var(--bone)}.legal-lead{font-size:13.5px;line-height:1.85;color:var(--bone-soft);margin:0 0 8px}.legal-chapter{margin-top:36px}.legal-chapter-title{font-family:var(--font-display-jp);font-size:16px;font-weight:500;border-left:2px solid var(--accent);padding-left:12px;margin:0 0 20px;line-height:1.45;color:var(--bone)}.legal-article{margin-top:24px}.legal-article-title{font-family:var(--font-body-jp);font-size:13.5px;font-weight:500;margin:0 0 10px;color:var(--bone)}.legal-article p{margin:0 0 10px}.legal-list{list-style:decimal;padding-left:24px;margin:6px 0 0}.legal-list>li{margin:0 0 8px;padding-left:4px}.legal-sublist{list-style:none;counter-reset:legal-sub;padding-left:12px;margin:8px 0 4px}.legal-sublist>li{counter-increment:legal-sub;position:relative;padding-left:32px;margin:0 0 6px}.legal-sublist>li:before{content:"(" counter(legal-sub) ")";position:absolute;left:0;color:var(--bone-mute);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.legal-sublist-alpha{counter-reset:legal-sub-alpha}.legal-sublist-alpha>li{counter-increment:legal-sub-alpha;padding-left:24px}.legal-sublist-alpha>li:before{content:counter(legal-sub-alpha,lower-alpha) "."}.legal-footer{margin-top:36px;padding-top:18px;border-top:1px solid var(--rule);text-align:right;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--bone-mute)}@media (max-width:768px){main.container{padding:0 18px;margin:32px auto}.site-header{padding:0 18px}.section{padding:24px 22px}.department-grid,.form-grid,.retrieval-summary{grid-template-columns:1fr}.review-summary dl{grid-template-columns:110px 1fr}.legal-scroll{padding:18px;max-height:360px}}