:root,[data-theme]{--bg:var(--page-bg);--card:var(--color-surface);--sunken:var(--color-surface-secondary);--ink:var(--color-text-emphasis);--text:var(--color-text);--muted:var(--color-text-secondary);--line:var(--color-border);--accent:var(--color-background-primary-solid);--accent-ink:var(--color-surface);--low:var(--color-text-warning-surface);--low-bg:var(--color-background-warning-surface);--low-line:var(--color-border-warning-surface);--low-bar:var(--orange-400);--good:var(--color-text-success-surface);--good-bg:var(--color-background-success-surface);--good-line:var(--color-border-success-surface);--bad:var(--color-text-danger-surface);--bar:var(--color-background-primary-soft-alpha);--radius:14px;--ease:cubic-bezier(.2, 0, 0, 1)}html,body{height:auto;overflow:visible}body{background:var(--bg);min-height:100vh;color:var(--text);font-size:16px;line-height:1.55}.wrap{max-width:1120px;margin:0 auto;padding:40px 24px 72px}header.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:32px;display:flex}.brand{letter-spacing:-.035em;color:var(--ink);margin:0;font-size:34px;font-weight:700;line-height:1.1}.brand span{color:var(--muted);font-weight:500}.tagline{max-width:640px;color:var(--muted);margin:8px 0 0;font-size:17px;line-height:1.55}.pill{white-space:nowrap;height:30px;color:var(--muted);background:var(--sunken);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:7px;margin-top:4px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.pill.live{color:var(--good);background:var(--good-bg);box-shadow:inset 0 0 0 1px var(--good-line)}.pill.mock{color:var(--low);background:var(--low-bg);box-shadow:inset 0 0 0 1px var(--low-line)}.grid{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}}.grid>div>.card{animation:rise .3s var(--ease) both}.grid>div>.card:nth-child(2){animation-delay:40ms}.grid>div>.card:nth-child(3){animation-delay:80ms}.grid>div>.card:nth-child(4){animation-delay:.12s}.grid>div>.card:nth-child(5){animation-delay:.16s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.card{background:var(--card);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-100);padding:22px}.card+.card{margin-top:16px}.card h2{letter-spacing:-.02em;color:var(--ink);margin:0 0 4px;font-size:22px;font-weight:650;line-height:1.3}.card h3{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:12px;font-weight:600;line-height:1}label{color:var(--ink);margin:18px 0 6px;font-size:14px;font-weight:600;display:block}input,textarea{width:100%;min-height:44px;font:inherit;color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1px var(--color-border-primary-outline);transition:box-shadow .15s var(--ease);border:0;border-radius:10px;padding:10px 12px;font-size:15px}input:hover,textarea:hover{box-shadow:inset 0 0 0 1px var(--color-border-primary-outline-hover)}input:focus,textarea:focus{box-shadow:inset 0 0 0 1px var(--color-ring), 0 0 0 3px color-mix(in oklab, var(--color-ring) 25%, transparent);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}textarea{resize:vertical;min-height:72px;line-height:1.5}.person{background:var(--sunken);box-shadow:inset 0 0 0 1px var(--color-border-subtle);border-radius:12px;margin-top:10px;padding:10px}.person-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.person-row .fav{grid-column:1/-1}.person-row input:not(.fav){font-weight:600}.hint{color:var(--muted);margin:8px 0 0;font-size:13px}button{cursor:pointer;min-height:40px;font:inherit;color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1px var(--color-border-primary-outline);transition:background-color .15s var(--ease), box-shadow .15s var(--ease), transform .12s var(--ease), opacity .15s var(--ease);border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}button:hover{background:var(--color-background-primary-soft-alpha)}button:active:not(:disabled){transform:scale(.97)}button:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}button.primary{width:100%;min-height:50px;color:var(--accent-ink);background:var(--accent);box-shadow:none;margin-top:20px;font-size:16px;font-weight:600}button.primary:hover{background:var(--color-background-primary-solid-hover)}button.primary:disabled{opacity:.55;cursor:progress}button.ghost{min-height:36px;color:var(--muted);box-shadow:none;background:0 0;padding:0 10px;font-size:13px}button.ghost:hover{color:var(--bad);background:var(--color-background-danger-surface)}button.add{width:100%;box-shadow:inset 0 0 0 1px var(--color-border-primary-outline);color:var(--muted);background:0 0;border:0;margin-top:10px}button.add:hover{color:var(--ink)}.presets{flex-wrap:wrap;gap:8px;display:flex}.presets button{border-radius:999px;min-height:34px;padding:0 12px;font-size:13.5px}.headline{letter-spacing:-.025em;color:var(--ink);text-wrap:balance;margin:0 0 16px;font-size:26px;font-weight:650;line-height:1.3}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{white-space:nowrap;height:28px;color:var(--ink);background:var(--color-background-primary-soft);border-radius:999px;align-items:center;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.chip.plain{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.pick-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;display:flex}.pick-head>div:first-child{flex:260px;min-width:0}.meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:4px 0 12px;font-size:14px}.desc{color:var(--text);margin:0 0 14px}.score-badge{background:var(--sunken);box-shadow:inset 0 0 0 1px var(--color-border-subtle);text-align:right;border-radius:12px;flex-direction:column;align-items:flex-end;gap:4px;padding:10px 14px;display:flex}.score-badge strong{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.score-badge small{color:var(--muted);font-size:12.5px;line-height:1.3}.fits{border-top:1px solid var(--line);gap:14px;margin:18px 0 0;padding:16px 0 0;list-style:none;display:grid}.fit-top{color:var(--ink);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;font-size:14.5px;font-weight:600;display:flex}.bar{background:var(--bar);border-radius:99px;height:8px;margin:6px 0 7px;overflow:hidden}.bar>i{background:var(--accent);transform-origin:0;height:100%;animation:grow .6s var(--ease) both;border-radius:99px;display:block}.bar.low>i{background:var(--low-bar)}@keyframes grow{0%{transform:scaleX(0)}}.fit-why{color:var(--muted);margin:0;font-size:14.5px;line-height:1.55}.callout{color:var(--text);background:var(--low-bg);box-shadow:inset 0 0 0 1px var(--low-line);border-radius:10px;margin:18px 0 0;padding:12px 14px;font-size:14.5px;line-height:1.55}.callout strong{color:var(--ink)}.alts{gap:0;margin-top:12px;font-size:14px;display:grid}.alts div{color:var(--muted);border-top:1px solid var(--color-border-subtle);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:9px 0;display:flex}.alts div:first-child{border-top:0}.empty{text-align:center;color:var(--muted);padding:56px 24px}.empty h2{font-size:24px}.empty p{max-width:440px;margin:10px auto 0;line-height:1.6}.error{color:var(--bad);margin:0;font-weight:600}details.trace summary{cursor:pointer;color:var(--muted);align-items:flex-start;gap:10px;font-size:14px;font-weight:500;line-height:1.5;list-style:none;display:flex}details.trace summary::-webkit-details-marker{display:none}details.trace summary:before{content:"";width:7px;height:7px;transition:transform .2s var(--ease);border-bottom:1.5px solid;border-right:1.5px solid;flex-shrink:0;margin-top:6px;transform:rotate(-45deg)}details.trace[open] summary:before{transform:rotate(45deg)}details.trace summary:hover{color:var(--ink)}details.trace[open] .trace-scroll{animation:fade .2s var(--ease) both}@keyframes fade{0%{opacity:0}}.trace-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:12px;font-size:13px}.trace-table th{text-align:left;color:var(--muted);padding:8px;font-size:12px;font-weight:600}.trace-table td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:8px}.trace-table code{font-family:var(--font-mono);word-break:break-all;font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0;font-size:12px}.trace-scroll{overflow-x:auto}.ok{color:var(--good);font-weight:600}.bad{color:var(--bad);font-weight:600}.loading-steps{color:var(--muted);gap:10px;margin:4px 0 0;padding:0;font-size:15px;list-style:none;display:grid}.loading-steps li{animation:rise .25s var(--ease) both;align-items:center;gap:10px;display:flex}.loading-steps li:before{content:"";background:var(--color-background-success-solid);border-radius:50%;flex-shrink:0;width:8px;height:8px}.loading-steps li:last-child{color:var(--ink)}.loading-steps li:last-child:before{background:var(--accent);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}footer{border-top:1px solid var(--color-border-subtle);color:var(--muted);text-align:center;margin-top:48px;padding-top:20px;font-size:13.5px}footer a{color:var(--ink);text-underline-offset:2px}@media (max-width:640px){.wrap{padding:24px 16px 56px}header.top{margin-bottom:24px}.brand{font-size:30px}.tagline{font-size:16px}.card{padding:18px 16px}.headline{font-size:22px}.score-badge{flex-direction:row;align-items:baseline;gap:8px;width:100%}.score-badge strong{font-size:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
