.stage{min-height:calc(100vh - var(--header-h));grid-template-columns:1fr 380px;display:grid}.canvas{border-right:1px solid var(--line);flex-direction:column;padding:0 64px;display:flex}.companion{background:var(--paper-2);top:var(--header-h);height:calc(100vh - var(--header-h));padding:32px 28px;position:sticky;overflow-y:auto}.rail{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-bottom:40px;padding:32px 0 28px;display:flex}.rail-step{cursor:pointer;text-align:left;transition:opacity var(--t-fast);flex-direction:column;flex:1;gap:8px;display:flex}.rail-step:disabled{cursor:default}.rail-step:not(.done):not(.current){opacity:.35}.rail-step:not(:disabled):hover{opacity:1}.rail-bar{background:var(--line);border-radius:2px;height:2px;position:relative;overflow:hidden}.rail-bar:after{content:"";background:var(--ink);transform-origin:0;transition:transform var(--t-slow);border-radius:2px;position:absolute;inset:0;transform:scaleX(0)}.rail-step.done .rail-bar:after{background:var(--kubell);transform:scaleX(1)}.rail-step.current .rail-bar:after{background:linear-gradient(90deg, var(--kubell), var(--kubell-soft));transform:scaleX(.5)}.rail-label{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-muted);justify-content:space-between;align-items:center;font-size:10px;font-weight:500;display:flex}.rail-label .name{color:var(--ink-2);letter-spacing:0;font-weight:600;font-family:var(--sans)}.rail-step.current .rail-label .num{color:var(--kubell-deep);font-weight:700}.step{padding-bottom:48px;animation:.5s cubic-bezier(.22,1,.36,1) both slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.field-block,[id^=question-]{scroll-margin-top:calc(var(--header-h) + 16px)}.field-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:16px;padding:24px}.field-block-q{letter-spacing:-.01em;color:var(--ink);margin-bottom:16px;font-size:15px;font-weight:700}.field-block .field:last-child,.field-block .role-grid:last-child{margin-bottom:0}.twin-cols{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.twin-cols .field-block{margin-bottom:0}.tile-grid-compact{grid-template-columns:repeat(4,1fr);margin-bottom:0}.contact-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:16px;padding:28px}.contact-card .field:last-child{margin-bottom:0}.submit-error{color:var(--kubell-deep);margin-top:8px;font-size:13px;font-weight:700}.conflict-banner{background:var(--kubell-tint);border:1px solid var(--kubell-soft);border-radius:var(--r-md);color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.conflict-banner button{border-radius:var(--r-sm);background:var(--kubell);color:#fff;white-space:nowrap;padding:8px 14px;font-size:12px;font-weight:700}.nav-bar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 0;display:flex}.btn{letter-spacing:-.005em;transition:all var(--t-fast);cursor:pointer;border-radius:var(--r-sm);border:1px solid #0000;align-items:center;gap:8px;padding:13px 24px;font-size:13px;font-weight:700;display:inline-flex}.btn-ghost{color:var(--ink-3);border-color:var(--line);background:var(--paper)}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-4);background:var(--paper-2)}.btn-primary{background:var(--ink);color:#fff;box-shadow:inset 0 1px #ffffff1a,0 4px 12px #00000026}.btn-primary:hover{background:var(--kubell);box-shadow:inset 0 1px #fff3,0 6px 20px #f0460059}.btn:disabled{opacity:.3;cursor:not-allowed}.companion-section{margin-bottom:24px}.companion-title{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-muted);text-transform:uppercase;margin-bottom:12px;font-size:10px;font-weight:600}.estimate-card{background:var(--ink);color:#fff;border-radius:var(--r-md);margin-bottom:20px;padding:22px;position:relative;overflow:hidden}.estimate-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#f046008c 0%,#0000 65%);width:200px;height:200px;position:absolute;top:-30%;right:-20%}.estimate-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#f0460040 0%,#0000 65%);width:160px;height:160px;position:absolute;bottom:-40%;left:-20%}.estimate-head{z-index:1;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex;position:relative}.estimate-eyebrow{font-family:var(--mono);letter-spacing:.08em;color:var(--kubell-glow);text-transform:uppercase;font-size:9px;font-weight:600}.estimate-pip{font-family:var(--mono);color:#ffffff8c;align-items:center;gap:5px;font-size:9px;font-weight:500;display:flex}.estimate-pip .dot{background:var(--kubell-soft);border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite breathe}.estimate-label{color:#ffffffa6;z-index:1;margin-bottom:10px;font-size:11px;line-height:1.5;position:relative}.estimate-range{color:#fff;letter-spacing:-.04em;transition:all var(--t-slow);z-index:1;font-feature-settings:"tnum";flex-wrap:wrap;align-items:baseline;gap:4px;font-size:34px;font-weight:800;line-height:1;display:flex;position:relative}.estimate-range .yen{color:var(--kubell-glow);font-size:16px;font-weight:600}.estimate-range .unit{color:#ffffffbf;font-size:16px;font-weight:600}.estimate-range .tilde{color:#ffffff73;padding:0 2px;font-size:22px;font-weight:400}.estimate-range .num{background:linear-gradient(135deg, #fff 0%, var(--kubell-glow) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.estimate-placeholder,.estimate-individual{color:#fffc;font-size:14px;font-weight:600;line-height:1.5}.bantch-mini{margin-bottom:20px}.bantch-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.bantch-mini-title{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-muted);text-transform:uppercase;font-size:10px;font-weight:600}.bantch-ratio{color:var(--ink);font-feature-settings:"tnum";letter-spacing:-.01em;font-size:13px;font-weight:700}.bantch-ratio .total{color:var(--ink-muted);font-weight:500}.bantch-mini-grid{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.bantch-mini-cell{aspect-ratio:1;border:1px solid var(--line);font-family:var(--mono);color:var(--ink-muted);background:var(--paper);transition:all var(--t-med);border-radius:var(--r-sm);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.bantch-mini-cell.done{background:linear-gradient(135deg, var(--kubell) 0%, var(--kubell-soft) 100%);color:#fff;border-color:var(--kubell);box-shadow:0 4px 12px #f046004d}.bantch-mini-cell.active{border-color:var(--kubell);color:var(--kubell-deep);background:var(--kubell-tint);animation:1.6s ease-in-out infinite embers}@keyframes embers{0%,to{box-shadow:0 0 #f0460066}50%{box-shadow:0 0 0 6px #f0460000}}.summary-list{flex-direction:column;display:flex}.summary-row{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-size:12px;display:flex}.summary-row:last-child{border-bottom:none}.summary-k{color:var(--ink-muted);flex-shrink:0;font-weight:500}.summary-v{text-align:right;color:var(--ink);letter-spacing:-.005em;font-weight:600}.summary-v.empty{color:var(--ink-muted);font-weight:500}.tip-card{background:var(--paper);border:1px solid var(--line);color:var(--ink-3);border-radius:var(--r-sm);gap:10px;margin-top:16px;padding:14px 16px;font-size:12px;font-weight:500;line-height:1.6;display:flex}.tip-icon{color:var(--kubell);flex-shrink:0}.tip-card strong{color:var(--ink);font-weight:700}.advisor-panel{background:var(--paper);border:1px solid var(--kubell-tint);border-radius:var(--r-md);box-shadow:0 0 0 3px var(--kubell-mist);margin:28px 0 0;padding:20px}.advisor-panel-head-row{flex-wrap:wrap;align-items:center;column-gap:12px;display:flex}.advisor-panel-head{text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:12px;padding:0;display:flex}.advisor-panel-head:focus-visible{outline:2px solid var(--kubell-deep);outline-offset:2px;border-radius:var(--r-sm)}.advisor-panel-head-text{min-width:0;display:block}.advisor-panel-chevron{color:var(--ink-muted);flex-shrink:0;margin-left:auto;transition:transform .15s}.advisor-panel-head[aria-expanded=true] .advisor-panel-chevron{transform:rotate(180deg)}.advisor-panel-body{margin-top:16px}.advisor-panel-icon{color:var(--kubell)}.advisor-panel-title{color:var(--ink);font-size:14px;font-weight:800;display:block}.advisor-panel-sub{color:var(--ink-muted);font-size:12px;font-weight:500;display:block}.advisor-select{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);width:100%;color:var(--ink);padding:14px 16px;font-size:14px;font-weight:500}.advisor-issued{background:var(--kubell-mist);border-radius:var(--r-sm);margin-top:14px;padding:12px 14px}.advisor-issued-label{color:var(--kubell-deep);margin-bottom:6px;font-size:11px;font-weight:700}.advisor-issued-field{position:relative}.advisor-issued-url{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;font-family:var(--mono);color:var(--ink-3);background:var(--paper);padding:8px 38px 8px 10px;font-size:12px}.advisor-issued-copy-wrap{display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.advisor-issued-copy{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.advisor-issued-copy:hover{color:var(--kubell-deep);background:var(--kubell-mist)}.advisor-issued-copy:focus-visible{outline:2px solid var(--kubell-deep);outline-offset:1px}.advisor-issued-copy-tooltip{z-index:50;border-radius:var(--r-sm);background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;padding:6px 10px;font-size:11px;font-weight:700;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a29}.advisor-issued-copy-tooltip:after{content:"";background:var(--ink);width:8px;height:8px;margin-top:-4px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.advisor-issued-status{color:var(--ink-muted);margin-top:6px;font-size:11px;font-weight:500;line-height:1.5;display:block}.advisor-panel-divider{background:var(--line);height:1px;margin:20px 0 16px}.advisor-config-refresh-label{color:var(--ink-2);margin-bottom:10px;font-size:12px;font-weight:700}.advisor-config-refresh-note{color:var(--ink-muted);margin-top:8px;font-size:11px;font-weight:500;line-height:1.5}.notice-screen{text-align:center;max-width:560px;margin:0 auto;padding:80px 24px;animation:.5s both slideUp}.notice-icon{background:var(--kubell-mist);width:64px;height:64px;color:var(--kubell);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;display:inline-flex}.notice-screen h2{letter-spacing:-.03em;color:var(--ink);outline:none;margin-bottom:16px;font-size:28px;font-weight:800}.notice-screen p{color:var(--ink-3);margin-bottom:24px;font-size:14px;font-weight:500;line-height:1.7}.notice-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.notice-url{color:var(--ink-3);font-size:12px;font-family:var(--mono);word-break:break-all}.notice-url span{color:var(--kubell-deep);font-weight:600}.notice-summary{text-align:left;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:24px;padding:16px 18px}.notice-summary .companion-title{margin-bottom:10px}.complete{text-align:center;padding:64px 24px;animation:.6s both slideUp}.complete-stamp{background:var(--kubell);color:#fff;font-family:var(--mono);letter-spacing:.06em;border-radius:var(--r-sm);align-items:center;gap:8px;margin-bottom:28px;padding:8px 14px;font-size:11px;font-weight:600;display:inline-flex;box-shadow:0 4px 16px #f046004d}.complete h2{letter-spacing:-.035em;color:var(--ink);outline:none;margin-bottom:18px;font-size:42px;font-weight:800;line-height:1.1}.complete h2 .ember{background:linear-gradient(120deg, var(--kubell) 0%, var(--kubell-soft) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.complete p{color:var(--ink-3);max-width:480px;margin:0 auto;font-size:14px;font-weight:500;line-height:1.7}.complete p strong{color:var(--ink);font-weight:700}.reward-list{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(3,1fr);gap:0;max-width:680px;margin:40px auto 0;display:grid;overflow:hidden}.reward-item{text-align:left;border-right:1px solid var(--line);cursor:default;padding:22px 18px}.reward-item:last-child{border-right:none}.reward-icon-box{background:var(--paper);border-radius:var(--r-sm);width:36px;height:36px;color:var(--ink-3);justify-content:center;align-items:center;margin-bottom:12px;display:flex}.reward-name{letter-spacing:-.01em;color:var(--ink);margin-bottom:4px;font-size:14px;font-weight:700}.reward-when{color:var(--ink-muted);font-size:11px;font-weight:500;font-family:var(--mono);letter-spacing:.02em}.floor-deco{text-align:center;font-family:var(--mono);letter-spacing:.06em;color:var(--ink-muted);justify-content:center;align-items:center;gap:8px;padding:32px 0 24px;font-size:10px;font-weight:500;display:flex}.floor-deco .sep{color:var(--ink-5)}.floor-deco .brand-mini{color:var(--kubell-deep);font-weight:600}@media (max-width:1180px){.stage{grid-template-columns:1fr}.companion{border-top:1px solid var(--line);height:auto;padding:28px 24px;position:relative}.canvas{border-right:none;padding:0 40px}}@media (max-width:760px){.canvas{padding:0 20px}.step-title{font-size:30px}.step-lead{margin-bottom:32px;font-size:14px}.twin-cols{grid-template-columns:1fr}.rail{gap:5px;margin-bottom:28px;padding:20px 0 18px}.rail-label .name{display:none}.reward-list{grid-template-columns:1fr}.reward-item{border-right:none;border-bottom:1px solid var(--line)}.reward-item:last-child{border-bottom:none}.estimate-range{font-size:28px}.nav-bar{padding:18px 0}.btn{padding:11px 18px;font-size:12px}.complete h2{font-size:30px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
