.portal-page{--glass-bg:hsla(0,0%,100%,.55);--glass-border:hsla(0,0%,100%,.75);--glass-shadow:0 8px 30px hsla(20,29%,59%,.08);--glass-shadow-hover:0 16px 40px hsla(20,29%,59%,.12);--surface-solid:hsla(0,0%,100%,.85);--surface-border:hsla(0,0%,100%,.8);--shadow-md:0 8px 30px hsla(20,29%,59%,.08);--shadow-xl:0 16px 40px hsla(20,29%,59%,.12);--radius:1.5rem;--text-mute:var(--color-text-muted);--text-soft:var(--color-text-secondary);--text-body:var(--color-text-primary);--text-strong:var(--color-text-primary);--error:#dc2626;--error-bg:hsla(0,93%,94%,.6);--gold:var(--color-accent);--bg-elev-2:#f8fafc;--radius-sm:8px;--transition:300ms ease}.break-keep{word-break:keep-all;overflow-wrap:normal}.lede-warning{line-height:1.75;letter-spacing:.025em}.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}.form-actions .primary{flex:1 1 200px}.form-actions .ghost{flex:1 1 220px}.sixteen-main-title{font-family:var(--font-serif,"Shippori Mincho",serif);font-size:18px;font-weight:600;color:var(--accent);margin:0 0 20px;letter-spacing:.1em}.type-card{margin-bottom:28px;padding:20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-shadow)}.type-card:last-of-type{margin-bottom:16px}.type-card-title{font-family:var(--font-serif,"Shippori Mincho",serif);font-size:17px;font-weight:600;margin:0 0 12px;line-height:1.45;letter-spacing:.1em}.type-card-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.type-card-headline{font-size:15px;font-weight:600;color:var(--accent);margin:0 0 12px;line-height:1.5;letter-spacing:.025em}.type-card-body{margin-bottom:16px}.gap-essence{margin:0;line-height:1.65;padding-top:12px;border-top:1px dashed var(--border)}.gap-essence,.meta-line{font-size:15px;color:var(--text-mute);letter-spacing:.025em}.meta-line{margin:8px 0 0;line-height:1.6}.portal-page .card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);padding:32px;margin-bottom:32px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-shadow)}.portal-page .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.portal-page .field{display:flex;flex-direction:column;gap:6px}.portal-page .field.span-2{grid-column:1/-1}.portal-page .card.hidden,.portal-page .field.hidden{display:none}.portal-page .label{font-size:15px;font-weight:600;color:var(--text-mute);letter-spacing:.025em}.portal-page .label em{color:var(--accent);font-style:normal;margin-left:6px;font-weight:400;font-size:13px}.portal-page .hint{color:var(--text-mute);font-size:15px;line-height:1.5;letter-spacing:.025em}.portal-page .inline-check{flex-direction:row;align-items:center;gap:10px;font-size:15px;color:var(--text);cursor:pointer;padding:10px 12px;background:hsla(0,0%,100%,.8);border:1px solid var(--border);border-radius:8px;letter-spacing:.025em}.portal-page .inline-check input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.portal-page #asc-fallback-field{border:1px solid hsla(34,42%,64%,.35);border-radius:var(--radius);padding:16px 18px 18px;background:var(--accent-soft);margin:0}.portal-page #asc-fallback-field legend{padding:0 8px;font-size:15px}.portal-page .asc-fallback-question{margin:6px 0 14px;font-size:15px;color:var(--text);line-height:1.7;letter-spacing:.025em}.portal-page .radio-group{display:flex;flex-direction:column;gap:8px}.portal-page .radio-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:hsla(0,0%,100%,.85);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:15px;line-height:1.55;letter-spacing:.025em;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.portal-page .radio-option:hover{border-color:var(--accent-hover,#ca8a04);background:hsla(0,0%,100%,.95);box-shadow:var(--glass-shadow)}.portal-page .radio-option input[type=radio]{accent-color:var(--accent);margin-top:3px;flex-shrink:0}.portal-page .radio-option input[type=radio]:checked+span{color:var(--accent);font-weight:600}.portal-page input[type=date],.portal-page input[type=text],.portal-page input[type=time],.portal-page select,.portal-page textarea{background-color:hsla(0,0%,100%,.8);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.portal-page input:focus,.portal-page select:focus,.portal-page textarea:focus{outline:none;border-color:#d6d3d1;box-shadow:0 0 0 1px rgba(161,98,7,.25);background-color:hsla(0,0%,100%,.95)}.portal-page select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-mute) 50%),linear-gradient(-45deg,transparent 50%,var(--text-mute) 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}.portal-page button.primary{background:linear-gradient(90deg,#d4b896,#c9a87c 50%,#b8846a);color:#fff;font-weight:600;width:100%;margin-top:28px;letter-spacing:.025em;box-shadow:var(--glass-shadow);border:none;border-radius:999px;padding:12px 20px;font-size:15px;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),filter var(--transition),opacity var(--transition)}.portal-page button.primary:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 8px 28px hsla(34,42%,64%,.35)}.portal-page button.primary:disabled{opacity:.5;cursor:not-allowed}.portal-page button.ghost{background:transparent;color:var(--text-mute);border:1px solid var(--border);border-radius:8px;padding:12px 20px;font-size:15px;cursor:pointer;letter-spacing:.025em}.portal-page button.ghost:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.portal-page #loading{text-align:center;padding:40px 20px}.portal-page .spinner{width:36px;height:36px;margin:0 auto 16px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:portal-spin 1s linear infinite}@keyframes portal-spin{to{transform:rotate(1turn)}}.portal-page .loading-text{color:var(--text-mute);margin:0;font-size:15px;line-height:1.8;letter-spacing:.025em}.portal-page .error{border-color:var(--error);color:var(--error);background:var(--error-bg);white-space:pre-wrap;font-size:15px;line-height:1.7}.portal-page .chip{display:inline-block;padding:4px 12px;border-radius:999px;font-size:15px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);letter-spacing:.025em}.portal-page .chip.subtle{background:transparent;color:var(--text-mute);border-color:var(--border)}.portal-page .prose{color:var(--text);line-height:1.85}.portal-page .share-block{margin:8px 0 28px;padding:22px 20px;text-align:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-shadow)}.portal-page .share-lead{margin:0 0 14px;font-size:15px;color:var(--text-mute);letter-spacing:.025em}.portal-page .x-share{display:inline-flex;align-items:center;gap:10px;background:#000;color:#fff;border:1px solid #2a2a2a;font-weight:700;font-size:15px;padding:14px 28px;border-radius:999px;letter-spacing:.025em;box-shadow:0 4px 14px rgba(0,0,0,.45);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.portal-page .x-share:hover{transform:translateY(-1px);background:#111}.portal-page .cta-section{position:relative;margin:32px 0 8px;padding:28px 24px 26px;background:linear-gradient(180deg,hsla(0,0%,100%,.85),hsla(48,96%,89%,.35));border:1px solid hsla(34,42%,64%,.35);border-radius:var(--radius);box-shadow:var(--glass-shadow);overflow:hidden}.portal-page .cta-badge{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.22em;color:var(--accent);background:var(--accent-soft);border:1px solid hsla(34,42%,64%,.45);border-radius:4px;padding:3px 10px;margin-bottom:14px}.portal-page .cta-title{font-family:var(--font-serif,"Shippori Mincho",serif);margin:0 0 14px;font-size:19px;font-weight:700;color:var(--accent);letter-spacing:.1em;line-height:1.5}.portal-page .cta-body{margin:0 0 22px;font-size:15px;line-height:1.95;color:var(--text);letter-spacing:.025em}.portal-page .cta-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 22px;font-size:15px;font-weight:700;letter-spacing:.025em;color:#fff;background:linear-gradient(90deg,#c2410c,#ea580c);border:1px solid rgba(234,88,12,.45);border-radius:10px;text-decoration:none;box-shadow:0 4px 14px rgba(217,119,6,.25);transition:transform var(--transition),box-shadow var(--transition),filter var(--transition)}.portal-page .cta-button:hover{transform:translateY(-2px);filter:brightness(1.03)}.portal-page .cta-sub{margin-top:12px;font-size:15px;color:var(--text-mute);text-align:center;letter-spacing:.025em}.portal-page .accuracy-notice{margin:0 0 20px;padding:12px 14px;font-size:15px;line-height:1.6;color:var(--text-soft);background:var(--accent-soft);border:1px solid hsla(34,42%,64%,.35);border-radius:var(--radius-sm);letter-spacing:.025em}.portal-page .result-actions{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap}.portal-page .path-panel-title{margin:0 0 16px;letter-spacing:.1em}.portal-page .path-panel-lede{font-size:15px;color:var(--text-mute);margin:0 0 28px;line-height:1.75;letter-spacing:.025em}.portal-page .path-card-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.portal-page .path-card{display:flex;flex-direction:column;gap:12px;min-height:100%;padding:0 0 20px;overflow:hidden;background:var(--surface-solid);border:1px solid var(--surface-border);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;color:var(--text);box-shadow:var(--shadow-md);transition:transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease}.portal-page .path-card-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:rgba(253,244,246,.6)}.portal-page .path-card-image{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition)}.portal-page .path-card-arrow,.portal-page .path-card-label,.portal-page .path-card-tag{margin-left:22px;margin-right:22px}.portal-page .path-card:hover{transform:translateY(-4px);border-color:hsla(34,42%,64%,.35);box-shadow:var(--shadow-xl)}.portal-page .path-card-label{font-size:15px;font-weight:600;line-height:1.75;color:var(--text-body);letter-spacing:.025em}.portal-page .path-card-tag{display:inline-block;align-self:flex-start;font-size:15px;font-weight:500;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid hsla(34,42%,64%,.3);letter-spacing:.025em}.portal-page .path-card-arrow{margin-top:auto;align-self:flex-end;font-size:18px;color:var(--accent);line-height:1}.portal-page .path-panel-diagnosis{margin-top:16px}.portal-page .path-panel-diagnosis .path-panel-title{font-size:17px;line-height:1.45}.portal-page .path-panel-diagnosis .lede-warning{margin:0 0 20px;max-width:none;padding:12px 18px;font-size:15px;color:#92400e;background:hsla(48,96%,89%,.7);border:1px solid hsla(34,42%,64%,.45);border-radius:8px}.portal-page:has(#loading:not(.hidden)) #portal-entry,.portal-page:has(#sixteen-result:not(.hidden)) #portal-entry{display:none}.portal-page .review-banner{margin-top:64px;margin-bottom:16px;padding:40px 32px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:center;box-shadow:var(--glass-shadow)}.portal-page .review-banner-title{font-family:var(--font-serif,"Shippori Mincho",serif);font-size:18px;font-weight:700;color:var(--text);margin:0 0 14px;line-height:1.55;letter-spacing:.1em}.portal-page .review-banner-lede{font-size:15px;color:var(--text-mute);margin:0 0 20px;line-height:1.75;letter-spacing:.025em}.portal-page .review-banner-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;color:#fff;background:linear-gradient(90deg,#d4b896,#c9a87c 50%,#b8846a);border:1px solid hsla(34,42%,64%,.4);border-radius:999px;letter-spacing:.025em;box-shadow:var(--glass-shadow);transition:transform var(--transition),box-shadow var(--transition),filter var(--transition)}.portal-page .review-banner-cta:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 8px 28px hsla(34,42%,64%,.35)}.portal-page .legal{margin-top:56px;font-size:15px;line-height:1.75;letter-spacing:.025em;color:var(--text-mute);text-align:center;padding:24px 0;border-top:1px solid var(--border)}.geo-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1000;max-width:min(420px,calc(100vw - 32px));padding:14px 20px;font-size:15px;line-height:1.6;color:#92400e;background:hsla(0,0%,100%,.92);border:1px solid hsla(34,42%,64%,.5);border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.area-action-btn-spinner{width:18px;height:18px;border:2px solid rgba(146,64,14,.25);border-top:2px solid var(--accent);border-radius:50%;animation:portal-spin .8s linear infinite;flex-shrink:0}#nearby-search-btn.is-loading .area-action-btn-icon-pin{display:none}#nearby-search-btn.is-loading .area-action-btn-spinner{display:block}@media (max-width:600px){.portal-page .card{padding:24px}.portal-page .grid{grid-template-columns:1fr;gap:16px}.portal-page .field.span-2{grid-column:auto}.portal-page .path-card-list{grid-template-columns:1fr}}