:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f8f7;--surface:#fff;--surface-soft:#f0f6f5;--text:#172026;--muted:#64727d;--line:#d7e0df;--line-strong:#b8c8c6;--teal:#087f7d;--teal-strong:#056b69;--teal-soft:#e2f3f1;--amber:#d98906;--amber-soft:#fff7e6;--danger:#b6423c;--radius:8px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:24px}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto 24px;padding-bottom:18px;display:flex}.app-header h1{margin:0;font-size:32px;line-height:1.1}.app-header p{color:var(--muted);margin:6px 0 0;font-size:15px}.workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;max-width:1180px;margin:0 auto;display:grid}.input-panel,.result-column{min-width:0}.tool-section,.result-panel,.result-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.tool-section{margin-bottom:16px}.condition-panel{padding:16px}.condition-grid{grid-template-columns:1fr;gap:14px;display:grid}.condition-grid label,.state-control{border:0;gap:8px;min-inline-size:0;margin:0;padding:0;display:grid}.condition-grid label>span,.state-control legend{color:var(--text);font-size:14px;font-weight:700}input,select{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);background:#fff;width:100%;min-height:44px;padding:9px 12px}input:focus,select:focus,button:focus-visible{outline-offset:2px;outline:3px solid #087f7d38}.state-control>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.state-control label{border:1px solid var(--line-strong);border-radius:var(--radius);align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.state-control input{inline-size:16px;width:16px;min-height:16px;padding:0}.state-control label:has(input:checked){background:var(--teal-soft);border-color:var(--teal);color:var(--teal-strong);font-weight:700}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;display:flex}.section-heading h2{margin:0;font-size:18px;line-height:1.2}.section-heading span{color:var(--muted);font-size:13px}.stat-grid{display:grid}.stat-grid-head,.stat-input-row{grid-template-columns:minmax(110px,1fr) minmax(130px,1fr);align-items:center;gap:12px;padding:10px 16px;display:grid}.stat-grid-head{border-bottom:1px solid var(--line);color:var(--muted);background:#fbfcfc;font-size:13px;font-weight:700}.stat-input-row{border-bottom:1px solid var(--line)}.stat-input-row:last-child{border-bottom:0}.stat-name{font-weight:700}.primary-action,.secondary-action{border-radius:var(--radius);border:0;justify-content:center;align-items:center;gap:10px;font-weight:800;display:inline-flex}.primary-action{background:var(--teal);color:#fff;width:100%;min-height:58px;margin-top:4px;font-size:18px}.primary-action:hover{background:var(--teal-strong)}.secondary-action{background:var(--teal-soft);color:var(--teal-strong);border:1px solid #087f7d59;min-height:38px;padding:7px 12px}.result-title{color:var(--text);align-items:center;gap:8px;margin-bottom:12px;font-size:18px;font-weight:800;display:flex}.result-empty,.result-panel{padding:16px}.result-empty h2,.result-heading h2{margin:0;font-size:20px;line-height:1.2}.result-empty p,.result-heading p,.share-status{color:var(--muted);margin:6px 0 0}.result-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.creature-summary{background:var(--surface-soft);border-radius:var(--radius);border:1px solid #087f7d47;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;padding:12px;display:flex}.creature-summary strong{font-size:22px}.creature-summary span{border:1px solid var(--line);color:var(--teal-strong);background:#fff;border-radius:999px;padding:4px 9px;font-size:13px;font-weight:800}.result-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.result-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(88px,1.3fr) .65fr .75fr .6fr;align-items:center;gap:8px;min-height:46px;padding:8px 10px;font-size:14px;display:grid}.result-head{color:var(--muted);background:#fbfcfc;font-weight:800}.result-group:last-child .result-row:last-child{border-bottom:0}.result-stat{font-weight:800}.confidence{border-radius:999px;place-items:center;min-width:30px;padding:3px 8px;display:inline-grid}.confidence-high{background:var(--teal-soft);color:var(--teal-strong)}.confidence-medium{background:var(--amber-soft);color:var(--amber)}.confidence-low{color:var(--danger);background:#fdecec}.candidate-details{border-bottom:1px solid var(--line);background:#fbfcfc;padding:8px 10px 10px}.candidate-details summary{color:var(--teal-strong);align-items:center;gap:4px;font-size:13px;font-weight:800;list-style:none;display:flex}.candidate-details summary::-webkit-details-marker{display:none}.candidate-table{gap:4px;margin-top:8px;display:grid}.candidate-row{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:.75fr 1fr 1fr .8fr;align-items:center;gap:6px;min-height:36px;padding:6px 8px;font-size:13px;display:grid}.warning-list{background:var(--amber-soft);border-radius:var(--radius);border:1px solid #d989066b;margin-top:16px;padding:14px}.warning-title{color:var(--amber);align-items:center;gap:8px;font-weight:900;display:flex}.warning-list ul{margin:8px 0 0;padding-left:22px}.warning-list li{line-height:1.6}@media (min-width:760px){.condition-grid{grid-template-columns:1.2fr .7fr 1fr 1fr}.state-control{grid-column:1/-1}.state-control>div{grid-template-columns:repeat(3,minmax(132px,1fr))}}@media (min-width:1020px){.workspace{grid-template-columns:minmax(0,.95fr) minmax(420px,.75fr)}.result-column{position:sticky;top:18px}}@media (max-width:560px){.app-shell{padding:18px 14px 24px}.app-header h1{font-size:30px}.state-control>div{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start;gap:4px}.stat-grid-head,.stat-input-row{grid-template-columns:minmax(96px,1fr) minmax(120px,1fr);padding-inline:12px}.result-row{grid-template-columns:minmax(82px,1.1fr) .6fr .7fr .55fr;padding-inline:8px}.candidate-row{grid-template-columns:1fr 1fr}}
