.teacher-hello{display:grid;grid-template-columns:160px 1fr;gap:clamp(1.2rem,4vw,2.4rem);align-items:center;max-width:860px;margin:0 auto}.teacher-hello img{width:160px;border-radius:50%;aspect-ratio:1;object-fit:cover;border:5px solid var(--gold);box-shadow:0 0 30px rgba(255,210,63,.35)}.teacher-hello h2{font-family:var(--head);font-weight:400;color:var(--gold);font-size:clamp(1.8rem,5vw,2.4rem);margin:0 0 .4rem}.teacher-hello p{margin:0 0 .8rem}@media (max-width:620px){.teacher-hello{grid-template-columns:1fr;text-align:center}.teacher-hello img{margin:0 auto}}.teacher-gate{padding-top:0}.teacher-gate[hidden],.teacher-vault[hidden],.access-form[hidden],.access-sent[hidden],.access-intro[hidden],.access-open[hidden],.code-wrong[hidden]{display:none}.vault-grid{list-style:none;margin:0 auto 2.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:1rem;max-width:1000px}.vault-card{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1rem 1rem;border-radius:10px;text-align:center;background:var(--grain),linear-gradient(170deg,#e9dcb8,#d6c391);color:#3b2a12;box-shadow:0 12px 26px rgba(0,0,0,.45);transform:rotate(var(--tilt,-1deg))}.vault-card:nth-child(even){--tilt:1.2deg}.vault-icon{font-size:2rem;line-height:1}.vault-card b{font-family:var(--head);font-weight:400;font-size:1.15rem;letter-spacing:.03em;color:#2b1a5e}.vault-card span:not(.vault-icon):not(.vault-lock){font-size:.95rem;line-height:1.35}.vault-lock{position:absolute;top:-.7rem;right:-.5rem;width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:50%;background:#d8322e;font-size:1.05rem;box-shadow:0 4px 10px rgba(0,0,0,.4)}.gate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(1.2rem,3vw,2rem);align-items:start;max-width:1000px;margin:0 auto}.gate-card{text-align:center}.gate-card h2{font-size:clamp(1.7rem,4.5vw,2.3rem);margin-top:0}.gate-card .art-form{text-align:left;margin-top:1.2rem}.code-form label{display:block;font-weight:700;margin-bottom:.5rem}.code-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem}.code-row input{font:inherit;font-size:1.3rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:.7rem 1rem;border-radius:99px;border:3px solid var(--lime);background:#fffbe9;color:var(--night-1);width:min(260px,100%)}.code-wrong{margin:1rem 0 0;padding:.7rem 1rem;border-radius:12px;background:rgba(216,50,46,.16);border:2px dashed #ff7a6e;color:#ffd9d4;font-weight:700}.shake{animation:gate-shake .4s ease}@keyframes gate-shake{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}.access-sent p{padding:.8rem 1rem;border-radius:12px;background:rgba(198,244,50,.12);border:2px solid var(--lime)}.vault-stamp{font-size:clamp(1.2rem,4vw,1.6rem);transform:rotate(-5deg);margin-bottom:1rem;mix-blend-mode:normal;background:rgba(255,245,240,.08)}.vault-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.2rem}.vault-jump a{padding:.35rem .9rem;border-radius:99px;border:2px solid var(--card-edge);background:rgba(30,16,82,.6);text-decoration:none;font-weight:700;font-size:.95rem}.teacher-printables{margin-top:0}.teacher-section{margin-top:clamp(2.5rem,6vw,4rem);scroll-margin-top:90px}.teacher-section-title{font-family:var(--head);font-weight:400;color:var(--gold);font-size:clamp(1.8rem,5vw,2.6rem);margin:0;text-align:center}.teacher-section-about{text-align:center;color:var(--muted);margin:.3rem 0 1.4rem}.teacher-printables .printable p{margin:0;color:var(--muted)}.teacher-printables .printable-actions{margin-top:auto}.teacher-printables .printable-actions .btn{width:100%}.pdf-icon{display:grid;place-items:center;aspect-ratio:8.5 / 11;font-size:4rem;background:#f4ecd8}.teacher-soon{text-align:center}.teacher-soon .stamp{font-size:1.2rem;transform:rotate(-3deg);mix-blend-mode:normal}.teacher-memo{margin-top:3rem}.teacher-memo a{color:#6b2bd1}.teacher-row{grid-template-columns:1fr 1fr}@media (max-width:560px){.teacher-row{grid-template-columns:1fr}}.teacher-form textarea{font:inherit;padding:.7rem .9rem;border-radius:14px;border:2px solid rgba(185,211,240,.5);background:#fffbe9;color:var(--night-1);width:100%;resize:vertical}@media (prefers-reduced-motion:reduce){.shake{animation:none}}.teacher-printables .printable-actions.two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.teacher-printables .printable-actions.two .btn{font-size:1rem;padding-inline:.5rem}