.stu-page{max-width:1280px;margin:auto}.stu-page h2,.stu-page h3{font-family:var(--font-display,inherit);letter-spacing:.015em}.stu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin-block:18px}.stu-grid>.card{min-width:0;margin:0;overflow:hidden}.stu-cover{width:100%;max-height:320px;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:16px}.stu-event{text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.stu-event:hover{transform:translateY(-3px)}.stu-event:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.stu-card-body{padding:12px 4px}.stu-card-body h2,.stu-card-body h3{font-size:1.15rem;margin:8px 0}.stu-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,48px);border-radius:28px;background:linear-gradient(120deg,var(--sc-low),var(--surface));border:1px solid var(--outline-var);overflow:hidden}.stu-hero h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:6px 0}.stu-hero img{width:clamp(88px,16vw,170px);height:auto;object-fit:contain;flex:none}.stu-hero:before{content:'';position:absolute;width:240px;height:240px;border:1px solid currentColor;opacity:.045;border-radius:50%;inset:auto -80px -140px auto;pointer-events:none}.stu-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-block:20px}.stu-reading{white-space:pre-wrap;line-height:1.95;overflow-wrap:anywhere;font-size:1.04rem;max-width:78ch;margin:auto}.stu-book{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center}.stu-book .stu-cover{aspect-ratio:3/4;border-radius:8px}.stu-timeline{list-style:none;margin:0;padding:0}.stu-timeline>li{position:relative;border-inline-start:1px solid var(--outline-var);padding:0 0 26px 22px;margin-inline-start:6px}.stu-timeline>li:before{content:'';width:9px;height:9px;background:var(--brand);position:absolute;left:-5px;top:7px;border-radius:50%}.stu-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}.stu-gallery img{max-height:260px}.stu-page .field textarea{min-height:140px}.stu-entry{max-width:500px;margin:24px auto;text-align:center}.stu-entry .mtg-code{margin:20px auto}.stu-entry svg{width:min(100%,320px);height:auto;display:block;margin:auto;background:white;padding:16px;border-radius:20px}.stu-form-note{padding:16px;border-radius:14px;background:var(--sc-low)}.stu-frequency{display:flex;gap:12px;align-items:center;flex-wrap:wrap}@media(max-width:599px){.stu-hero{gap:10px;padding:24px 20px}.stu-hero img{width:90px}.stu-grid{gap:14px}.stu-page .card{border-radius:22px}.stu-shortcuts .btn{flex-grow:1}}@media(prefers-reduced-motion:reduce){.stu-event{transition:none}.stu-event:hover{transform:none}}
.public-site { min-height: 100dvh; background: radial-gradient(ellipse at top left, var(--paper-wash-first), transparent 52%), var(--surface); }
.public-header { position: sticky; top: 0; z-index: 30; display: flex; gap: var(--s-md); align-items: center; justify-content: space-between; padding: max(12px, env(safe-area-inset-top)) clamp(16px, 4vw, 64px) 12px; flex-wrap: wrap; }
.public-header nav { display: flex; flex-wrap: wrap; gap: var(--s-xs); }
.public-page { max-width: 1180px; margin: auto; padding: clamp(20px, 4vw, 48px); min-height: 65dvh; }
.public-footer { border-top: 1px solid var(--outline-var); padding: 24px max(20px, env(safe-area-inset-left)) max(24px, env(safe-area-inset-bottom)); text-align: center; color: var(--on-var); }
.public-footer .page-actions { justify-content: center; }
@media (max-width: 599px) { .public-header nav { order: 3; width: 100%; justify-content: space-between; } .public-header > .btn { margin-left: auto; } .public-page { padding: 20px 16px; } }
.share-card-panel{display:grid;gap:16px;justify-items:center}.share-card-preview{display:block;width:min(100%,340px);height:auto;border-radius:24px;box-shadow:0 12px 32px #31271f16}.share-card-panel .page-actions{justify-content:center;flex-wrap:wrap}.companion-message-speech{display:grid;gap:8px;margin-top:12px}.companion-message-speech audio{width:100%;max-width:28rem}
.stu-page .content-link{white-space:normal;overflow-wrap:anywhere;line-height:1.7}

.onboarding-steps{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;color:var(--on-ter);font-size:13px}.onboarding-steps [aria-current=step]{color:var(--brand-text);font-weight:700}.license-text{max-width:100%;font-size:13px;overflow-wrap:anywhere}.auth-samples select{max-width:100%;width:100%;white-space:normal;margin-block:8px}

/* Shared narrative cover picker; original image proportions stay inside the choice tile. */
.cover-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));gap:12px;max-height:42vh;overflow:auto;padding:4px}.cover-choice{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:12px;border:1px solid var(--outline-var);border-radius:var(--r-card,16px);background:var(--sc-low);cursor:pointer;min-width:0}.cover-choice:has(input:checked){border-color:var(--brand);outline:1px solid var(--brand)}.cover-choice:focus-within{outline:2px solid var(--brand);outline-offset:2px}.cover-choice img{grid-column:1/-1;grid-row:1;width:100%;height:112px;object-fit:contain;border-radius:8px}.cover-choice span{grid-row:2;overflow-wrap:anywhere;font-size:.9rem}.cover-choice input{grid-row:2;width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--brand)}
