.tl-main{padding:var(--space-3xl) var(--page-padding-x) var(--space-4xl)}.tl-hero{max-width:44rem;margin:0 auto var(--space-2xl);text-align:center}.tl-hero h1{font-size:var(--size-hero);font-weight:var(--weight-bold);line-height:1.05;letter-spacing:-.03em}.tl-hero p{margin-top:var(--space-lg);font-size:var(--size-subheadline);line-height:1.4;color:var(--color-text-secondary);text-wrap:balance}.tl-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs) var(--space-lg);margin-top:var(--space-lg);font-size:var(--size-caption);color:var(--color-text-tertiary)}.tl-meta a{color:var(--color-text-secondary)}.tl-app{display:grid;gap:var(--space-lg);max-width:1080px;margin-inline:auto}.tl-card{border:1px solid var(--color-card-border);border-radius:var(--radius-lg);background:var(--color-card-bg);box-shadow:var(--shadow-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tl-form{display:flex;flex-direction:column;padding:var(--space-xl)}.tl-group+.tl-group{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-card-border)}.tl-group__title{font-size:var(--size-caption);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}.tl-row{display:grid;gap:var(--space-lg)}.tl-row+.tl-row,.tl-row+.tl-field,.tl-field+.tl-field,.tl-field+.tl-row{margin-top:var(--space-lg)}.tl-row>.tl-field{margin-top:0}@media(min-width:480px){.tl-row--2{grid-template-columns:1fr 1fr}}.tl-field{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;padding:0;margin:0}.tl-label{font-size:var(--size-card-desc);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.tl-hint{font-size:var(--size-caption);line-height:1.4;color:var(--color-text-tertiary)}.tl-hint--warn{color:var(--color-warn-strong)}.tl-input{display:flex;align-items:center;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.tl-input:focus-within{border-color:var(--color-teal-action);box-shadow:0 0 0 3px var(--color-good-bg)}.tl-input input{flex:1;min-width:0;padding:12px 14px;border:0;background:transparent;font:inherit;font-size:18px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary);outline:none}.tl-input__unit{padding-right:14px;font-size:var(--size-card-desc);color:var(--color-text-tertiary)}.tl-seg{display:grid;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr));gap:6px;padding:4px;border-radius:var(--radius-md);background:var(--color-gray-100)}@media(max-width:479px){.tl-seg.tl-seg--4{grid-template-columns:repeat(2,minmax(0,1fr))}.tl-seg.tl-seg--rows{grid-template-columns:1fr}.tl-seg--rows .tl-seg__opt{flex-direction:row;justify-content:space-between;padding-inline:12px}}.tl-seg__opt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:40px;padding:6px 8px;border-radius:9px;text-align:center;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.tl-seg__opt input{position:absolute;inset:0;opacity:0;cursor:pointer}.tl-seg__label{font-size:var(--size-card-desc);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.tl-seg__sub{font-size:var(--size-caption);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.tl-seg__opt:hover{background:#fff9}.tl-seg__opt:has(input:checked){background:var(--color-card-bg);box-shadow:0 1px 3px #2c25201f}.tl-seg__opt:has(input:checked) .tl-seg__label{color:var(--color-text-primary)}.tl-seg__opt:has(input:focus-visible){outline:2px solid var(--color-teal-action);outline-offset:1px}.tl-assist{align-self:flex-start;padding:0;border:0;background:none;font:inherit;font-size:var(--size-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.tl-assist:hover{color:var(--color-text-primary)}.tl-picker summary{list-style:none;cursor:pointer}.tl-picker summary::-webkit-details-marker{display:none}.tl-picker summary:focus-visible{outline:2px solid var(--color-teal-action);outline-offset:2px;border-radius:4px}.tl-picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin-top:var(--space-md)}.tl-bt{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm) var(--space-xs) var(--space-md);border:1px solid var(--color-card-border);border-radius:var(--radius-md);background:var(--color-card-bg);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.tl-bt input{position:absolute;inset:0;opacity:0;cursor:pointer}.tl-bt:hover{border-color:var(--color-gray-300)}.tl-bt:has(input:checked){border-color:var(--color-teal-action);box-shadow:0 0 0 3px var(--color-good-bg)}.tl-bt:has(input:focus-visible){outline:2px solid var(--color-teal-action);outline-offset:2px}.tl-bt img{width:100%;max-width:72px;height:auto;margin-bottom:var(--space-xs)}.tl-bt__label{font-size:var(--size-caption);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.tl-bt__pct{font-size:var(--size-caption);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.tl-picker[data-sex=male] [data-for=female],.tl-picker[data-sex=female] [data-for=male]{display:none}.tl-slider{width:100%;accent-color:var(--color-teal-action)}.tl-slider__ends{display:flex;justify-content:space-between;font-size:var(--size-caption);color:var(--color-text-tertiary)}.tl-error{margin-top:var(--space-lg);font-size:var(--size-card-desc);color:var(--color-error-text)}.tl-error:empty{display:none}.tl-result{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-xl);align-self:start}.tl-hero-num{display:flex;flex-direction:column}.tl-hero-num__big{font-size:56px;font-weight:var(--weight-bold);line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.tl-hero-num__unit{margin-top:var(--space-xs);font-size:var(--size-card-desc);color:var(--color-text-tertiary)}.tl-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.tl-chip{display:inline-flex;align-items:baseline;gap:4px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--color-gray-100);font-size:var(--size-card-desc);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.tl-chip strong{font-weight:var(--weight-semibold);color:var(--color-text-primary)}.tl-chip--protein strong{color:var(--color-violet-action)}.tl-panel{padding:var(--space-lg);border:1px solid var(--color-card-border);border-radius:var(--radius-md);background:var(--color-bg)}.tl-panel__cap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--size-caption);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.tl-badge{padding:3px 10px;border-radius:var(--radius-round);font-size:var(--size-caption);font-weight:var(--weight-semibold);letter-spacing:0;text-transform:none;white-space:nowrap}.tl-badge--Conservative{background:var(--color-gray-100);color:var(--color-text-tertiary)}.tl-badge--Moderate{background:var(--color-info-bg);color:var(--color-info)}.tl-badge--Optimal{background:var(--color-good-bg);color:var(--color-good)}.tl-badge--Aggressive{background:var(--color-warn-bg);color:var(--color-warn-strong)}.tl-goal{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.tl-goal__path{font-size:22px;font-weight:var(--weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tl-goal__rate{font-size:var(--size-card-desc);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.tl-chart{margin-top:var(--space-md)}.tl-chart svg{display:block;width:100%;height:auto;overflow:visible}.tl-chart .grid{stroke:var(--color-gray-200);stroke-width:1}.tl-chart .goal{stroke:var(--color-gray-400);stroke-width:1;stroke-dasharray:2 4}.tl-chart .plan{fill:none;stroke:var(--color-teal-action);stroke-width:1.2;stroke-dasharray:5 4}.tl-chart .line{fill:none;stroke:var(--color-teal-action);stroke-width:2;stroke-linejoin:round}.tl-chart .dot{fill:var(--color-card-bg);stroke:var(--color-teal-action);stroke-width:2}.tl-chart text{font-size:11px;fill:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.tl-chart__legend{display:flex;gap:var(--space-lg);margin-top:var(--space-sm);font-size:var(--size-caption);color:var(--color-text-tertiary)}.tl-chart__legend span{display:inline-flex;align-items:center;gap:6px}.tl-key{display:inline-block;width:16px;height:0;border-top:2px solid var(--color-teal-action)}.tl-key--plan{border-top:1.5px dashed var(--color-teal-action)}.tl-end{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-card-border)}.tl-end__date{font-size:var(--size-card-desc);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.tl-note{font-size:var(--size-caption);line-height:1.45;color:var(--color-text-tertiary)}.tl-ledger{display:grid;gap:var(--space-sm);margin:var(--space-md) 0 0}.tl-ledger div{display:grid;grid-template-columns:1fr auto;gap:0 var(--space-md)}.tl-ledger dt{font-size:var(--size-card-desc);color:var(--color-text-secondary)}.tl-ledger dd{margin:0;font-size:var(--size-card-desc);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text-primary)}.tl-ledger .tl-note{grid-column:1 / -1}.tl-ledger__total{padding-top:var(--space-sm);border-top:1px solid var(--color-card-border)}.tl-cta{display:flex;align-items:center;gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-card-border)}.tl-cta p{font-size:var(--size-caption);line-height:1.45;color:var(--color-text-secondary)}[data-hide]{display:none!important}@media(min-width:960px){.tl-app{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--space-xl)}.tl-result{position:sticky;top:88px}}.tl-prose{max-width:var(--prose-measure);margin:var(--space-4xl) auto 0}.tl-prose h2{font-size:var(--size-section-title);font-weight:var(--weight-semibold);line-height:1.15;letter-spacing:-.02em;margin:var(--space-3xl) 0 var(--space-lg)}.tl-prose h3{font-size:var(--size-subheadline);font-weight:var(--weight-semibold);margin:var(--space-2xl) 0 var(--space-md)}.tl-prose p,.tl-prose ul,.tl-prose ol{margin-bottom:var(--space-lg);font-size:var(--size-body);line-height:1.65;color:var(--color-text-secondary)}.tl-prose ul,.tl-prose ol{padding-inline-start:var(--space-xl)}.tl-prose strong{color:var(--color-text-primary)}.tl-prose table{width:100%;margin-bottom:var(--space-lg);border-collapse:collapse;font-size:var(--size-card-desc);font-variant-numeric:tabular-nums}.tl-prose th,.tl-prose td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-card-border);text-align:left}.tl-prose th{font-weight:var(--weight-semibold);color:var(--color-text-primary)}.tl-prose td{color:var(--color-text-secondary)}.tl-formula{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-gray-100);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;color:var(--color-text-primary);overflow-x:auto}.tl-faq details{border-bottom:1px solid var(--color-card-border)}.tl-faq summary{padding:var(--space-lg) 0;font-size:var(--size-body);font-weight:var(--weight-semibold);color:var(--color-text-primary);cursor:pointer}.tl-faq summary:focus-visible{outline:2px solid var(--color-teal-action);outline-offset:2px}.tl-faq details p{margin-top:0}.tl-prose .calc-section h2{font-size:var(--size-subheadline)}.tl-prose .calc-section ul{font-size:var(--size-card-desc)}@media(prefers-reduced-motion:reduce){.tl-input,.tl-seg__opt,.tl-bt{transition:none}}
