:root{color:#eef2ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 20% 0,#dfc47429,#0000 30rem),linear-gradient(#090b13 0%,#111827 48%,#070a11 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{transition:transform .14s,filter .14s,border-color .14s}button:hover{filter:brightness(1.06);transform:translateY(-1px)}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #7dd3fcb8}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 40px}.hero-panel{grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);align-items:stretch;gap:24px;margin-bottom:24px;display:grid}.hero-copy,.birth-form,.panel,.disclaimer{background:linear-gradient(135deg,#dfc47414,#0000 34%),#0e121edb;border:1px solid #dfc47438;box-shadow:0 20px 60px #00000047}.hero-copy{flex-direction:column;justify-content:center;min-height:280px;padding:34px;display:flex}.eyebrow,.card-kicker,.panel-heading p{color:#dfc474;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:800}.hero-copy h1{color:#f8f2db;margin:0;font-size:clamp(2.8rem,8vw,6.5rem);line-height:.95}.subtitle{color:#fff7d6;margin:16px 0 0;font-size:clamp(1.2rem,3vw,2rem);font-weight:800}.lead{color:#bfc7d8;max-width:720px;margin:18px 0 0;font-size:1rem}.birth-form{flex-direction:column;justify-content:center;gap:14px;padding:24px;display:flex}.birth-form label{color:#f8f2db;font-weight:800}.birth-form-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.birth-form input,.birth-form button{min-height:48px;font:inherit;border:1px solid #ffffff2e;border-radius:8px}.birth-form input{box-sizing:border-box;color:#f8f2db;background:#ffffff12;width:100%;padding:0 14px}.birth-form button{cursor:pointer;color:#16120a;background:linear-gradient(#ffe496,#c8942f);padding:0 16px;font-weight:900}.draw-button{width:100%}.form-note{color:#8f9bb3;margin:0;font-size:.86rem}.result-layout{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:start;gap:24px;display:grid}.generation-card{background:linear-gradient(145deg,#ffe29129,#0000 24%),linear-gradient(315deg,#59bcff29,#0000 30%),#121827;border:1px solid #ffe29170;border-radius:8px;padding:22px;position:sticky;top:18px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,0 24px 80px #0000005c}.generation-card:before{content:"";pointer-events:none;border:1px solid #ffffff14;position:absolute;inset:10px}.rarity-ss,.rarity-s{border-color:#ffe066cc}.rarity-a,.rarity-b{border-color:#90caf9b3}.rarity-d,.rarity-c,.rarity-death{border-color:#f4727299}.card-topline{z-index:1;color:#c7d2e5;justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex;position:relative}.rarity-badge{color:#fff2bb;text-align:center;background:#ffe4961f;border:1px solid #ffe496b8;min-width:60px;padding:6px 10px}.card-header{z-index:1;padding:30px 0 18px;position:relative}.card-header h2,.panel-heading h2{color:#f8f2db;margin:0}.card-header h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1}.card-header p:last-child{color:#9ca8bd;margin:10px 0 0}.attribute-list{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:relative}.attribute-list span,.category-pill{color:#bdeaff;background:#0ea5e91c;border:1px solid #7dd3fc47;font-size:.82rem;font-weight:800}.attribute-list span{padding:6px 10px}.gap-hero{z-index:1;background:#ffe49614;border:1px solid #ffe4963d;margin:20px 0;padding:18px;position:relative}.gap-hero span{color:#dfc474;font-weight:800;display:block}.gap-hero strong{color:#fff7d6;margin-top:6px;font-size:clamp(2.6rem,8vw,4.2rem);line-height:1;display:block}.gap-hero p{color:#bfc7d8;margin:10px 0 0;font-size:.9rem}.job-market{z-index:1;background:#0003;border-left:3px solid #dfc474;margin-bottom:18px;padding:16px;position:relative}.job-market span{color:#94a3b8;font-size:.84rem;font-weight:800;display:block}.job-market strong{color:#f8f2db;margin-top:4px;font-size:1.35rem;display:block}.job-market p{color:#bfc7d8;margin:8px 0 0}.life-condition-grid,.money-grid,.status-grid{z-index:1;gap:10px;margin-bottom:18px;display:grid;position:relative}.life-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.life-condition-grid div,.money-stat,.status-chip{background:#ffffff0b;border:1px solid #ffffff17;padding:12px}.life-condition-grid span,.money-stat span,.status-chip span{color:#94a3b8;font-size:.78rem;font-weight:800;display:block}.life-condition-grid strong,.money-stat strong,.status-chip strong{color:#fff2bb;margin-top:4px;display:block}.life-condition-grid p{color:#bfc7d8;margin:8px 0 0;font-size:.84rem}.money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.money-stat strong{font-size:1.16rem}.money-negative strong{color:#fecaca}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.status-chip strong{font-size:1rem}.status-優遇 strong{color:#b7fff4}.status-厳しい strong,.status-詰み寄り strong{color:#fecaca}.side-stack{gap:24px;display:grid}.panel{padding:24px}.panel-heading{margin-bottom:18px}.panel-heading-row{justify-content:space-between;align-items:start;gap:16px;display:flex}.reroll-button{cursor:pointer;color:#fff2bb;background:#ffe4961a;border:1px solid #ffe4965c;border-radius:8px;min-height:38px;padding:0 12px;font-weight:800}.timeline-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.route-list,.future-risk-list{gap:10px;display:grid}.route-list article,.future-risk-list article{background:#ffffff0b;border:1px solid #ffffff17;padding:12px}.route-list div{justify-content:space-between;align-items:center;gap:10px;display:flex}.route-list strong,.future-risk-list strong{color:#f4f7fb}.route-list span,.future-risk-list span{color:#fff2bb;font-size:.82rem;font-weight:900}.route-list p,.future-risk-list p{color:#bfc7d8;margin:8px 0 0}.future-heading{margin-top:22px}.timeline-list li{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:12px;display:grid}.timeline-age{color:#fff2bb;text-align:right;font-weight:900}.timeline-body{background:#ffffff0b;border:1px solid #ffffff17;padding:12px}.timeline-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-title-row strong{color:#f4f7fb}.category-pill{padding:3px 7px}.impact-positive{color:#b7fff4;background:#14b8a61f;border-color:#5eead461}.impact-negative{color:#fecaca;background:#ef44441f;border-color:#f871716b}.impact-mixed{color:#fde68a;background:#f59e0b1f;border-color:#fbbf2466}.timeline-body p,.flavor-panel p,.disclaimer p{color:#bfc7d8;margin:8px 0 0}.flavor-panel p{line-height:1.8}.flavor-panel p+p{margin-top:14px}.pickup-events{border-top:1px solid #ffffff1a;margin-top:20px;padding-top:18px}.pickup-events h3{color:#fff2bb;margin:0 0 10px;font-size:1rem}.pickup-grid{flex-wrap:wrap;gap:8px;display:flex}.pickup-grid span{color:#dff6ff;background:#0ea5e917;border:1px solid #7dd3fc3d;padding:6px 9px;font-size:.86rem;font-weight:800}.disclaimer{margin-top:24px;padding:18px 20px}.disclaimer strong{color:#fff2bb}@media (width<=860px){.app-shell{width:min(100% - 20px,1180px);padding:10px 0 28px}.hero-panel,.result-layout{grid-template-columns:1fr}.hero-copy,.birth-form,.panel{padding:18px}.hero-copy{min-height:auto}.birth-form-row{grid-template-columns:1fr}.panel-heading-row{flex-direction:column}.reroll-button{width:100%}.generation-card{padding:18px;position:static}.life-condition-grid,.money-grid,.status-grid{grid-template-columns:1fr}.timeline-list li{grid-template-columns:48px minmax(0,1fr)}}
