:root{--ink:#17332f;--green:#315c55;--green2:#e0f0e9;--gold:#f3b84b;--cream:#fffaf0;--line:#9eb4ae;--warn:#8b2c25;--shadow:0 5px 16px rgba(23,51,47,.12)}
*{box-sizing:border-box}body{margin:0;background:#f4f1e8;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:18px;line-height:1.65}button{min-height:60px;padding:.7rem 1.25rem;border:3px solid var(--green);border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}button:hover{background:var(--green2)}button:focus-visible,a:focus-visible{outline:5px solid #1463d6;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48;background:#eee}.primary{background:var(--green);color:#fff}.primary:hover{background:#244a44}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:1rem}.screen{max-width:1400px;margin:auto;padding:clamp(1rem,3vw,2.5rem);min-height:100vh}.hero{text-align:center;display:grid;place-content:center;background:radial-gradient(circle,#fff 0,#fffaf0 55%,#e5efe9 100%)}.shop-mark{font-size:clamp(3rem,8vw,6rem);letter-spacing:.2em}.eyebrow{font-weight:900;color:var(--green);letter-spacing:.08em}.hero h1,.page-head h2{font-size:clamp(2.4rem,7vw,5.3rem);line-height:1.15;margin:.3rem}.subtitle{font-size:clamp(1.25rem,3vw,2rem);font-weight:800}.button-row,.action-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem}.panel,.level-card,.mission-box,.basket,.result-card{background:#fff;border:3px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.panel{padding:clamp(1rem,4vw,3rem);margin:auto}.narrow{max-width:760px;text-align:center}.instructions{font-size:clamp(1.25rem,3vw,1.8rem);font-weight:700}.page-head{text-align:center;margin-bottom:2rem}.level-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-bottom:2rem}.level-card{padding:1.4rem}.level-card h3{font-size:1.45rem;margin:.2rem 0}.level-card ul{padding-left:1.4rem}.level-card button{width:100%}.mission-head{max-width:1050px;margin:auto}.badge{display:inline-block;background:var(--green);color:#fff;border-radius:999px;padding:.3rem .8rem;margin-right:.8rem;font-weight:900}.progress{height:18px;background:#d9dfdc;border:2px solid var(--green);border-radius:99px;margin:.7rem 0}.progress span{display:block;height:100%;width:33%;background:var(--gold);border-radius:99px}.mission-box{padding:1rem 1.5rem;border-left:10px solid var(--gold)}.mission-box h2{margin:0}.mission-box p{white-space:pre-line;font-size:1.2rem;font-weight:800}.conditions{display:flex;flex-wrap:wrap;gap:.5rem}.condition{background:var(--green2);padding:.3rem .65rem;border-radius:8px}.budget{display:block;font-size:1.35rem;margin-top:.6rem}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.3rem;margin-top:1.3rem;align-items:start}.tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.tabs button[aria-selected=true]{background:var(--green);color:#fff;border-bottom:7px solid var(--gold)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.product-card{position:relative;background:#fff;border:3px solid var(--line);border-radius:18px;padding:1rem;text-align:center}.product-card.selected{border:6px solid var(--green);padding:calc(1rem - 3px)}.selected-label{display:block;font-weight:900}.check{font-size:1.4rem}.product-card img{width:100%;height:135px;object-fit:contain}.product-card h3{font-size:1.2rem;margin:.2rem}.price,.subtotal{font-weight:800}.stepper{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:.4rem}.stepper button{padding:0;font-size:2rem}.quantity{font-size:1.35rem;font-weight:900}.basket{padding:1rem;position:sticky;top:1rem}.basket h2{margin-top:0}.basket-item{padding:.55rem 0;border-bottom:2px solid #d8e0dd}.summary{display:grid;grid-template-columns:1fr auto;gap:.25rem}.summary strong{font-size:1.25rem}.difference{padding:.7rem;background:var(--green2);border-radius:10px;font-weight:900}.warning{background:#fff0ed;color:#631d17;border:3px solid var(--warn)}.feedback{max-width:950px;margin:1.4rem auto 0;padding:1.2rem;border:4px solid var(--green);border-radius:18px;background:#fff;font-size:1.2rem}.feedback.incorrect{border-color:#b36a17}.result-score{font-size:1.5rem;font-weight:900}.result-list{display:grid;gap:1rem}.result-card{padding:1rem 1.3rem}.result-card h3{margin:.2rem 0}.status{font-weight:900}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.order-layout{grid-template-columns:1fr}.basket{position:static}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body{font-size:17px}.level-list,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.screen{padding:1rem}.product-card img{height:105px}.action-bar button{flex:1 1 45%}}
@media(max-width:420px){.product-grid{grid-template-columns:1fr}.level-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
