@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root{--paper:#f5f3ee;--ink:#20221e;--muted:#777972;--line:#e5e2d9;--green:#304f3b;--green-light:#e8eee7;--coral:#dd6d4a;--white:#fffefa;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--serif:'Playfair Display',Georgia,serif;color-scheme:light}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e6df}.wordmark{text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:-.6px;display:inline-flex;align-items:center;gap:10px}.wordmark-mark{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:var(--green);font:italic 600 17px var(--serif);border-radius:50%}.topbar-right{display:flex;align-items:center;gap:28px}.topbar-right form{margin:0}.private-label,.eyebrow,.mode-label,.site-footer,.rank-tag,.tap-hint{font:500 10px var(--mono);letter-spacing:1.25px}.private-label{color:#72766f;display:flex;align-items:center;gap:8px}.private-label span{width:6px;height:6px;background:#71a477;border-radius:50%;box-shadow:0 0 0 3px #e5eee4}.signout{border:0;background:transparent;color:#62655f;font-size:12px;padding:10px 0}.signout span{color:var(--coral);margin-left:4px}.shell{width:min(100% - 48px,1020px);margin:0 auto}.intro{padding:66px 0 48px;text-align:center}.eyebrow{color:var(--green)}.sparkle{font-size:13px;color:var(--coral);margin-right:5px}.intro h1,.login-card h1{font:500 clamp(42px,7.2vw,68px)/1.02 var(--serif);letter-spacing:-2.8px;margin:19px 0 13px}.intro h1 em,.login-card h1 em{color:var(--green);font-weight:500}.intro>p{font-size:14px;color:#777972;margin:0}.intro-note{display:flex;justify-content:center;align-items:center;gap:11px;margin-top:26px;color:#74766f;font:10px var(--mono);letter-spacing:.1px}.intro-note span{color:var(--coral)}.intro-note i{height:1px;width:18px;background:#d7d3c9;margin:0 4px}.practice-panel{max-width:790px;margin:0 auto;background:var(--white);border:1px solid #ebe8df;border-radius:10px;padding:29px 34px 34px;box-shadow:0 12px 48px #3d382710}.panel-heading{display:flex;justify-content:space-between;align-items:center}.muted{color:#9a9b95;font-size:9px}.panel-heading h2{font:500 22px var(--serif);margin:8px 0 0;letter-spacing:-.4px}.round-icon{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--green)}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 25px}.select-field{border:1px solid var(--line);border-radius:5px;padding:9px 12px 7px;display:flex;flex-direction:column;gap:3px}.select-field>span,.answer-form>label{font:10px var(--mono);letter-spacing:.5px;color:#858780}.select-field select{appearance:none;border:0;outline:0;background:transparent;color:#292b26;font-size:13px;font-weight:600;padding:2px 18px 2px 0;background-image:linear-gradient(45deg,transparent 50%,#82847d 50%),linear-gradient(135deg,#82847d 50%,transparent 50%);background-position:calc(100% - 5px) 50%,100% 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.mode-label{font-size:9px;color:#a0a19a;margin-bottom:9px}.mode-switch{display:grid;grid-template-columns:repeat(3,1fr);background:#f3f1eb;padding:4px;border-radius:6px;gap:3px}.mode-tab{border:0;background:transparent;color:#777972;border-radius:4px;font-size:12px;font-weight:600;padding:10px 5px;transition:.15s}.mode-tab span{font:10px var(--mono);color:#a1a29b;margin-right:7px}.mode-tab.active{background:var(--white);color:var(--green);box-shadow:0 1px 5px #24241812}.mode-tab.active span{color:var(--coral)}#practice-content{margin-top:20px}.verb-card{background:#faf9f5;border:1px solid #efede6;border-radius:6px;padding:22px 25px 20px}.card-topline{display:flex;align-items:center;justify-content:space-between}.rank-tag{font-size:9px;letter-spacing:.9px;color:#868880}.rank-tag i,.card-count i{color:var(--coral);font-style:normal;margin:0 4px}.card-count{font:10px var(--mono);color:#a0a19a}.verb-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 18px}.verb-title h3{font:500 37px/1 var(--serif);letter-spacing:-1px;margin:0}.verb-title p{font-size:12px;color:#777972;margin:8px 0 0}.verb-title p span{color:#a1a29b}.tense-pill{font:10px var(--mono);color:var(--green);background:var(--green-light);padding:7px 10px;border-radius:99px}.conjugation-table{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:35px;padding:9px 0}.conjugation-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 2px;border-bottom:1px solid #eeece5;font-size:13px}.conjugation-row span{color:#92948e}.conjugation-row strong{font-weight:600;color:#2d302a;text-align:right}.conjugation-row.chosen{background:#e8eee7;margin:0 -8px;padding-left:10px;padding-right:10px;border-radius:4px}.conjugation-row.chosen span,.conjugation-row.chosen strong{color:var(--green)}.card-actions{display:flex;justify-content:space-between;gap:10px;margin-top:17px}.button{border-radius:4px;padding:11px 15px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:38px}.button-dark{background:var(--green);border:1px solid var(--green);color:white}.button-dark:hover{background:#243e2e}.button-dark:disabled{opacity:.55;cursor:not-allowed}.button-outline{border:1px solid var(--line);background:transparent;color:#575a53}.button span{color:#edb09a}.flash-card{padding:0;overflow:hidden}.flash-inner{position:relative;display:block;width:100%;min-height:250px;padding:22px 25px 18px;border:0;background:transparent;color:inherit;text-align:left;perspective:900px}.flash-front,.flash-back{transition:transform .48s,opacity .3s;backface-visibility:hidden}.flash-front{display:flex;align-items:center;flex-direction:column;min-height:210px}.flash-front .flash-word{font:500 51px/1.1 var(--serif);letter-spacing:-1.7px;margin-top:34px}.flash-meaning{margin-top:7px;color:#777972;font-size:12px}.flash-meaning i{color:var(--coral);font-style:normal}.tap-hint{display:block;color:#a0a19a;font-size:9px;margin-top:31px;text-align:center}.tap-hint b{color:var(--coral);font-size:13px;margin-left:5px}.flash-back{position:absolute;inset:20px 25px;opacity:0;transform:rotateX(-90deg);pointer-events:none}.flash-back-head{display:flex;justify-content:space-between;color:#8b8d86;font:10px var(--mono);margin-bottom:17px}.flash-back .conjugation-table{padding-bottom:0}.is-revealed .flash-front{opacity:0;transform:rotateX(90deg)}.is-revealed .flash-back{opacity:1;transform:rotateX(0);pointer-events:auto}.is-revealed .flash-inner{min-height:320px}.flash-card .card-actions{padding:0 25px 20px;margin-top:0}.type-card{padding-bottom:20px}.type-prompt{margin:30px 0 25px;text-align:center}.prompt-verb{font:500 40px/1.15 var(--serif);letter-spacing:-1.1px}.prompt-verb span{display:block;font:12px var(--sans);letter-spacing:0;color:#858780;margin-top:7px}.prompt-line{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;color:#82847d;font:11px var(--mono)}.prompt-line i{color:var(--coral);font-style:normal}.prompt-line strong{color:var(--green);font-weight:500}.answer-form>label{display:block;margin-bottom:7px}.answer-entry{display:flex;gap:8px}.answer-entry input{min-width:0;flex:1;border:1px solid #dedbd1;border-radius:4px;background:#fffefa;padding:11px 12px;font:14px var(--sans);color:var(--ink);outline:none}.answer-entry input:focus{border-color:#809584;box-shadow:0 0 0 3px #e8eee7}.answer-entry input::placeholder{color:#b3b4ae}.answer-feedback{margin-top:12px;display:flex;align-items:center;gap:9px;border-radius:4px;padding:9px 11px}.answer-feedback>span{font:16px var(--mono)}.answer-feedback strong,.answer-feedback small{display:block}.answer-feedback strong{font-size:11px}.answer-feedback small{font-size:11px;margin-top:2px}.answer-feedback.correct{background:#e8eee7;color:var(--green)}.answer-feedback.close{background:#f6eee1;color:#956826}.answer-feedback.wrong{background:#f7e9e3;color:#a34f37}.type-card>.conjugation-table{margin-top:14px}.typing-tip{color:#999b94;font-size:10px;margin-top:19px}.typing-tip span{color:var(--coral);margin-right:3px}.full-button{width:100%;margin-top:2px}.empty-state{text-align:center;padding:45px 12px;color:#888a83;font-size:13px}.site-footer{max-width:790px;margin:24px auto 42px;display:flex;justify-content:space-between;color:#a1a29b;font-size:8px;letter-spacing:1px}.site-footer i{font-style:normal;color:var(--coral);margin:0 3px}.login-page{display:grid;place-items:center;padding:24px}.login-card{width:min(100%,410px);padding:38px 40px 29px;background:var(--white);border:1px solid #e9e6df;border-radius:9px;box-shadow:0 12px 48px #3d382710}.login-card .wordmark{margin-bottom:42px}.login-card .eyebrow{font-size:9px}.login-card h1{font-size:44px;letter-spacing:-1.8px;margin:14px 0 11px}.login-copy{font-size:13px;color:#777972;margin:0 0 29px}.login-form label{display:block;font:10px var(--mono);color:#74766f;margin-bottom:7px}.login-form input{width:100%;border:1px solid #dedbd1;border-radius:4px;background:#fffefa;padding:12px;font-size:14px;outline:none}.login-form input:focus{border-color:#809584;box-shadow:0 0 0 3px #e8eee7}.login-form .button{width:100%;margin-top:12px;min-height:43px}.login-form .button span{margin-left:auto}.form-error{color:#a34f37;font-size:11px;margin:8px 0 0}.login-foot{border-top:1px solid var(--line);padding-top:17px;margin:23px 0 0;text-align:center;color:#999b94;font-size:10px}.login-foot span{color:var(--coral);margin:0 5px}

@media(max-width:640px){.topbar{height:62px;padding:0 19px}.wordmark{font-size:18px}.wordmark-mark{width:27px;height:27px}.topbar-right{gap:13px}.private-label{font-size:8px;letter-spacing:.7px}.signout{font-size:11px}.shell{width:calc(100% - 28px)}.intro{padding:43px 0 29px}.intro h1{font-size:48px;letter-spacing:-2px;margin:15px 0 10px}.intro>p{max-width:310px;margin:auto;font-size:12px;line-height:1.6}.intro-note{margin-top:18px;font-size:8px;gap:7px}.intro-note i{width:10px}.practice-panel{padding:20px 14px 17px;border-radius:7px}.panel-heading h2{font-size:20px}.round-icon{width:29px;height:29px}.control-grid{gap:8px;margin:16px 0 19px}.select-field{padding:8px 9px}.select-field>span{font-size:9px}.select-field select{font-size:11px}.mode-tab{font-size:10px;padding:10px 3px}.mode-tab span{font-size:8px;margin-right:3px}.mode-switch{padding:3px;gap:1px}#practice-content{margin-top:13px}.verb-card{padding:17px 13px 13px}.rank-tag{font-size:8px;letter-spacing:.45px}.card-count{font-size:9px}.verb-title{margin:16px 0 13px;gap:8px}.verb-title h3{font-size:31px}.verb-title p{font-size:10px}.tense-pill{font-size:8px;padding:6px 7px;white-space:nowrap}.conjugation-table{column-gap:15px;padding:7px 0}.conjugation-row{font-size:11px;padding:9px 0;gap:4px}.conjugation-row.chosen{margin:0 -4px;padding-left:6px;padding-right:6px}.button{padding:10px 11px;font-size:10px;gap:7px}.flash-inner{min-height:238px;padding:19px 13px 15px}.flash-front{min-height:200px}.flash-front .flash-word{font-size:45px;margin-top:35px}.flash-back{inset:17px 13px}.flash-back-head{margin-bottom:14px}.is-revealed .flash-inner{min-height:326px}.flash-card .card-actions{padding:0 13px 14px}.type-prompt{margin:24px 0 21px}.prompt-verb{font-size:36px}.prompt-line{font-size:10px}.answer-entry{gap:6px}.answer-entry input{padding:10px;font-size:13px}.typing-tip{font-size:9px;line-height:1.5}.site-footer{font-size:7px;letter-spacing:.5px;margin:18px auto 28px}.login-card{padding:31px 24px 24px}.login-card .wordmark{margin-bottom:35px}.login-card h1{font-size:40px}.login-page{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.due-badge{min-width:60px;text-align:center;display:flex;flex-direction:column;gap:3px}.due-badge span{font:600 16px var(--mono);color:var(--green)}.due-badge small{font:9px var(--mono);letter-spacing:.5px;color:#92948e;text-transform:uppercase}.review-rating{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.rating-heading{font:500 9px var(--mono);letter-spacing:1px;color:#858780;margin-bottom:9px}.rating-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.rating-button{min-height:53px;border:1px solid var(--line);border-radius:4px;background:#fffefa;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:#33362f}.rating-button strong{font-size:11px}.rating-button small{font:9px var(--mono);color:#8d8f89}.rating-button:hover{border-color:#96a595;background:#f5f7f2}.rating-button:disabled{opacity:.55;cursor:wait}.rating-again strong{color:#a34f37}.rating-hard strong{color:#956826}.rating-good strong,.rating-easy strong{color:var(--green)}.rating-note,.save-error{margin:9px 0 0;font-size:10px;color:#999b94}.save-error{color:#a34f37}
@media(max-width:640px){.due-badge{min-width:48px}.due-badge span{font-size:14px}.due-badge small{font-size:8px}.review-rating{margin-top:16px;padding-top:13px}.rating-buttons{gap:5px}.rating-button{min-height:49px}.rating-button strong{font-size:10px}.rating-button small{font-size:8px}.rating-note,.save-error{font-size:9px}}
