:root{color-scheme:light;--bg: #f7f3ea;--surface: #fffdf8;--surface-strong: #f1ebdf;--text: #302b24;--muted: #716a5e;--border: #ddd5c5;--primary: #315f54;--primary-2: #4f8f76;--warning: #a77628;--danger: #9a4b42;--info: #496f91;--shadow: 0 18px 50px rgba(43, 36, 27, .12);--radius: 8px}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65}body{margin:0;min-width:320px;min-height:100dvh}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.site-header,.site-footer{border-color:var(--border)}.site-header{border-bottom:1px solid var(--border);background:#f7f3eae0;backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.nav{align-items:center;display:flex;gap:22px;justify-content:space-between;margin:0 auto;max-width:1180px;padding:14px 20px}.brand{font-weight:800;text-decoration:none}.nav-links,.footer-links{display:flex;flex-wrap:wrap;gap:14px;list-style:none;margin:0;padding:0}.nav-links a,.footer-links a{color:var(--muted);font-size:.92rem;text-decoration:none}.site-footer{border-top:1px solid var(--border);margin-top:72px;padding:28px 20px 40px;text-align:center}.site-footer p{color:var(--muted);font-size:.82rem;margin:16px 0 0}.content-page{margin:0 auto;max-width:860px;padding:56px 20px 20px}.content-page h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;margin:0 0 18px}.content-page h2{border-top:1px solid var(--border);margin-top:36px;padding-top:28px}.content-page p,.content-page li{color:var(--muted)}.home-shell{margin:0 auto;max-width:1180px;padding:28px 20px}.hero{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 160px);max-width:780px}.hero h1{font-size:clamp(3rem,9vw,6.8rem);letter-spacing:0;line-height:.96;margin:0;max-width:100%;overflow-wrap:anywhere}.hero p{color:var(--muted);font-size:1.05rem;max-width:680px}.hero-sub{color:var(--text)!important;font-size:clamp(1.35rem,3vw,2.1rem)!important;font-weight:700;line-height:1.35}.notice,.warning-box{border-left:3px solid var(--warning);color:var(--muted);background:#fffdf899;padding:12px 16px}.actions,.inline-actions,.navigation{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.primary,.secondary,.text-button,.scenario{border-radius:var(--radius);min-height:44px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.primary{background:var(--primary);border:1px solid var(--primary);color:#fffdf8;font-weight:700;padding:10px 18px}.secondary{background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:700;padding:10px 16px}.text-button{background:transparent;border:0;color:var(--muted);padding:8px 4px;text-decoration:underline;text-underline-offset:4px}.danger{color:var(--danger)}.primary:hover,.secondary:hover,.scenario:hover{transform:translateY(-1px)}.privacy-line,.muted{color:var(--muted);font-size:.9rem}.concept-card{background:#fffdf8b8;border:1px solid var(--border);border-radius:var(--radius);margin:-12px 0 48px;max-width:820px;padding:clamp(18px,4vw,30px)}.concept-card h2{font-size:clamp(1.35rem,3vw,2rem);line-height:1.3;margin:0 0 12px}.concept-card p{color:var(--muted);margin:10px 0 0}.support-links{background:#fffdf89e;border:1px solid var(--border);border-radius:var(--radius);margin:0 auto 24px;max-width:980px;padding:clamp(16px,3vw,24px);text-align:left}.support-copy{margin:0 auto;max-width:760px;text-align:center}.support-pr{color:var(--muted);display:inline-block;font-size:.74rem;font-weight:800;margin-bottom:2px}.support-copy h2{font-size:1.1rem;margin:0}.support-copy p,.support-empty{color:var(--muted);font-size:.9rem;margin:8px auto 0;max-width:760px}.support-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:18px 0 0;padding:0}.support-grid a{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);display:flex;gap:10px;min-height:96px;padding:10px;text-decoration:none}.support-grid img{border-radius:6px;height:56px;object-fit:cover;width:56px}.support-grid span{display:flex;flex-direction:column;gap:2px;min-width:0}.support-grid small,.support-grid em{color:var(--muted);font-size:.74rem;font-style:normal}.support-grid strong{display:block;font-size:.9rem;line-height:1.4}.support-grid .support-title{display:-webkit-box;font-size:.7rem;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.support-grid .support-label{color:var(--primary);font-weight:800}.simulator-shell{margin:0 auto;max-width:1180px;padding:24px 20px calc(96px + env(safe-area-inset-bottom))}.workspace{align-items:flex-start;display:grid;gap:28px;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr)}.wizard,.results{min-width:0}.results{max-width:100%;overflow-x:hidden}.stepper{display:flex;gap:10px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.stepper button{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);flex:0 0 38px;font-weight:800}.stepper button.active{background:var(--primary);border-color:var(--primary);color:#fff}.panel,.preview-card,.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{max-width:100%;min-width:0;padding:clamp(18px,4vw,30px)}.panel h2,.preview-card h2,.result-heading h2{line-height:1.24;margin:0}.step-text{color:var(--muted);margin-bottom:24px}.eyebrow{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.field-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.field,.stack{display:flex;flex-direction:column;gap:8px}.field>span,.field-top span{font-weight:800}.field em{color:var(--muted);font-size:.82rem;font-style:normal}.input-row{align-items:center;display:flex;gap:8px}.clearable-row{position:relative}.full-row{width:100%}.clearable-input-wrap{flex:1;max-width:160px;min-width:0;position:relative}.full-row .clearable-input-wrap{max-width:none;width:100%}input,select{background:#fffefb;border:1px solid var(--border);border-radius:7px;color:var(--text);min-height:42px;padding:8px 10px;width:100%}input[type=range]{accent-color:var(--primary-2);min-height:auto;padding:0}.input-row input{max-width:160px}.clearable-input-wrap input{max-width:none;padding-right:42px}.input-row small{color:var(--muted);min-width:42px}.clear-field{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--muted);display:inline-flex;height:30px;justify-content:center;line-height:1;padding:0;position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px}.clear-field svg{fill:none;height:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2;width:16px}.clear-field:hover{background:var(--surface-strong);color:var(--danger)}.field-top{align-items:center;display:flex;justify-content:space-between}.slider-field{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.navigation{border-top:1px solid var(--border);justify-content:space-between;margin-top:26px;padding-top:18px}.desktop-preview{position:sticky;top:86px}.mobile-preview{display:none;margin-bottom:18px}.mobile-preview-bar{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:2px;padding:10px 12px}.mobile-preview-bar strong{color:var(--primary);line-height:1.35}.mobile-preview-bar span{color:var(--muted);font-size:.86rem}.preview-card{padding:22px}.preview-card.compact{box-shadow:none;padding:16px}.rank-row{align-items:center;display:flex;gap:18px}.rank{align-items:center;border-radius:999px;display:inline-flex;flex:0 0 76px;font-size:3rem;font-weight:900;height:76px;justify-content:center}.rank-s,.rank-a{background:#d9eadf;color:#225a49}.rank-b{background:#e8dfc9;color:#7a5a1f}.rank-c,.rank-d{background:#efd8c9;color:#8a4c2b}.rank-e{background:#edd4d0;color:#8d332d}.mini-metrics,.metrics-grid{display:grid;gap:12px}.mini-metrics{margin:20px 0 0}.mini-metrics div{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:10px}dt{color:var(--muted);font-size:.9rem}dd{font-weight:800;margin:0}.nudge{background:var(--surface-strong);border-radius:var(--radius);color:var(--muted);margin:18px 0 0;padding:10px 12px}.results{display:grid;gap:20px;margin-top:34px}.result-heading{max-width:760px}.result-heading p{color:var(--muted)}.result-rank-card{background:linear-gradient(135deg,#fffdf8,#eef4ee);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;padding:clamp(22px,5vw,40px);position:relative}.result-rank-card:after{background:#315f5414;border-radius:999px;content:"";height:220px;position:absolute;right:-72px;top:-96px;width:220px}.result-rank-layout{align-items:center;display:flex;gap:clamp(18px,4vw,32px);position:relative;z-index:1}.result-rank-layout h2{font-size:clamp(1.8rem,5vw,3.2rem);line-height:1.1;margin:0}.result-rank-layout p{color:var(--muted);font-size:1.08rem;margin:12px 0 0}.result-rank{flex-basis:clamp(88px,16vw,132px);font-size:clamp(3.6rem,9vw,5.6rem);height:clamp(88px,16vw,132px)}.result-highlights{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;position:relative;z-index:1}.section-kicker{color:var(--muted);font-size:.88rem;margin:0}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{box-shadow:none;padding:16px}.metric-card dd{font-size:1.25rem;margin-top:4px}.warning-box p{margin:0}.warning-box p+p{margin-top:8px}.chart-panel{min-width:0}.chart-frame{height:430px;margin-top:18px;width:100%}.scenario-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.scenario{background:var(--surface);border:1px solid var(--border);color:var(--text);display:flex;flex-direction:column;gap:4px;min-height:86px;padding:14px;text-align:left}.scenario.active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.scenario span,.scenario-result{color:var(--muted);font-size:.9rem}.advice-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.advice-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.advice-card strong{display:block;margin-bottom:4px}.advice-card p,.advice-card span{color:var(--muted);display:block;font-size:.9rem;margin:6px 0 0}.panel-heading-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.panel-heading-row h2{margin:0}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);margin-top:18px;max-height:560px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;width:100%}.monthly-table{border-collapse:collapse;font-size:.78rem;min-width:2400px;width:max-content}.monthly-table th,.monthly-table td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:right;white-space:nowrap}.monthly-table th{background:var(--surface-strong);color:var(--muted);font-weight:800;position:sticky;top:0;z-index:1}.monthly-table th:first-child,.monthly-table td:first-child{left:0;position:sticky;text-align:left}.monthly-table th:first-child{z-index:2}.monthly-table td:first-child{background:var(--surface)}.event-card{border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.privacy-panel p{color:var(--muted)}@media(max-width:920px){.workspace{grid-template-columns:1fr}.desktop-preview{display:none}.mobile-preview{display:block;position:static}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-highlights,.advice-grid{grid-template-columns:1fr}.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.nav{align-items:flex-start;flex-direction:column}.hero{min-height:auto;padding:42px 0}.hero h1{font-size:2.35rem;line-height:1.08}.field-grid,.scenario-grid,.event-card,.metrics-grid{grid-template-columns:1fr}.rank{flex-basis:58px;font-size:2.2rem;height:58px}.rank-row{align-items:flex-start}.result-rank-layout{align-items:flex-start;flex-direction:column}.chart-frame{height:340px}.input-row input{flex:1;max-width:none}.clearable-input-wrap{max-width:none}.support-grid{grid-template-columns:1fr}.panel-heading-row{flex-direction:column}}
