:root{--ink:#1c2530;--ink-soft:#6b7684;--ink-faint:#9aa4af;--cream:#f4f8fd;--paper:#ffffff;--line:#e6e9ee;--blue:#1f6fb2;--blue-soft:#eaf2fb;--blue-deep:#0c447c;--red:#d64c47;--red-soft:#fdeceb;--red-deep:#a32d2d;--blue-pastel:#5ba8f5;--purple:#8e7be5;--purple-soft:#f2effd;--purple-deep:#6a56c9;--mint:#33b79b;--mint-soft:#e8f8f3;--mint-deep:#1f8571;--lemon:#f5c84b;--lemon-soft:#fff6dc;--rank-s:#cfa227;--rank-s-soft:#fbf1d4;--rank-a:#d13570;--rank-a-soft:#fdeff5;--rank-b:#3d87d6;--rank-b-soft:#edf5fe;--rank-c:#239a81;--rank-c-soft:#e8f8f3;--rank-d:#8a7d96;--rank-d-soft:#f1eef3;--me-pink:#ea4c89;--me-pink-soft:rgba(234,76,137,0.2);--gold-line:var(--rank-s);--blue-pastel-soft:rgba(91,168,245,0.14);--chart-grid:#f0e6ec;--chart-axis-label:var(--rank-d);--chart-label-dark:#4a3b52;--chart-bar-muted:#dce8f5;--r-lg:20px;--r-md:16px;--r-sm:12px;--shadow:0 6px 22px rgba(20,60,110,0.1);--shadow-sm:0 3px 12px rgba(20,60,110,0.08);--page-max:480px;--header-h:60px;--fs-display:34px;--fs-hero:24px;--fs-h1:19px;--fs-title:15px;--fs-body:13.5px;--fs-label:12px;--fs-caption:11px;--fs-micro:10px;--lh-tight:1.35;--lh-body:1.75;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-choice:12px;--dur-fast:150ms;--dur-base:200ms;--dur-slow:300ms;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--press-scale:0.97;--focus-ring:0 0 0 3px rgba(31,111,178,0.35)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--blue-soft) 0,var(--cream) 22%);line-height:1.75;-webkit-font-smoothing:antialiased;min-height:100vh}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-logo .brand,.card-title,.rank-badge,.stat-big,h1,h2,h3{font-family:var(--font-display)}a{color:var(--blue-deep);text-decoration:none}button{font-family:inherit}.page{max-width:var(--page-max);margin:0 auto;padding:16px 16px calc(72px + env(safe-area-inset-bottom, 0px));min-height:100vh;position:relative}.page-wide-bg{min-height:100vh;background:linear-gradient(180deg,var(--blue-soft) 0,var(--cream) 22%)}.demo-banner{max-width:var(--page-max);margin:0 auto;background:var(--lemon-soft);color:#8a6d1f;text-align:center;padding:7px 12px;letter-spacing:.02em}.demo-banner,.info-banner{font-size:12px;font-weight:700}.info-banner{background:var(--blue-soft);color:var(--blue-deep);padding:10px 14px;border-radius:var(--r-sm);margin-bottom:14px;line-height:1.7}.app-header{max-width:var(--page-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 10px}.app-logo{display:flex;flex-direction:column;line-height:1.3;flex:0 0 auto;white-space:nowrap}.app-header .app-logo{flex-direction:row;align-items:center;gap:var(--sp-2);min-width:0}.app-header:has(.app-account) .app-logo-divider,.app-header:has(.app-account) .app-logo-page{display:none}.app-header:has(.app-account) .app-account{flex:0 1 auto;min-width:0}.app-logo-divider{width:1.5px;height:22px;border-radius:999px;background:var(--line);flex:0 0 auto}.app-logo-page{font-family:var(--font-display,"M PLUS Rounded 1c"),sans-serif;font-size:19px;color:var(--ink);line-height:1}.app-logo .brand,.app-logo-page{font-weight:800;letter-spacing:.02em;white-space:nowrap}.app-logo .brand{font-size:13px;color:var(--blue-deep)}.app-logo .sub{font-size:10.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.04em;white-space:nowrap}.app-account{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin:0}.app-account-label{font-size:10.5px;max-width:96px;overflow:hidden;text-overflow:ellipsis}.app-account-label,.app-account-logout{color:var(--ink-soft);white-space:nowrap}.app-account-logout{font-family:inherit;font-size:11px;font-weight:700;background:transparent;border:1.5px solid var(--line);border-radius:999px;padding:5px 10px;cursor:pointer}.app-account-logout:hover{background:var(--blue-soft);color:var(--blue-deep)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;max-width:var(--page-max);margin:0 auto;height:56px;padding-bottom:env(safe-area-inset-bottom,0);background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(20,60,110,.06)}.bottom-nav-item{flex:1 1 20%;flex-direction:column;gap:2px;height:56px;color:var(--ink-soft);text-decoration:none}.bottom-nav-icon,.bottom-nav-item{display:flex;align-items:center;justify-content:center}.bottom-nav-icon{width:24px;height:24px}.bottom-nav-label{font-size:10.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.bottom-nav-item.active{color:var(--blue-deep)}.bottom-nav-item.active .bottom-nav-label{font-weight:800}body:has(input:focus,textarea:focus,select:focus) .bottom-nav{display:none}.card{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-5) var(--sp-4);margin-bottom:var(--sp-4)}.card-title{font-size:var(--fs-title);font-weight:800;color:var(--ink);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2)}.card-sub{font-size:var(--fs-body);color:var(--ink-soft);margin-top:var(--sp-1);line-height:var(--lh-body)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;min-height:48px;font-weight:800;font-size:15px;border:none;border-radius:999px;padding:13px 20px;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:scale(var(--press-scale))}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(234,76,137,.28)}.btn-primary:hover{background:var(--red-deep)}.btn-primary:active{box-shadow:0 3px 10px rgba(234,76,137,.24)}.btn-primary:focus-visible{box-shadow:0 8px 20px rgba(234,76,137,.28),var(--focus-ring)}.btn-secondary{background:var(--blue-soft);color:var(--blue-deep);box-shadow:none}.btn-secondary:hover{background:#dff0ff}.btn-secondary:active{background:#d3e8fb}.btn-ghost{background:transparent;color:var(--ink-soft);box-shadow:none;border:1.5px solid var(--line)}.btn-ghost:active{background:var(--cream)}.btn-danger{background:var(--paper);color:#c94141;border:1.5px solid #f3d3d3;box-shadow:none}.btn-danger.is-armed{border:2px solid #e2a3a3;box-shadow:0 2px 10px rgba(201,65,65,.16)}.btn-sm{min-height:44px;padding:10px 16px;font-size:13px;width:auto}.btn[disabled]{opacity:.55;cursor:default;transform:none}.app-account-logout,.bottom-nav-item,.ct-toggle,.edit-cat-head,.edit-opt,.intent-option{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.app-account-logout:active,.bottom-nav-item:active,.ct-toggle:active,.edit-cat-head:active,.edit-opt:active,.intent-option:active{transform:scale(var(--press-scale))}.app-account-logout:focus-visible,.bottom-nav-item:focus-visible,.ct-toggle:focus-visible,.edit-cat-head:focus-visible,.edit-opt:focus-visible,.home-recent-link:focus-visible,.intent-option:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}a.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app-account-logout,.edit-cat-head{min-height:44px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;font-size:26px;font-weight:800;font-family:inherit;flex-shrink:0}.rank-badge.size-sm{width:36px;height:36px;font-size:16px}.rank-S{background:var(--rank-s-soft);color:var(--rank-s)}.rank-A{background:var(--rank-a-soft);color:var(--rank-a)}.rank-B{background:var(--rank-b-soft);color:var(--rank-b)}.rank-C{background:var(--rank-c-soft);color:var(--rank-c)}.rank-D{background:var(--rank-d-soft);color:var(--rank-d)}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-caption);font-weight:800;border-radius:999px;padding:6px 13px;white-space:nowrap}.chip-blue{background:var(--blue-soft);color:var(--blue-deep)}.chip-red{background:var(--red-soft);color:var(--red-deep)}.chip-mint{background:var(--mint-soft);color:#1f8571}.chip-lemon{background:var(--lemon-soft);color:#8a6d1f}.chip-gray{background:var(--rank-d-soft);color:var(--ink-soft)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-red{background:var(--red)}.dot-lemon{background:var(--lemon)}.dot-gray{background:var(--ink-faint)}.stat-big{font-size:var(--fs-display);font-weight:800;color:var(--ink);line-height:1.2}.stat-label{font-size:var(--fs-label);font-weight:700;color:var(--ink-soft);margin-bottom:var(--sp-1)}.stat-row{display:flex;gap:10px}.stat-cell{flex:1 1;background:var(--blue-soft);border-radius:var(--r-md);padding:12px 14px}.stat-cell.alt{background:var(--red-soft)}.progress-track{height:12px;background:var(--line);border-radius:999px;overflow:hidden;margin:10px 0 6px}.progress-bar{height:100%;background:linear-gradient(90deg,var(--blue-pastel),var(--blue-deep));border-radius:999px;min-width:8px;transform-origin:left;animation:progress-fill-in .25s ease-out}@keyframes progress-fill-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.progress-note{font-size:12px;font-weight:700;color:var(--ink-soft);display:flex;justify-content:space-between}.field{margin-bottom:16px}.field label{display:block;font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:6px}.field input[type=email],.field input[type=number],.field input[type=text],.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;background:var(--paper)}.field textarea{resize:vertical;font-weight:500}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.field-help{font-size:11.5px;color:var(--ink-soft);margin-top:5px}.intent-options{display:flex;flex-direction:column;gap:10px}.intent-option{display:flex;align-items:flex-start;gap:12px;border:2px solid var(--line);border-radius:var(--r-md);padding:14px;cursor:pointer;background:var(--paper);text-align:left;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.intent-option.selected{border-color:var(--blue);background:var(--blue-soft)}.intent-option .emoji{font-size:22px;line-height:1}.intent-option .label{font-size:14.5px;font-weight:800;color:var(--ink)}.intent-option .desc{font-size:12px;color:var(--ink-soft);margin-top:3px;line-height:1.7}.intent-option .intent-result-note{font-size:11.5px;font-weight:700;color:var(--blue-deep);margin-top:6px;line-height:1.6}.reco-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.reco-item:last-child{border-bottom:none}.reco-num{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:var(--mint-soft);color:#1f8571;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}.reco-body .reco-title{font-size:13.5px;font-weight:800;color:var(--ink)}.reco-body .reco-comment{font-size:12px;color:var(--ink-soft);margin-top:3px;line-height:1.75}.cat-list{display:flex;flex-direction:column;gap:8px}.cat-row{display:flex;align-items:center;gap:10px}.cat-row .cat-name{flex:0 0 108px;font-size:11.5px;font-weight:700;color:var(--ink-soft)}.cat-row .cat-bar-track{flex:1 1;height:9px;background:var(--line);border-radius:999px;overflow:hidden}.cat-row .cat-bar{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--blue-pastel));border-radius:999px}.cat-row .cat-score{flex:0 0 30px;text-align:right;font-size:12px;font-weight:800;color:var(--ink)}.summary-section+.summary-section{margin-top:16px}.summary-group-title{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:8px}.summary-list{display:flex;flex-direction:column;gap:12px}.summary-row{display:flex;align-items:center;gap:10px}.summary-row .summary-name{flex:0 0 84px;font-size:12px;font-weight:700;color:var(--ink-soft)}.summary-row .summary-bar-track{flex:1 1;height:9px;background:var(--line);border-radius:999px;overflow:hidden}.summary-row .summary-bar{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--blue));border-radius:999px}.summary-row .summary-score{flex:0 0 30px;text-align:right;font-size:12px;font-weight:800;color:var(--ink)}.summary-row .summary-delta{flex:0 0 auto;font-size:11px;font-weight:800;color:var(--mint);min-width:34px;text-align:right}.summary-row .summary-delta.flat{color:var(--ink-faint)}.summary-note{font-size:11.5px;color:var(--ink-soft);line-height:1.7;background:var(--cream);border-radius:10px;padding:8px 10px}.future-scenario-row{display:flex;align-items:center;gap:8px}.future-scenario-col{flex:1 1;text-align:center;background:var(--cream);border-radius:12px;padding:12px 8px}.future-scenario-col.is-next{background:var(--mint-soft)}.future-scenario-col-label{font-size:11px;font-weight:700;color:var(--ink-soft)}.future-scenario-col.is-next .future-scenario-col-label{color:#1f8571}.future-scenario-col-rank{font-size:13px;font-weight:800;color:var(--ink);margin-top:4px}.future-scenario-col-salary{font-size:20px;font-weight:800;color:var(--ink);margin-top:2px}.future-scenario-col-unit{font-size:11px;font-weight:700;margin-left:2px}.future-scenario-arrow{flex:0 0 auto;font-size:20px;font-weight:800;color:var(--ink-faint)}.future-scenario-delta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.future-scenario-delta-note{font-size:12px;font-weight:700;color:var(--ink-soft)}.future-scenario-max{display:flex;align-items:center;gap:12px;background:var(--rank-s-soft);border-radius:12px;padding:14px;margin-top:8px}.future-scenario-max-emoji{font-size:28px;flex:0 0 auto}.future-scenario-max-title{font-size:13.5px;font-weight:800;color:var(--ink)}.future-scenario-max-sub{font-size:12px;color:var(--ink-soft);margin-top:3px;line-height:1.6}.growth-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.growth-item:last-child{border-bottom:none}.growth-item .name{font-size:13px;font-weight:700;color:var(--ink)}.growth-item .delta{font-size:13px;font-weight:800;color:var(--mint)}.growth-item .delta.flat{color:var(--ink-faint)}.login-hero{text-align:center;padding:48px 12px 24px}.login-mark{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(135deg,var(--blue-pastel),var(--purple));display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:var(--shadow)}.login-title{font-size:20px;font-weight:800;color:var(--ink);line-height:1.6}.login-sub{font-size:13px;color:var(--ink-soft);margin-top:10px;line-height:1.9}.catalog-card{display:flex;gap:14px;align-items:flex-start}.catalog-meta{flex:1 1}.catalog-meta .name{font-size:15px;font-weight:800;color:var(--ink)}.catalog-meta .meta-line{font-size:12px;color:var(--ink-soft);margin-top:4px}.catalog-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.dialog-overlay{position:fixed;inset:0;background:rgba(74,59,82,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.dialog-box{background:var(--paper);border-radius:var(--r-lg);padding:24px 20px;max-width:360px;width:100%;box-shadow:0 20px 40px rgba(0,0,0,.18)}.dialog-box h3{font-size:16px;font-weight:800;margin-bottom:8px}.dialog-box p{font-size:13px;color:var(--ink-soft);line-height:1.8;margin-bottom:18px}.dialog-actions{display:flex;gap:8px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:13px;font-weight:700;padding:12px 20px;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.2);z-index:60;animation:toast-in .25s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.app-logo-img{height:26px;width:auto;display:block;flex-shrink:0}.app-header:has(.app-account) .app-logo-img{height:22px}.app-header:has(.app-account) .app-account-label{max-width:84px}.login-logo{height:26px;width:auto;display:block;margin:0 auto 18px}.login-illust{display:flex;align-items:center;justify-content:center;margin:0 auto 6px}.illust-hero img,.login-illust img{mix-blend-mode:multiply}.illust-hero{display:flex;align-items:center;justify-content:center;margin:4px auto 2px}.next-step{margin-bottom:14px}.next-step-title{font-size:12.5px;font-weight:800;color:var(--ink-soft);letter-spacing:.04em;margin:2px 2px 10px}.consult-banner{display:flex;align-items:center;gap:13px;text-decoration:none;background:linear-gradient(135deg,var(--me-pink-soft) 0,var(--blue-soft) 100%);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:15px;box-shadow:var(--shadow-sm);margin-bottom:11px;transition:transform .13s,box-shadow .13s}.consult-banner:active{transform:scale(.99)}.consult-banner:hover{box-shadow:var(--shadow)}.consult-banner .cb-art{flex:0 0 auto;width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--paper);border-radius:18px;box-shadow:var(--shadow-sm)}.consult-banner .cb-body{flex:1 1;min-width:0}.consult-banner .cb-head{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--ink);line-height:1.35;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.consult-banner .cb-sub{display:block;font-size:12px;color:var(--ink-soft);margin-top:5px;line-height:1.7}.consult-banner .cb-go{flex:0 0 auto;align-self:center;color:var(--me-pink);font-weight:800;font-size:22px;line-height:1}.line-chip{display:inline-flex;align-items:center;gap:4px;background:#06c755;color:#fff;font-size:10px;font-weight:800;border-radius:999px;padding:3px 8px;white-space:nowrap;letter-spacing:.02em}.jobsite-cta{display:flex;align-items:center;gap:13px;text-decoration:none;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:13px 15px;box-shadow:var(--shadow-sm);transition:transform .13s,box-shadow .13s}.jobsite-cta:active{transform:scale(.99)}.jobsite-cta:hover{box-shadow:var(--shadow)}.jobsite-cta .jc-art{flex:0 0 auto;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);border-radius:14px}.jobsite-cta .jc-body{flex:1 1;min-width:0}.jobsite-cta .jc-head{display:block;font-size:14px;font-weight:800;color:var(--ink)}.jobsite-cta .jc-sub{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:3px;line-height:1.6}.jobsite-cta .jc-go{flex:0 0 auto;color:var(--blue);font-weight:800;font-size:19px;line-height:1}.consult-mini{display:flex;align-items:center;gap:12px;text-decoration:none;background:linear-gradient(135deg,var(--me-pink-soft),var(--blue-soft));border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px 14px;margin-bottom:14px;transition:transform .13s,box-shadow .13s}.consult-mini:active{transform:scale(.99)}.consult-mini:hover{box-shadow:var(--shadow-sm)}.consult-mini .cm-art{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--paper);border-radius:12px}.consult-mini .cm-body{flex:1 1;min-width:0}.consult-mini .cm-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;font-weight:800;color:var(--ink)}.consult-mini .cm-sub{display:block;font-size:11px;color:var(--ink-soft);margin-top:2px;line-height:1.6}.consult-mini .cm-go{flex:0 0 auto;color:var(--me-pink);font-weight:800;font-size:18px;line-height:1}.intro-note,.single-data-note{display:flex;align-items:center;gap:12px}.single-data-note{background:var(--mint-soft);border-radius:var(--r-sm);padding:10px 12px}.intro-note .intro-note-art,.single-data-note .single-data-sprout{flex:0 0 auto}.intro-note{margin-bottom:6px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.text-center{text-align:center}.muted{color:var(--ink-soft)}.small{font-size:12px}@media (min-width:481px){body{background:var(--blue-soft)}.page{background:var(--cream);box-shadow:0 0 60px rgba(142,98,141,.08)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.app-account-logout:active,.bottom-nav-item:active,.btn:active,.ct-toggle:active,.edit-cat-head:active,.edit-opt:active,.intent-option:active{transform:none!important}}.edit-cats{display:flex;flex-direction:column;gap:10px}.edit-cat{padding:14px}.edit-cat-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:inherit}.edit-cat-name{font-size:15px;font-weight:800;color:var(--ink)}.edit-cat-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.edit-cat-caret{font-size:12px;color:var(--ink-soft)}.edit-items{margin-top:14px;display:flex;flex-direction:column;gap:18px}.edit-q{font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:10px}.edit-q-no{display:inline-block;font-size:11px;font-weight:700;color:var(--blue-deep);background:var(--blue-soft);border-radius:6px;padding:1px 7px;margin-right:8px;vertical-align:middle}.edit-opts{display:flex;flex-direction:column;gap:8px}.edit-opt{display:flex;align-items:center;gap:11px;width:100%;min-height:46px;padding:11px 13px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-family:inherit;font-size:13.5px;font-weight:600;line-height:1.45;text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.edit-opt:hover{border-color:var(--blue-pastel)}.edit-opt-mark{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);background:var(--paper);position:relative;transition:border-color .12s ease}.edit-opt.is-selected{background:var(--blue-soft);color:var(--blue-deep);font-weight:700}.edit-opt.is-selected,.edit-opt.is-selected .edit-opt-mark{border-color:var(--blue)}.edit-opt.is-selected .edit-opt-mark:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--blue)}.edit-opt-text{flex:1 1}.edit-next{width:100%;margin-top:2px}.edit-save-bar{margin-top:18px}.edit-save-bar .btn-primary{width:100%}.edit-saved{margin-top:12px;color:var(--mint-deep);font-weight:700;font-size:13px}.edit-error{margin-top:12px;color:var(--red-deep)}.growth-digest{background:linear-gradient(155deg,var(--purple-soft) 0,var(--paper) 62%)}.growth-digest-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.growth-digest-kicker{font-size:13px;font-weight:800;color:var(--purple-deep);letter-spacing:.02em}.growth-digest-meta{font-size:11.5px;font-weight:700;color:var(--ink-soft);flex-shrink:0}.growth-digest-stats{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.growth-digest-ranks{display:flex;align-items:center;gap:8px}.rank-pill{font-size:13px;font-weight:800;padding:3px 11px;border-radius:999px}.growth-digest-arrow{font-size:15px;color:var(--ink-faint);font-weight:700}.growth-digest-delta{display:flex;align-items:baseline;gap:2px}.growth-digest-delta-num{font-size:30px;font-weight:800;color:var(--purple-deep);line-height:1}.growth-digest-delta-unit{font-size:13px;font-weight:700;color:var(--purple-deep)}.growth-digest-insight{margin-top:14px;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.6}.growth-digest-note{margin-top:8px;font-size:12px;color:var(--ink-soft);line-height:1.5}.growth-digest-note strong{color:var(--purple-deep)}.next-goal-top{display:flex;align-items:center;gap:8px}.next-goal-icon{font-size:16px}.next-goal-label{font-size:13.5px;font-weight:800;color:var(--ink)}.next-goal-track{margin-top:9px;height:10px;border-radius:999px;background:var(--line);overflow:hidden}.next-goal-fill{height:100%;border-radius:999px}.next-goal-max{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:var(--rank-s)}.timeline{display:flex;flex-direction:column}.tl-item{display:flex;gap:12px}.tl-rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative}.tl-item:not(:last-child) .tl-rail:after{content:"";flex:1 1;width:2px;background:var(--line);margin:4px 0}.tl-rank{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}.tl-body{flex:1 1;padding-bottom:20px;min-width:0}.tl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tl-date{font-size:13px;font-weight:800;color:var(--ink)}.tl-badge{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px}.tl-badge-best{color:var(--rank-s);background:var(--rank-s-soft)}.tl-badge-up{color:var(--rank-b);background:var(--rank-b-soft)}.tl-score{display:flex;align-items:baseline;gap:6px;margin-top:5px;flex-wrap:wrap}.tl-score-num{font-size:21px;font-weight:800;color:var(--ink)}.tl-score-unit{font-size:12px;font-weight:700;color:var(--ink-soft)}.tl-delta{font-size:12.5px;font-weight:800}.tl-delta.up{color:var(--mint-deep)}.tl-delta.flat,.tl-delta.same,.tl-start{color:var(--ink-soft)}.tl-start{font-size:11.5px;font-weight:700}.tl-gains{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tl-gain{font-size:11.5px;font-weight:700;color:var(--purple-deep);background:var(--purple-soft);border-radius:8px;padding:3px 9px}.badge-count,.tl-gain .num{font-weight:800}.badge-count{font-size:12px;color:var(--blue-deep);background:var(--blue-soft);border-radius:999px;padding:1px 9px;margin-left:8px}.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.badge-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 10px;border-radius:14px;border:1.5px solid var(--line)}.badge-cell.earned{background:var(--rank-s-soft);border-color:transparent}.badge-cell.locked{background:var(--cream);opacity:.72}.badge-icon{font-size:26px;line-height:1}.badge-title{font-size:12.5px;font-weight:800;color:var(--ink)}.badge-cell.locked .badge-title,.badge-desc{color:var(--ink-soft)}.badge-desc{font-size:10.5px;line-height:1.4}.ct-list{display:flex;flex-direction:column}.ct-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.ct-row:last-child{border-bottom:none}.ct-name{flex:1 1;font-weight:700;min-width:0}.ct-latest,.ct-name{font-size:13px;color:var(--ink)}.ct-latest{width:30px}.ct-delta,.ct-latest{font-weight:800;text-align:right}.ct-delta{font-size:12px;width:42px;flex-shrink:0}.ct-delta.up{color:var(--mint-deep)}.ct-delta.flat,.ct-delta.same{color:var(--ink-soft)}.ct-toggle{width:100%;min-height:44px;margin-top:12px;padding:9px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);color:var(--blue-deep);font-family:inherit;font-size:12.5px;font-weight:800;cursor:pointer}.home-hero{background:linear-gradient(160deg,var(--blue-soft) 0,var(--paper) 60%)}.home-hero-top{display:flex;align-items:center;gap:var(--sp-3)}.home-hero-id{min-width:0;flex:1 1}.home-hero-kicker{font-size:var(--fs-label);font-weight:700;color:var(--ink-soft)}.home-hero-rank{font-size:var(--fs-hero);font-weight:800;color:var(--ink);font-family:var(--font-display,sans-serif);line-height:var(--lh-tight);margin-top:2px}.home-hero-total{text-align:right;flex-shrink:0}.home-hero-total .num{font-size:var(--fs-display);font-weight:800;color:var(--blue-deep);font-family:var(--font-display,sans-serif);line-height:1}.home-hero-total-unit{font-size:var(--fs-label);font-weight:700;color:var(--ink-soft);margin-left:2px}.home-hero-total-cap{font-size:var(--fs-caption);color:var(--ink-soft);margin-top:var(--sp-1)}.home-hero-goal{margin-top:var(--sp-5)}.home-hero-rankmeta{font-size:var(--fs-caption);color:var(--ink-soft);margin-top:2px}.home-recent-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.home-recent-link{font-size:var(--fs-label);font-weight:800;color:var(--blue-deep);flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;padding:0 var(--sp-1)}.home-recent-main{display:flex;align-items:baseline;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap}.home-recent-delta{font-size:var(--fs-hero);font-weight:800}.home-recent-delta.up{color:var(--mint-deep)}.home-recent-delta.flat,.home-recent-delta.same{color:var(--ink-soft)}.home-recent-best{font-size:var(--fs-label);font-weight:800;color:var(--rank-s);background:var(--rank-s-soft);border-radius:999px;padding:3px 10px}.home-recent-gains{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.home-recent-gain{font-size:var(--fs-caption);font-weight:700;color:var(--purple-deep);background:var(--purple-soft);border-radius:8px;padding:3px 9px}.home-recent-gain .num{font-weight:800}.home-today-label{font-size:var(--fs-label);font-weight:800;color:var(--blue-deep);letter-spacing:.02em}.home-today-title{font-size:var(--fs-title);font-weight:800;color:var(--ink);margin-top:var(--sp-1);line-height:var(--lh-tight)}.home-today .btn{margin-top:var(--sp-4)}.cat-group-label{font-size:var(--fs-label);font-weight:800;color:var(--ink);margin:var(--sp-4) 0 var(--sp-3)}.footprint-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:5px;gap:5px}.footprint-cell-wrap{display:flex;flex-direction:column;align-items:center;gap:3px}.footprint-cell{width:100%;aspect-ratio:1;border-radius:6px;background:var(--line)}.footprint-cell.on{background:var(--mint)}.footprint-cell.current{outline:2px solid var(--blue);outline-offset:1px}.footprint-label{font-size:var(--fs-micro);color:var(--ink-faint);font-weight:700;min-height:13px;white-space:nowrap}.footprint-stats{display:flex;gap:var(--sp-2)}.footprint-stat{flex:1 1;background:var(--cream);border-radius:var(--r-md);padding:var(--sp-3);text-align:center}.footprint-stat-num{display:block;font-size:var(--fs-hero);font-weight:800;color:var(--ink);font-family:var(--font-display,sans-serif);line-height:1.1}.footprint-stat-label{font-size:var(--fs-caption);color:var(--ink-soft);font-weight:700}.empty-state-icon{font-size:32px;line-height:1}