/* A&I v7 · tool pages (The Oracle, Vision Studio). Builds on assets/v7.css tokens. */
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.tool-card{background:var(--deep);border:1px solid var(--line-dark);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:18px}
.tool-card .field select{appearance:auto}
.tool-card .row{gap:12px 16px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;line-height:1.45}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--gold)}
.warn{font-size:14px;color:var(--muted-dark);border-left:2px solid var(--gold);padding-left:12px;margin:0}
.status{min-height:1.4em;font-size:15px;color:var(--gold);margin:0}
.status.err{color:#F2B8A0}
.btn[disabled]{opacity:.6;cursor:progress}

.result{display:flex;flex-direction:column;gap:24px}
.result-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between}
.result-head h2{margin:0;font-size:clamp(28px,3vw,38px)}
.prompt-box{position:relative;background:var(--midnight);border:1px solid var(--line-dark);border-radius:var(--r-card)}
.prompt-box pre{margin:0;padding:22px 22px 26px;white-space:pre-wrap;word-wrap:break-word;font-family:var(--f-text);font-size:17px;line-height:1.65;color:var(--cream)}
.prompt-tools{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-dark)}
.teach-notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.teach-notes li{background:var(--midnight);border:1px solid var(--line-dark);border-radius:var(--r-card);padding:16px 18px;font-size:15.5px;line-height:1.5}
.teach-notes b{display:block;font-family:var(--f-display);font-size:20px;color:var(--gold);margin-bottom:4px}
.score{border:1px solid var(--gold);border-radius:var(--r-card);padding:16px 18px}
.fill-in{margin:0;padding-left:20px;color:var(--muted-dark)}

.teach-list{list-style:none;margin:0;padding:0;border-top:2px solid currentColor}
.teach-list li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line-light)}
.teach-list .l{flex:none;width:28px;font-family:var(--f-display);font-weight:700;font-size:26px;color:var(--gold-ink);line-height:1.1}

.faq{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-light)}
.faq-item{padding:20px 0;border-bottom:1px solid var(--line-light)}
.faq-item h3{font-size:21px;margin:0 0 6px}
.faq-item p{margin:0}

.example pre{white-space:pre-wrap;font-family:var(--f-text);font-size:16px;line-height:1.6;background:var(--deep);border:1px solid var(--line-dark);border-radius:var(--r-card);padding:20px;margin:0}

/* Vision Studio */
.cards-fan{display:flex;justify-content:center;align-items:flex-end;gap:0;min-height:300px;padding:20px 0}
.tarot{width:150px;aspect-ratio:2/3;border-radius:12px;background:var(--paper);border:1px solid var(--line-light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;color:var(--midnight);box-shadow:0 0 0 6px var(--midnight)}
.tarot .n{font-family:var(--f-display);font-size:28px;color:var(--gold-ink)}
.tarot .t{font-family:var(--f-display);font-weight:700;font-size:17px;line-height:1.15}
.tarot--gold{border:2px solid var(--gold)}
.cards-fan .tarot:nth-child(1){transform:rotate(-9deg) translateX(22px)}
.cards-fan .tarot:nth-child(2){transform:translateY(-14px);z-index:1}
.cards-fan .tarot:nth-child(3){transform:rotate(9deg) translateX(-22px)}
.steps-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-dark)}
.steps-list li{display:flex;flex-wrap:wrap;gap:6px 22px;padding:18px 0;border-bottom:1px solid var(--line-dark)}
.steps-list .k{flex:0 0 190px;font-family:var(--f-display);font-weight:700;font-size:20px}
.steps-list .v{flex:1 1 320px;color:var(--muted-dark)}
@media (prefers-reduced-motion:reduce){.cards-fan .tarot{transform:none!important}}
@media (max-width:600px){.cards-fan{min-height:220px}.tarot{width:108px}.tool-card{padding:20px}}
