* { box-sizing: border-box; }
body { margin: 0; background: hsl(var(--background)); color: hsl(var(--foreground)); font: 15px/1.55 Arial, Helvetica, sans-serif; }
header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 5%; background: hsl(var(--card)); border-bottom: 1px solid hsl(var(--border)); }
.brand { font-weight: 800; font-size: 14px; letter-spacing: .06em; color: hsl(var(--foreground)); text-decoration: none; }
.brand span { font-weight: 400; letter-spacing: 0; margin-left: 14px; color: hsl(var(--muted-foreground)); }
.badge { color: hsl(var(--primary)); background: hsl(var(--secondary)); border-radius: var(--radius-sm); padding: 7px 12px; font: 700 11px/1.4 system-ui; letter-spacing: .07em; }
main { max-width: 1440px; margin: auto; padding: 36px 5% 24px; }
.intro { margin-bottom: 30px; }
.eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: hsl(var(--primary)); }
h1 { font-size: clamp(32px, 4vw, 46px); letter-spacing: -.04em; line-height: 1.15; margin: 10px 0 16px; }
h2 { font-size: 20px; line-height: 1.4; margin: 0 0 12px; }
h3 { font-size: 15px; margin: 20px 0 8px; }
p { margin: 0 0 12px; }
.intro > p:last-child, .small, small, .toolbar p, .action p { color: hsl(var(--muted-foreground)); }
.small, small { font-size: 12px; overflow-wrap: anywhere; }
.card { min-width: 0; background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: var(--radius-lg); padding: 24px; }
.login { max-width: 720px; }
label { display: block; margin-bottom: 6px; }
input { width: 100%; min-width: 0; border: 1px solid hsl(var(--input)); border-radius: var(--radius-sm); padding: 11px 12px; color: inherit; background: hsl(var(--card)); font: inherit; }
button { cursor: pointer; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 11px 16px; background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); font: 600 13px/1.4 Arial, Helvetica, sans-serif; }
button:hover { filter: brightness(.95); }
button:disabled { opacity: .5; cursor: default; }
button.secondary { background: hsl(var(--card)); color: hsl(var(--foreground)); border-color: hsl(var(--border)); }
:focus-visible { outline: 3px solid hsl(var(--ring)); outline-offset: 3px; }
.row { display: flex; gap: 10px; align-items: center; }
.login button { flex-shrink: 0; }
.login .small { margin-top: 10px; }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.toolbar p { margin: 0; font-size: 13px; }
.metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.metrics p { font-size: 13px; margin: 0; }
.metrics strong { display: block; font-size: 34px; letter-spacing: -.04em; margin: 6px 0; }
.metrics small { display: block; }
#freshness { margin: 14px 0 24px; }
.layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: start; }
aside { padding: 20px !important; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.section-head span { font-size: 11px; color: hsl(var(--muted-foreground)); }
#scenarios { max-height: 670px; overflow: auto; padding: 4px; margin: 12px -4px -4px; }
.scenario { display: block; width: 100%; background: transparent; color: hsl(var(--foreground)); text-align: left; padding: 12px; border: 1px solid transparent; margin: 3px 0; font-weight: 400; }
.scenario[aria-current="true"] { border-color: hsl(var(--primary)); background: hsl(var(--secondary)); }
.scenario strong, .scenario small { display: block; }
.scenario strong { font-size: 12px; margin-bottom: 4px; }
.scenario small { margin-top: 5px; }
.detail h2 { font-size: 24px; }
#instruction { white-space: pre-line; font-size: 13px; max-height: 210px; overflow: auto; }
.steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.step { border: 1px dashed hsl(var(--border)); border-radius: var(--radius-sm); padding: 7px 10px; font-size: 11px; }
.step.proven, .step.partial, .step.answered { border: 1px solid hsl(var(--success)); }
.step.blocked { border: 1px solid hsl(var(--destructive)); }
.note { background: hsl(var(--secondary)); border-radius: var(--radius-sm); padding: 12px; margin: 10px 0; font-size: 13px; }
.action { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid hsl(var(--border)); margin-top: 22px; padding-top: 4px; }
.action button { flex-shrink: 0; }
.action p { font-size: 13px; }
pre { background: hsl(var(--secondary)); border: 1px solid hsl(var(--border)); border-radius: var(--radius-sm); padding: 16px; overflow: auto; max-height: 330px; font: 12px/1.8 ui-monospace, monospace; }
.attempt { border-top: 1px solid hsl(var(--border)); padding: 14px 0; }
#history { max-height: 450px; overflow: auto; }
.attempt p { font-size: 12px; }
.attempt button { padding: 7px 10px; margin: 4px 8px 4px 0; }
.mcp { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.mcp code { display: block; overflow-wrap: anywhere; margin: 10px 0; font-size: 13px; }
#message:not(:empty) { padding: 14px; border-left: 3px solid hsl(var(--primary)); background: hsl(var(--card)); margin: 18px 0; }
footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 32px; padding-top: 18px; border-top: 1px solid hsl(var(--border)); color: hsl(var(--muted-foreground)); font-size: 11px; }
[hidden] { display: none !important; }
@media (max-width: 850px) { .layout { grid-template-columns: minmax(0, 1fr); } #scenarios { max-height: 250px; } .mcp { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { header { align-items: flex-start; } .brand span { display: block; margin: 4px 0 0; } main { padding-top: 24px; } .metrics { grid-template-columns: 1fr; } .metrics .card { padding: 16px 20px; } .metrics strong { font-size: 28px; } .toolbar, .action, footer { flex-direction: column; align-items: stretch; } .login .row { flex-direction: column; align-items: stretch; } .card { padding: 18px; } .badge { max-width: 140px; } }
