/* Germany Route Check (/check): question flow and result dashboard. Builds on immersive.css. */
.rc-hero{min-height:max(600px,76svh)}

/* ---------- Question flow ---------- */
.rc-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
.rc-side{position:sticky;top:calc(var(--header-h,70px) + 24px)}
.rc-side-card{padding:22px;border-radius:24px;border:1px solid #ffffff1c;background:linear-gradient(160deg,#141f25,#0e161b)}
.rc-profile{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rc-profile-empty{font-size:14px;line-height:1.55;color:#8fa0a4}
.rc-profile button{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:9px 12px;border-radius:12px;border:1px solid #ffffff12;background:#ffffff05;text-align:left;transition:border-color .3s,background .3s}
.rc-profile button:hover{border-color:#b8f57359;background:#b8f5730a}
.rc-profile button.is-current{border-color:var(--hx-accent)}
.rc-profile span{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8fa0a4;flex:none}
.rc-profile b{font-size:13px;font-weight:600;color:#e8eee9;text-align:right}
.rc-live{margin-top:18px;padding-top:16px;border-top:1px solid #ffffff17}
.rc-live span{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--hx-accent)}
.rc-live strong{display:block;font-family:Manrope,sans-serif;font-size:17px;line-height:1.3;letter-spacing:-.02em;margin:6px 0 10px}
.rc-live-bar{height:6px;border-radius:99px;background:#ffffff12;overflow:hidden}
.rc-live-bar i{display:block;height:100%;width:0;background:var(--hx-accent);border-radius:99px;transition:width .8s var(--hx-ease)}
.rc-card{position:relative;min-height:540px;padding:clamp(24px,3.4vw,44px);border-radius:30px;border:1px solid #ffffff1f;background:linear-gradient(160deg,#17242b,#0f181d 70%);box-shadow:0 50px 100px -50px #000,inset 0 1px 0 #ffffff12;overflow:hidden}
.rc-progress{position:absolute;left:0;right:0;top:0;height:3px;background:#ffffff12}
.rc-progress i{display:block;height:100%;width:0;background:var(--hx-accent);transition:width .6s var(--hx-ease)}
.rc-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;font-size:13px;color:#8fa0a4}
.rc-meta b{color:var(--hx-ink)}
.rc-back{padding:8px 14px!important;border-radius:99px!important;border:1px solid #ffffff2a!important;font-size:13px;font-weight:600;color:#d6dfdb;transition:border-color .3s,color .3s}
.rc-back:hover{border-color:var(--hx-accent)!important;color:var(--hx-accent)}
.rc-q{border:0;margin:0;padding:0;min-width:0}
.rc-q-title{font-family:Manrope,sans-serif;font-size:clamp(26px,2.6vw,38px);font-weight:600;letter-spacing:-.04em;line-height:1.15;padding:0;margin-bottom:10px}
.rc-q-hint{font-size:15px;color:var(--hx-muted);margin-bottom:28px}
.rc-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rc-option{position:relative;display:flex;align-items:center;gap:14px;min-height:68px;padding:14px 16px;border-radius:18px;border:1px solid #ffffff1f;background:#ffffff05;cursor:pointer;transition:border-color .3s,background .3s,transform .4s var(--hx-ease)}
.rc-option:hover{border-color:#ffffff55;background:#ffffff0a;transform:translateY(-2px)}
.rc-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rc-key{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;border:1px solid #ffffff2a;font-size:12px;font-weight:700;color:#93a4a8;transition:background .3s,color .3s,border-color .3s}
.rc-option-text strong{display:block;font-size:16px;font-weight:600;letter-spacing:-.01em}
.rc-option-text small{display:block;font-size:12.5px;color:#8fa0a4;margin-top:2px}
.rc-option:has(input:checked){border-color:var(--hx-accent);background:#b8f57314}
.rc-option input:checked~.rc-key{background:var(--hx-accent);border-color:var(--hx-accent);color:var(--hx-accent-ink)}
.rc-option:has(input:focus-visible){outline:2px solid var(--hx-accent);outline-offset:3px}
.rc-keys{position:absolute;right:clamp(24px,3.4vw,44px);bottom:18px;font-size:12px;color:#6f8287}
.rc-loading{color:#8fa0a4}
@media (hover:none){.rc-keys,.rc-key{display:none}}

/* ---------- Result dashboard ---------- */
.rc-result{padding:calc(var(--header-h,70px) + 10px) 0 40px;outline:none}
.rc-summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:40px;align-items:center;padding:clamp(26px,4vw,52px);border-radius:34px;border:1px solid #b8f57340;background:radial-gradient(ellipse 60% 80% at 90% 10%,#b8f5731a,transparent 70%),linear-gradient(160deg,#18262b,#0e171c 70%);box-shadow:0 60px 120px -60px #000}
.rc-summary h2{font-size:clamp(34px,4.4vw,62px)!important;margin-bottom:16px}
.rc-chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.rc-status{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:99px;font-size:12px;font-weight:700;letter-spacing:.02em;background:#ffffff12;color:#c9d3d3}
.rc-status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.rc-status[data-status=strong]{background:#b8f5731f;color:var(--hx-accent)}
.rc-status[data-status=possible]{background:#9fd8ff1f;color:#9fd8ff}
.rc-status[data-status=later]{background:#ffc9891f;color:#ffc989}
.rc-status[data-status=no]{background:#ffffff0d;color:#8fa0a4}
.rc-law{display:inline-flex;padding:5px 11px;border-radius:99px;border:1px solid #ffffff22;font-size:12px;color:#b9c6c6}
.rc-lead{font-size:17px;line-height:1.65;color:#d5dedb;max-width:720px}
.rc-why{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.rc-why li,.rc-ok li{position:relative;padding-left:30px;font-size:15px;line-height:1.55;color:#dfe7e2}
.rc-why li::before,.rc-ok li::before{content:'✓';position:absolute;left:0;top:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#b8f57324;color:var(--hx-accent);font-size:11px;font-weight:700}
.rc-gap li{position:relative;padding-left:30px;font-size:14.5px;line-height:1.55;color:#cfd8d5}
.rc-gap li::before{content:'→';position:absolute;left:0;top:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ffc9891f;color:#ffc989;font-size:11px;font-weight:700}
.rc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0 0;max-width:760px}
.rc-stats div{padding:14px 16px;border-radius:16px;background:#ffffff07;border:1px solid #ffffff14}
.rc-stats dt{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8d9fa3}
.rc-stats dd{margin:6px 0 0;font-family:Manrope,sans-serif;font-size:16px;font-weight:600;line-height:1.3}
.rc-result-actions{margin-top:28px}
.rc-gauge{position:relative;width:220px;height:220px;justify-self:center}
.rc-gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.rc-gauge circle{fill:none;stroke-width:9}
.rc-gauge .bg{stroke:#ffffff12}
.rc-gauge .fg{stroke:var(--hx-accent);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--hx-ease);filter:drop-shadow(0 0 10px #b8f57366)}
.rc-gauge div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.rc-gauge b{font-family:Manrope,sans-serif;font-size:58px;font-weight:600;letter-spacing:-.05em;line-height:1}
.rc-gauge span{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#93a4a8;margin-top:6px}
.rc-block{margin-top:40px}
.rc-block .hx-head{margin-bottom:28px}
.rc-block h2{font-size:clamp(32px,3.6vw,52px)!important}
.rc-panel{padding:clamp(22px,3vw,34px);border-radius:28px;border:1px solid #ffffff1c;background:linear-gradient(160deg,#141f25,#0e161b)}
.rc-panel h3{font-family:Manrope,sans-serif;font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-.035em;line-height:1.2;margin-bottom:18px}
.rc-small{font-size:13.5px;line-height:1.6;color:#8fa0a4}

/* all routes */
.rc-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.rc-route{border-radius:22px;border:1px solid #ffffff17;background:linear-gradient(160deg,#141f25,#0e161b);transition:border-color .3s}
.rc-route[data-status=no]{opacity:.62}
.rc-route.is-primary{border-color:#b8f57366;box-shadow:0 0 0 1px #b8f57333}
.rc-route:hover{border-color:#ffffff40}
.rc-route summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:20px 22px}
.rc-route summary::-webkit-details-marker{display:none}
.rc-route summary:focus-visible{outline:2px solid var(--hx-accent);outline-offset:3px;border-radius:20px}
.rc-route-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rc-route-top .rc-law{font-size:11px;padding:3px 9px}
.rc-route strong{font-family:Manrope,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.rc-fit{display:block;height:5px;border-radius:99px;background:#ffffff10;overflow:hidden}
.rc-fit i{display:block;height:100%;background:var(--hx-accent);border-radius:99px}
.rc-route[data-status=possible] .rc-fit i{background:#9fd8ff}
.rc-route[data-status=later] .rc-fit i{background:#ffc989}
.rc-route-meta{font-size:12.5px;color:#8fa0a4}
.rc-route-body{padding:0 22px 22px;display:grid;gap:12px;border-top:1px solid #ffffff12;padding-top:16px;margin-top:-4px}
.rc-route-body p{font-size:14px;line-height:1.6;color:var(--hx-muted)}
.rc-route-body ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}

/* German plan + readiness */
.rc-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rc-track{position:relative;height:74px;margin:6px 14px 18px}
.rc-track-line{position:absolute;left:0;right:0;top:14px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--hx-accent),#b8f5734d)}
.rc-mile{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px}
.rc-mile::before{content:'';width:20px;height:20px;margin-top:6px;border-radius:50%;background:var(--hx-bg);border:3px solid var(--hx-accent);box-shadow:0 0 12px #b8f57366}
.rc-mile.done::before{background:var(--hx-accent)}
.rc-mile b{font-size:13px;font-weight:700}
.rc-mile small{font-size:11px;color:#8fa0a4;white-space:nowrap}
.rc-mile:first-of-type{transform:none;align-items:flex-start}
.rc-mile:last-child{transform:translateX(-100%);align-items:flex-end}
.rc-pace{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}
.rc-pace span{font-size:12px;font-weight:600;color:#93a4a8;margin-right:6px}
.rc-pace button{padding:8px 14px;border-radius:99px;border:1px solid #ffffff22;font-size:13px;font-weight:600;color:#cfd8d5;transition:background .3s,color .3s,border-color .3s}
.rc-pace button[aria-pressed=true]{background:var(--hx-accent);border-color:var(--hx-accent);color:var(--hx-accent-ink)}
.rc-bars{display:grid;gap:14px;margin-bottom:16px}
.rc-bar-head{display:flex;justify-content:space-between;font-size:13.5px;color:#cfd8d5;margin-bottom:6px}
.rc-bar-head b{font-variant-numeric:tabular-nums}
.rc-bar-track{height:8px;border-radius:99px;background:#ffffff10;overflow:hidden}
.rc-bar-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#9fe05a,var(--hx-accent));transition:width 1s var(--hx-ease)}
.rc-chancen-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.rc-chancen-head .rc-small{max-width:420px}
.rc-chancen .rc-bars{grid-template-columns:repeat(3,1fr);gap:16px 24px}

/* personal plan */
.rc-plan-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:30px;align-items:start;margin-bottom:8px}
.rc-badge{display:inline-flex;margin-left:8px;padding:3px 9px;border-radius:99px;background:#ffffff10;color:#b9c6c6;font-size:10.5px;letter-spacing:.06em;vertical-align:1px}
.rc-badge.is-ai{background:#b8f57324;color:var(--hx-accent)}
.rc-ai label{display:block;font-size:13px;font-weight:600;color:#cfd8d5;margin-bottom:8px}
.rc-ai label span{color:#8fa0a4;font-weight:500}
.rc-ai textarea,.rc-ai select{width:100%;border-radius:14px;border:1px solid #ffffff26;background:#0b1418;color:var(--hx-ink);font:inherit;font-size:14px;padding:12px 14px}
.rc-ai textarea{resize:vertical;min-height:84px}
.rc-ai textarea:focus,.rc-ai select:focus{outline:none;border-color:var(--hx-accent);box-shadow:0 0 0 3px #b8f5731f}
.rc-ai-row{display:flex;gap:10px;margin-top:10px;align-items:center}
.rc-ai-row select{flex:1;min-height:52px}
.rc-ai-row .hx-btn{flex:none;min-height:52px;font-size:14px}
.rc-phases{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:0;position:relative}
.rc-phases>li{position:relative;display:grid;grid-template-columns:170px 1fr;gap:20px;padding:16px 0;border-top:1px solid #ffffff14}
.rc-when{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--hx-accent)}
.rc-phases ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rc-phases ul li{position:relative;padding-left:18px;font-size:15px;line-height:1.55;color:#dfe7e2}
.rc-phases ul li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--hx-accent)}
.rc-plan-extra{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.rc-plan-extra h4{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#b9c6c6;margin-bottom:10px}
.rc-plan-extra ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rc-plan-extra li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.55;color:#cfd8d5}
.rc-plan-extra li::before{content:'•';position:absolute;left:2px;color:#ffc989}
.rc-notes-reply{margin-top:18px;padding:14px 16px;border-radius:14px;border-left:3px solid var(--hx-accent);background:#b8f5730d;font-size:14.5px;line-height:1.6;color:#dfe7e2}
.rc-ai-status{margin-top:14px}
.rc-plan.is-loading .rc-phases,.rc-plan.is-loading [data-r=plan-summary]{opacity:.35;animation:rc-pulse 1.4s ease-in-out infinite}
@keyframes rc-pulse{50%{opacity:.6}}

/* documents */
.rc-docs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* save */
.rc-save-wrap{display:grid;gap:14px}
.rc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:20px 0 6px}
:is(.rc-save,.rc-gate) .field label{display:block;font-size:13px;font-weight:600;color:#cfd8d5;margin-bottom:7px}
:is(.rc-save,.rc-gate) .field label b{color:var(--hx-accent)}
:is(.rc-save,.rc-gate) input:not([type=checkbox]){width:100%;min-height:52px;border-radius:14px;border:1px solid #ffffff26;background:#0b1418;color:var(--hx-ink);font:inherit;font-size:16px;padding:12px 14px}
:is(.rc-save,.rc-gate) input:not([type=checkbox]):focus{outline:none;border-color:var(--hx-accent);box-shadow:0 0 0 3px #b8f5731f}
:is(.rc-save,.rc-gate) .field.invalid input{border-color:#f59585;background:#2a1a1c}
:is(.rc-save,.rc-gate) .err{font-size:12.5px;color:#ffad9e;min-height:1em;margin-top:5px}
:is(.rc-save,.rc-gate) .hp{position:absolute;left:-9999px}
.rc-consent{display:flex;gap:12px;align-items:flex-start;margin:10px 0 4px;font-size:13.5px;line-height:1.55;color:#cfd8d5}
.rc-consent input{width:20px;height:20px;margin-top:1px;accent-color:#b8f573;flex:none}
.rc-consent a{color:var(--hx-accent)}
.rc-save .hx-btn{margin-top:14px}
.rc-save .submit-status{margin-top:14px;padding:12px 14px;border-radius:12px;background:#ffc9891a;color:#ffd9ae;font-size:14px}
.rc-done svg{width:64px;height:64px;margin-bottom:14px}
.rc-done circle{fill:none;stroke:var(--hx-accent);stroke-width:3}
.rc-done path{fill:none;stroke:var(--hx-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.rc-reflink{display:flex;gap:10px;align-items:center;margin:16px 0}
.rc-reflink code{flex:1;min-width:0;padding:12px 14px;border-radius:12px;background:#0b1418;border:1px solid #ffffff22;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-side-actions{display:flex;flex-wrap:wrap;gap:12px 28px}


/* PDF download dialog */
.unified-theme .rc-gate{width:min(580px,calc(100vw - 24px));max-height:calc(100vh - 32px);margin:auto;padding:0;border:0;border-radius:28px;background:transparent;color:var(--hx-ink);overflow:visible}
.rc-gate::backdrop{background:#03070acc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rc-gate[open]{animation:rc-gate-in .45s cubic-bezier(.19,1,.22,1)}
.rc-gate-box{position:relative;max-height:calc(100vh - 32px);overflow-y:auto;padding:clamp(24px,4vw,38px);border-radius:28px;border:1px solid #b8f57340;background:radial-gradient(ellipse 70% 60% at 100% 0%,#b8f5731a,transparent 70%),linear-gradient(160deg,#18262b,#0e171c 70%);box-shadow:0 50px 120px -30px #000}
.rc-gate-box h3{font-family:Manrope,sans-serif;font-size:clamp(22px,2.4vw,28px);font-weight:600;letter-spacing:-.035em;line-height:1.2;margin:2px 40px 10px 0}
.rc-gate-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%!important;border:1px solid #ffffff2a!important;font-size:20px;color:#cfd8d5;transition:border-color .3s,color .3s}
.rc-gate-close:hover{border-color:var(--hx-accent)!important;color:var(--hx-accent)}
.rc-gate .rc-fields{margin:18px 0 4px}
.rc-gate .rc-wide{grid-column:1/-1}
.rc-gate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:16px}
@keyframes rc-gate-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.motion-paused .rc-gate[open]{animation:none}
@media (max-width:600px){.rc-gate .rc-fields{grid-template-columns:1fr}}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .rc-routes{grid-template-columns:1fr 1fr}
  .rc-plan-head{grid-template-columns:1fr}
  .rc-chancen .rc-bars{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .rc-grid{grid-template-columns:1fr}
  .rc-side{position:static;order:2}
  .rc-summary{grid-template-columns:1fr;gap:24px}
  .rc-gauge{width:170px;height:170px;justify-self:start;grid-row:1}
  .rc-gauge b{font-size:44px}
  .rc-two{grid-template-columns:1fr}
  .rc-phases>li{grid-template-columns:1fr;gap:8px}
  .rc-chancen-head{flex-direction:column;align-items:flex-start;gap:8px}
}
@media (max-width:600px){
  .rc-card{min-height:0;border-radius:24px}
  .rc-options,.rc-options.many{grid-template-columns:1fr}
  .rc-option{min-height:58px;padding:12px 14px}
  .rc-routes,.rc-docs,.rc-fields,.rc-plan-extra,.rc-chancen .rc-bars{grid-template-columns:1fr}
  .rc-stats{grid-template-columns:1fr}
  .rc-stats div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .rc-stats dd{margin:0;text-align:right}
  .rc-ai-row{flex-direction:column;align-items:stretch}
  .rc-summary{border-radius:26px}
}

/* ---------- Print / PDF ---------- */
@media print{
  @page{margin:14mm}
  body.immersive{background:#fff!important;color:#111!important}
  .site-header,footer,.rc-hero,#check,.rc-gate,.dock,.to-top,.progress,.rc-save-wrap,.rc-ai,.rc-result-actions,.rc-pace,.ix-section.alt,.cursor,.curtain,body::after{display:none!important}
  .rc-result{display:block!important;padding:0}
  .rc-summary,.rc-panel,.rc-route{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;color:#111!important;break-inside:avoid}
  .rc-summary h2,.rc-panel h3,.rc-route strong,.rc-lead,.rc-why li,.rc-phases ul li,.rc-bar-head,.rc-route-body p,.rc-gap li,.rc-ok li,.rc-docs span{color:#111!important}
  .hx-overline,.hx-result-label,.rc-when{color:#3d6b12!important}
  .rc-gauge .fg,.rc-bar-track i,.rc-fit i{stroke:#3d6b12;background:#3d6b12!important}
  .rc-route-body{display:grid!important}
  .rc-block{margin-top:16px}
  .rc-routes{grid-template-columns:1fr 1fr}
}
.rc-route.is-na{opacity:.42}
.rc-route.is-na .rc-fit{display:none}
