.free-practice{color:#f3f2fa;max-width:1000px;margin:auto;padding:24px 20px 70px;font-family:Noto Sans JP,sans-serif;line-height:1.8}.free-practice nav{flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:.9rem;display:flex}.free-practice a{color:#bcb8ff;text-decoration:none}.free-practice a:hover{text-decoration:underline}.free-practice header{margin:48px 0 28px}.free-practice h1{margin:12px 0 20px;font-size:clamp(1.8rem,5vw,3rem);font-weight:800;line-height:1.3}.free-practice h2{margin-bottom:12px;font-size:1.35rem;font-weight:700}.free-practice p{margin:10px 0}.free-practice .eyebrow{color:#bcb8ff;letter-spacing:.09em;font-weight:700}.free-practice .muted{color:#bbb9cf;font-size:.88rem}.free-practice .practice-notice{background:#25243e;border:1px solid #45425e;border-radius:16px;margin:24px 0;padding:20px}.free-practice input[type=search],.free-practice textarea{box-sizing:border-box;color:#fff;width:100%;font:inherit;background:#25243e;border:1px solid #69647e;border-radius:12px;padding:15px;display:block}.free-practice textarea{resize:vertical;margin:10px 0}.free-practice .search-label{margin:30px 0 10px;display:block}.free-practice .topic-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:24px;display:grid}.free-practice .topic-card{color:#f3f2fa;background:#25243e;border:1px solid #45425e;border-radius:16px;flex-direction:column;padding:22px;display:flex}.free-practice .topic-card:hover{border-color:#bcb8ff;text-decoration:none}.free-practice .topic-card span:not(.topic-emoji){color:#bbb9cf;font-size:.88rem}.free-practice .topic-emoji{margin-bottom:8px;font-size:2rem}.free-practice .topic-card small{color:#86efac;margin-top:8px}.free-practice section{margin-top:36px}.free-practice .level-list{gap:16px;display:grid}.free-practice .level-card{background:#25243e;border:1px solid #45425e;border-left:5px solid;border-radius:12px;padding:22px}.free-practice .model-answer{font-size:1.15rem}.free-practice button,.free-practice .next-topic{color:#fff;cursor:pointer;font:inherit;background:#353153;border:1px solid #716c96;border-radius:10px;margin-top:10px;padding:10px 16px;display:inline-block}.free-practice button:disabled{opacity:.45;cursor:not-allowed}.free-practice button.primary{background:#6558b5}.free-practice details{margin:10px 0}.free-practice summary{cursor:pointer;color:#c4b5fd}.free-practice .vocab-list{flex-wrap:wrap;gap:12px;display:flex}.free-practice .vocab-list p{background:#25243e;border-radius:12px;padding:12px 18px}.free-practice .vocab-list span{color:#bbb9cf;font-size:.9rem;display:block}.free-practice ul{padding-left:24px;list-style:outside}.free-practice audio{width:100%;margin-top:16px;display:block}.free-practice .completion{align-items:center;gap:12px;font-weight:700;display:flex}.free-practice input[type=checkbox]{accent-color:#a78bfa;width:22px;height:22px}@media (max-width:480px){.free-practice{padding:20px 16px 50px}.free-practice .topic-grid{grid-template-columns:1fr}}body:has(.free-practice){background:linear-gradient(#bfdbfe 0%,#dbeafe 25%,#fce7f3 60%,#fdf2f8 100%) fixed}.free-practice{color:#1f1135;max-width:960px;font-family:Nunito,Noto Sans JP,system-ui,sans-serif;position:relative}.free-practice:before,.free-practice:after{content:"🌸";pointer-events:none;opacity:.25;z-index:-1;font-size:26px;position:fixed;top:24%;left:3%}.free-practice:after{top:65%;left:auto;right:3%}.free-practice a{color:#a31a60}.free-practice nav{align-items:center;padding:4px 0 20px;font-weight:800}.free-practice .eyebrow{color:#b21d64}.free-practice .muted,.free-practice .topic-card span:not(.topic-emoji),.free-practice .vocab-list span{color:#6c546e}.free-practice .practice-notice{background:#ffffffb3;border-color:#e5cada;font-size:.88rem}.free-practice .topic-card,.free-practice .level-card,.free-practice .lesson-panel,.free-practice .today-card{color:#1f1135;background:#ffffffe6;border:1px solid #efd6e5;border-radius:22px;padding:24px;box-shadow:0 4px 16px #6428500f}.free-practice .today-card{background:linear-gradient(135deg,#fff5f8,#fce7f3);border-left:5px solid #ec4899}.free-practice .topic-card:hover{border-color:#ec4899;transform:translateY(-2px)}.free-practice .topic-card small{color:#166534}.free-practice .level-card{border-left:5px solid}.free-practice input[type=search],.free-practice textarea{color:#1f1135;background:#fff;border-color:#d8b8cf}.free-practice button,.free-practice .next-topic{color:#9b1756;background:#ffffffe6;border:1px solid #dba4c0;border-radius:999px;font-weight:800}.free-practice button.primary,.free-practice .next-topic{color:#fff;background:linear-gradient(135deg,#e91e63,#c2185b);border:0;padding:15px 26px;box-shadow:0 8px 24px #e91e6333}.free-practice summary{color:#a31a60}.free-practice .vocab-list p{background:#fff5f8;border:1px solid #efd6e5}.free-practice .audio-message{color:#8c3c20}.free-practice :focus-visible{outline-offset:4px;outline:3px solid #be185d}.free-practice input[type=checkbox]{accent-color:#c2185b}.free-practice .lesson-stages{grid-template-columns:repeat(6,1fr);gap:6px;margin:18px 0;display:grid}.free-practice .lesson-stages button{border-radius:14px;padding:10px 4px;font-size:12px}.free-practice .lesson-stages [aria-current=step]{color:#fff;background:#be185d}.free-practice .lesson-controls{justify-content:space-between;gap:16px;margin:26px 0;display:flex}.free-practice .lesson-flower{text-align:center;font-size:64px}.free-practice[translate=no]{max-width:720px}.free-practice[translate=no] header{text-align:center;margin:24px 0}.free-practice[translate=no] h1{font-size:clamp(1.6rem,5vw,2.3rem)}@media (max-width:480px){.free-practice .lesson-stages{grid-template-columns:repeat(3,1fr)}.free-practice .lesson-panel{padding:18px}}@media (prefers-reduced-motion:reduce){.free-practice *{scroll-behavior:auto!important;transition:none!important}}.free-practice .lesson-flower{justify-content:center;margin:12px 0;display:flex}.free-practice[translate=no]{flex-direction:column;max-width:640px;min-height:100dvh;display:flex}.free-practice[translate=no] .stage-caption{text-align:center;color:#a31a60;margin:4px 0;font-size:.8rem;font-weight:800}.free-practice[translate=no] .reveal-question{background:#fffc;border-radius:24px;width:100%;min-height:160px;font-size:1.4rem}.free-practice[translate=no] .reveal-question small{font-size:.85rem}.free-practice[translate=no] .lesson-controls{margin-top:auto;padding-top:28px}.free-practice[translate=no] details.lesson-panel{margin-top:24px}.free-practice[translate=no] .lesson-panel button{margin-top:6px}
