*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:system-ui,Arial,sans-serif;background:#1d1b3a;color:#1d1b3a}
.deck{height:100%;display:flex;flex-direction:column}.stage{flex:1;position:relative;overflow:hidden}
.slide{position:absolute;inset:0;padding:clamp(1rem,4vw,3rem);display:none;flex-direction:column;justify-content:center;gap:1rem;background:linear-gradient(150deg,#fff9db,#f3f0ff 60%,#e7f5ff);overflow:auto}
.slide.on{display:flex}.slide h1{font-size:clamp(1.7rem,5vw,3.4rem);margin:0;line-height:1.15}.slide h2{font-size:clamp(1.4rem,4vw,2.6rem);margin:0;color:var(--u)}
.slide p,.slide li{font-size:clamp(1.05rem,2.6vw,1.7rem);line-height:1.45;margin:.2rem 0}.slide ul,.slide ol{margin:0;padding-right:1.4em}
.slide.t{background:linear-gradient(140deg,var(--u),#1d1b3a);color:#fff}.slide.t h2{color:#ffd43b}
.tag{display:inline-block;background:var(--u);color:#fff;border-radius:99px;padding:.15rem .9rem;font-weight:800;font-size:clamp(.9rem,2vw,1.2rem);align-self:flex-start}
.slide.t .tag{background:#fff3}
.btn{display:inline-flex;align-items:center;gap:.4rem;min-height:52px;padding:.5rem 1.2rem;border-radius:16px;font-weight:900;text-decoration:none;background:#ffd43b;color:#1d1b3a;border:3px solid #1d1b3a;box-shadow:0 4px 0 #1d1b3a;font-size:1.15rem;align-self:flex-start}
.src{background:#fff;border-right:8px solid #f59f00;border-radius:14px;padding:.8rem 1.1rem;font-size:clamp(1rem,2.3vw,1.45rem)}
.con{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem}.con div{background:#fff;border-radius:16px;padding:.6rem .9rem;border-top:6px solid var(--u)}.con b{display:block;font-size:clamp(1.05rem,2.4vw,1.45rem)}.con span{font-size:clamp(.9rem,1.8vw,1.15rem)}
.tf span{display:inline-block;border:2px solid #868e96;border-radius:99px;padding:0 .7rem;margin-inline-start:.4rem;font-size:.8em}
.ctl{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .8rem;background:#fff;flex-wrap:wrap}
.ctl button,.ctl a{min-width:48px;min-height:48px;border-radius:14px;border:0;background:#e5dbff;font-size:1.1rem;font-weight:900;cursor:pointer;color:#1d1b3a;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem}
.ctl .n{font-weight:800}:focus-visible{outline:4px solid #f76707;outline-offset:2px}
.logo{display:flex;align-items:center;gap:.5rem;font-weight:700}.logo img{width:56px;height:56px;border-radius:50%;background:#fff}
