@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&family=Fraunces:opsz,wght@9..144,650;9..144,800&display=swap";:root{color:#0e2f25;background:#f7fbf4;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #146b4a;--green-dark: #0b3f2d;--leaf: #dcead2;--mint: #eef7ea;--coral: #d7684a;--gold: #c48a24;--text: #0e2f25;--muted: #65776b;--line: #dce8d7;--surface: #ffffff;--shadow: 0 18px 46px rgba(28, 65, 45, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:linear-gradient(180deg,#dcead2b8,#f7fbf400 340px),#f7fbf4}button,input,a{font:inherit}button{border:0}button,a{color:inherit}a{text-decoration:none}img{display:block;max-width:100%}:focus-visible{outline:3px solid rgba(20,107,74,.35);outline-offset:3px}main{overflow:hidden;padding-bottom:56px}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#0e2f2547;padding:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.welcome-dialog{position:relative;display:grid;width:min(100%,620px);gap:18px;border:1px solid rgba(220,232,215,.96);border-radius:8px;background:linear-gradient(135deg,#146b4a14,#d7684a14),#fff;box-shadow:0 26px 70px #0b3f2d38;padding:clamp(24px,5vw,42px);animation:welcomeIn .42s cubic-bezier(.2,.8,.2,1) both}.welcome-close{position:absolute;top:14px;right:14px;display:inline-flex;width:38px;height:38px;cursor:pointer;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:#ffffffc7;color:var(--green-dark)}.welcome-close:hover{background:#fff}.welcome-kicker{width:fit-content;border:1px solid rgba(20,107,74,.18);border-radius:999px;background:#ffffffbd;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;padding:8px 12px;text-transform:uppercase}.welcome-dialog h2{color:var(--green-dark);font-family:Fraunces,ui-serif,Georgia,serif;font-size:clamp(34px,6vw,56px);line-height:.98;margin:0;max-width:520px}.welcome-copy{display:grid;gap:14px}.welcome-copy p{color:#40564a;font-size:16px;font-weight:700;line-height:1.65}.welcome-copy p[lang=en]{color:#65776b;font-weight:600}.welcome-primary{display:inline-flex;min-height:48px;width:fit-content;cursor:pointer;align-items:center;justify-content:center;border-radius:8px;background:var(--green);color:#fff;font-weight:800;padding:0 20px;box-shadow:0 14px 28px #146b4a3d}.welcome-primary:hover{background:var(--green-dark)}.topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:auto 1fr minmax(240px,360px);align-items:center;gap:22px;border-bottom:1px solid rgba(220,232,215,.9);background:#f7fbf4eb;padding:14px max(18px,calc((100vw - 1180px)/2));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.topbar nav,.top-search,.control-grid button,.memory-actions button,.score-strip button,.group-rail button{min-height:44px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:0}.brand span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px;color:#fff;background:var(--green);box-shadow:0 10px 22px #146b4a38}.topbar nav{display:flex;align-items:center;justify-content:center;gap:6px;color:#496255;font-size:14px;font-weight:700}.topbar nav a{border-radius:8px;padding:11px 13px}.topbar nav a:hover{background:#146b4a14;color:var(--green-dark)}.top-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:0 13px}.top-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:15px}.study-screen{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:18px;max-width:1180px;min-height:calc(100dvh - 73px);margin:0 auto;padding:30px 18px 18px}.study-media,.learning-panel,.library-grid,.routine,.group-rail{animation:rise .52s cubic-bezier(.2,.8,.2,1) both}.learning-panel,.flashcard-inner{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.study-media{min-width:0}.flashcard-shell{position:relative;display:block;min-height:616px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;perspective:1400px;text-align:left}.flashcard-inner{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:filter .28s ease}.flashcard-shell:hover .flashcard-inner{filter:brightness(1.015)}.flashcard-shell.is-flipped .flashcard-inner{-webkit-transform:none;transform:none}.flash-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;overflow:hidden;opacity:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;transition:opacity .18s ease,transform .85s cubic-bezier(.2,.9,.2,1);will-change:opacity,transform}.flash-front{grid-template-rows:minmax(0,1fr) auto;-webkit-transform:rotateY(0deg) translateZ(1px);transform:rotateY(0) translateZ(1px);z-index:2}.flash-back{align-content:center;gap:16px;padding:clamp(24px,5vw,54px);-webkit-transform:rotateY(180deg) translateZ(1px);transform:rotateY(180deg) translateZ(1px);background:linear-gradient(135deg,#146b4a14,#d7684a14),#fff;z-index:1}.flashcard-shell.is-flipped .flash-front,.flashcard-shell:not(.is-flipped) .flash-back{opacity:0;pointer-events:none}.flashcard-shell.is-flipped .flash-front{-webkit-transform:rotateY(-180deg) translateZ(1px);transform:rotateY(-180deg) translateZ(1px);z-index:1}.flashcard-shell.is-flipped .flash-back{-webkit-transform:rotateY(0deg) translateZ(1px);transform:rotateY(0) translateZ(1px);z-index:2}.flash-back strong{color:var(--green-dark);font-family:Fraunces,ui-serif,Georgia,serif;font-size:clamp(40px,5.2vw,70px);line-height:.98;max-width:100%;overflow-wrap:anywhere}.flash-back p{max-width:560px;color:#52675b;font-size:18px;font-weight:700;line-height:1.45}.flash-back .pronunciation{color:var(--green-dark);font-size:16px;font-weight:800}.flash-back small{color:var(--muted);font-size:15px;font-weight:800}.flash-back>:not(.shine){position:relative;z-index:2}.flash-badge{position:relative;z-index:2;display:inline-flex;width:fit-content;border:1px solid var(--line);border-radius:999px;background:#ffffffb3;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;padding:8px 12px;text-transform:uppercase}.flashcard-shell .shine{position:absolute;top:-45%;right:-45%;bottom:-45%;left:-45%;z-index:1;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.46) 48%,transparent 60%);pointer-events:none;transform:translate(-48%) rotate(12deg);transition:transform .9s cubic-bezier(.2,.9,.2,1)}.flashcard-shell:hover .shine,.flashcard-shell:focus-visible .shine{transform:translate(48%) rotate(12deg)}.flashcard-shell.motion-next{animation:cardInNext .65s cubic-bezier(.18,.95,.22,1) both}.flashcard-shell.motion-prev{animation:cardInPrev .65s cubic-bezier(.18,.95,.22,1) both}.photo-stage{display:grid;min-height:520px;place-items:center;background:#fff}.photo-stage img{position:relative;z-index:2;width:min(92%,620px);height:min(72dvh,620px);object-fit:contain;transition:transform .24s ease}.flashcard-shell:hover .photo-stage img{transform:scale(1.018)}.media-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:16px 18px}.media-footer span,.answer span,.flower-card span,.progress-row span{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.media-footer strong{color:var(--green-dark);font-size:20px}.learning-panel{display:grid;align-content:center;gap:20px;padding:clamp(22px,4vw,44px)}.progress-row{display:grid;gap:8px}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e4eee0}.progress-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#4f9a5b);transition:width .26s ease}h1,h2,p{margin:0}h1,h2,.answer strong{font-family:Fraunces,ui-serif,Georgia,serif;letter-spacing:0}h1{color:var(--green-dark);max-width:100%;font-size:clamp(50px,5.7vw,76px);line-height:.9}.lead{max-width:560px;color:#506457;font-size:18px;line-height:1.7}.answer{display:grid;gap:8px;min-width:0;min-height:166px;border:1px solid var(--line);border-radius:8px;background:#f8fcf5;padding:18px}.answer strong{color:var(--green-dark);font-size:clamp(30px,5vw,48px);line-height:1.05}.answer p{color:#52675b;font-size:16px;line-height:1.55}.answer .pronunciation{color:var(--green-dark);font-size:15px;font-weight:800;line-height:1.35}.answer.is-visible{background:linear-gradient(135deg,#146b4a14,#d7684a14),#fff}.control-grid,.memory-actions,.score-strip{display:grid;min-width:0;gap:10px}.control-grid{grid-template-columns:1fr 1.3fr 1fr}.memory-actions,.score-strip{grid-template-columns:1fr 1fr}.control-grid button,.memory-actions button,.score-strip button,.group-rail button{display:inline-flex;cursor:pointer;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:15px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.control-grid button:hover,.memory-actions button:hover,.score-strip button:hover,.group-rail button:hover,.flower-card:hover{transform:translateY(-1px)}.primary,.known{color:#fff;background:var(--green);box-shadow:0 14px 28px #146b4a3d}.secondary,.review,.score-strip button,.group-rail button{border:1px solid var(--line);background:#fff;color:var(--green-dark)}.review{color:#8e3f2f;border-color:#efcabf;background:#fff6f2}.score-strip{align-items:center}.score-strip span,.score-strip button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border-radius:8px;background:#f2f8ef;color:#4d6255;font-size:14px}.score-strip strong{color:var(--green-dark);font-size:18px}.group-rail{display:flex;max-width:1180px;margin:0 auto;gap:8px;overflow-x:auto;padding:12px 18px 30px}.group-rail button{flex:0 0 auto;padding:0 15px;white-space:nowrap}.group-rail button.is-active{color:#fff;border-color:var(--green);background:var(--green)}.library-section{max-width:1180px;margin:0 auto;padding:26px 18px 28px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2,.routine h2{color:var(--green-dark);font-size:clamp(30px,5vw,52px);line-height:1}.section-heading p,.routine p{max-width:420px;color:var(--muted);font-size:16px;line-height:1.6}.library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.flower-card{position:relative;display:grid;gap:7px;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;cursor:pointer;padding:10px;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.flower-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px;background:#fbfdf9}.flower-card strong{color:var(--green-dark);font-size:15px;line-height:1.18}.flower-card small{color:#597064;font-size:13px;font-weight:700;line-height:1.25}.flower-card .card-pronunciation{color:var(--green-dark);font-size:12px}.flower-card.is-current{border-color:var(--green);box-shadow:0 18px 34px #146b4a26}.flower-card.is-known:after,.flower-card.is-review:after{position:absolute;top:10px;right:10px;width:10px;height:10px;content:"";border-radius:999px;background:var(--green)}.flower-card.is-review:after{background:var(--coral)}.routine{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1fr);align-items:center;gap:30px;max-width:1144px;margin:22px auto 0;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#146b4a14,#c48a241a),#fff;padding:clamp(22px,4vw,38px)}.routine div{display:grid;gap:14px}.routine ol{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:step}.routine li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:56px;border:1px solid rgba(220,232,215,.9);border-radius:8px;background:#ffffffb8;color:#40564a;padding:10px 12px;font-weight:700}.routine li:before{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;content:counter(step);counter-increment:step;border-radius:8px;background:var(--gold);color:#fff;font-size:14px}.site-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1144px;margin:18px auto 0;border-top:1px solid var(--line);padding:26px 18px 0}.footer-copy{display:grid;min-width:0;gap:10px}.footer-copy span{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.footer-copy p{color:#40564a;font-size:15px;font-weight:700;line-height:1.65}.footer-copy[lang=en] p{color:#65776b;font-weight:600}.footer-copy a{color:var(--green-dark);font-weight:800;text-decoration:underline;text-decoration-color:#146b4a52;text-decoration-thickness:2px;text-underline-offset:4px;overflow-wrap:anywhere}.footer-copy a:hover{color:var(--green);text-decoration-color:currentColor}.float-scroll{position:fixed;right:max(18px,calc((100vw - 1180px)/2));bottom:22px;z-index:30;display:inline-flex;width:52px;height:52px;cursor:pointer;align-items:center;justify-content:center;border:1px solid rgba(11,63,45,.14);border-radius:999px;background:var(--green);color:#fff;box-shadow:0 16px 32px #0b3f2d3d;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.float-scroll:hover{transform:translateY(-2px);background:var(--green-dark);box-shadow:0 18px 36px #0b3f2d4d}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardInNext{0%{opacity:0;filter:blur(8px);transform:translate(9%) scale(.94) rotate(3deg)}to{opacity:1;filter:blur(0);transform:translate(0) scale(1) rotate(0)}}@keyframes cardInPrev{0%{opacity:0;filter:blur(8px);transform:translate(-9%) scale(.94) rotate(-3deg)}to{opacity:1;filter:blur(0);transform:translate(0) scale(1) rotate(0)}}@media(max-width:980px){.topbar{grid-template-columns:1fr auto}.topbar nav{display:none}.top-search{grid-column:1 / -1}.study-screen,.routine{grid-template-columns:1fr}.photo-stage{min-height:420px}.flashcard-shell{min-height:502px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.topbar{gap:10px;padding:10px 14px}.brand span{width:34px;height:34px}.study-screen{min-height:auto;padding:16px 14px 10px}.welcome-overlay{align-items:end;padding:12px}.welcome-dialog{gap:14px;max-height:calc(100dvh - 24px);overflow-y:auto;padding:22px}.welcome-dialog h2{font-size:clamp(32px,10vw,42px)}.welcome-copy p{font-size:15px;line-height:1.55}.welcome-primary{width:100%}.photo-stage{min-height:340px}.flashcard-shell{min-height:404px}.flash-back{gap:12px;padding:24px 22px}.flash-back strong{font-size:clamp(30px,9vw,34px);line-height:1.02}.flash-back p{font-size:15px}.photo-stage img{height:320px}.learning-panel{padding:20px}h1{font-size:clamp(42px,14vw,58px)}.lead{font-size:16px}.answer strong{font-size:clamp(28px,10vw,38px)}.control-grid,.memory-actions,.score-strip,.section-heading{grid-template-columns:1fr}.control-grid{display:grid}.section-heading{display:grid;align-items:start}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flower-card{padding:8px}.flower-card strong{font-size:14px}.routine{margin-left:14px;margin-right:14px}.site-footer{grid-template-columns:1fr;gap:18px;margin-left:14px;margin-right:14px;padding-left:0;padding-right:0;padding-bottom:58px}.float-scroll{right:16px;bottom:16px;width:48px;height:48px}}@media(max-width:380px){.library-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
