.hero2{background:linear-gradient(160deg,#17456e,#1f6fb2 45%,#2f7d4a)}
.pass{background:linear-gradient(160deg,#1d3d63,#2a5b8f);color:#fff;border-radius:18px;padding:16px;box-shadow:0 4px 0 rgba(0,0,0,.2)}
.pass h3{margin:0 0 6px;font-size:1.25rem}
.pass input{max-width:320px}
.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}
.stamp{aspect-ratio:1;border-radius:50%;border:3px dashed rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:clamp(20px,6vw,34px);background:rgba(255,255,255,.08)}
.stamp.on{border:4px solid #e3a019;background:#fff;transform:rotate(-8deg);box-shadow:0 0 0 3px rgba(227,160,25,.4)}
.station{background:#fff;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 2px 8px rgba(80,40,10,.1);border-right:8px solid var(--sky)}
.station.done{border-right-color:var(--green);background:#f3fbf5}
.station h3{margin:0 0 6px;font-size:1.12rem}
.meter{height:22px;border-radius:999px;background:#efe2cf;overflow:hidden;margin:8px 0}
.meter i{display:block;height:100%;background:linear-gradient(90deg,#2f7d4a,#e3a019);transition:width .25s}
.meter.full i{background:#a8322a}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.item{border:2px solid #cdb79c;background:#fff;border-radius:14px;padding:10px 8px;min-height:84px;text-align:center;font-weight:700;line-height:1.25}
.item .e{display:block;font-size:1.8rem}
.item small{display:block;font-weight:500;color:var(--muted)}
.item[aria-pressed="true"]{border-color:var(--green);background:#e3f4e8;box-shadow:0 0 0 3px #9fd3b0}
.sortcard{font-size:1.25rem;font-weight:800;text-align:center;background:#fffdf8;border:3px solid var(--gold);border-radius:18px;padding:22px 14px;margin:10px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.two .btn{min-height:64px;font-size:1.05rem}
.tl{display:grid;gap:8px}
.tlrow{display:flex;gap:8px;align-items:center;background:#fff;border:2px solid #cdb79c;border-radius:14px;padding:8px}
.tlrow .tx{flex:1;font-weight:600}
.tlrow .mv{display:flex;flex-direction:column;gap:4px}
.tlrow .mv button{border:0;background:#efe2cf;border-radius:10px;width:46px;height:40px;font-size:1.1rem}
.tlrow.good{border-color:#2f7d4a;background:#e3f4e8}.tlrow.bad{border-color:#a8322a;background:#fde7e4}
.yr{font-weight:800;color:var(--sky);display:block}
.scale{margin:10px 0 16px}
.scale input[type=range]{width:100%;height:36px;accent-color:#1f6fb2}
.scale .ends{display:flex;justify-content:space-between;font-size:.9rem;font-weight:700;color:var(--muted)}
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-width:360px;margin:10px auto}
.mosaic span{aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.hello{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0}
.hello span{background:#fff;border:2px solid #bcd9f1;border-radius:999px;padding:6px 12px;font-weight:700}
.match{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.match .card{width:100%;min-height:58px;font-size:1.05rem}
.match .card.good{border-color:#2f7d4a;background:#e3f4e8}
.plan{display:grid;gap:10px}
.day{background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 2px 8px rgba(80,40,10,.08);border-top:6px solid var(--gold)}
.day h3{margin:0 0 4px;font-size:1.05rem}.day p{margin:4px 0;font-size:.97rem}
@media(min-width:760px){.plan{grid-template-columns:1fr 1fr}}
.scale .e1,.scale .e2{font-size:.92rem;font-weight:700}.scale .e1{color:#8a3a12}.scale .e2{color:#1d5c36}
.scale{border-bottom:1px dashed #e0cfb8;padding-bottom:8px}
