:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#20302a;background:#f4f7f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #20302a;--muted: #84918a;--green: #287654;--green-dark: #1d6245;--green-soft: #e8f2eb;--line: #e9eee9;--surface: #fff;--shadow: 0 10px 35px rgb(28 54 38 / 5%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}input,textarea,select{color:var(--ink)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgb(49 132 93 / 24%);outline-offset:2px}.app-shell{min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;left:0;padding:30px 20px 22px;position:fixed;top:0;width:242px;z-index:10}.brand-lockup{align-items:center;background:none;border:0;color:inherit;display:flex;gap:12px;padding:0 8px;text-align:left}.brand-mark{align-items:center;background:#2d7955;border-radius:13px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:19px;font-weight:800;height:42px;justify-content:center;width:42px}.brand-lockup strong{display:block;font-size:16px;letter-spacing:.04em}.brand-lockup small{color:#98a39d;display:block;font-size:9px;letter-spacing:.13em;margin-top:3px}.side-nav{display:grid;gap:7px;margin-top:58px}.nav-item{align-items:center;background:transparent;border:0;border-radius:11px;color:#6e7d74;display:flex;font-size:14px;gap:13px;min-height:47px;padding:0 13px;text-align:left;transition:background .16s,color .16s}.nav-item:hover{background:#f5f8f5;color:var(--green-dark)}.nav-item.active{background:var(--green-soft);color:var(--green-dark);font-weight:700}.nav-icon{align-items:center;color:inherit;display:inline-flex;font-size:16px;font-weight:700;height:23px;justify-content:center;width:23px}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding-top:17px}.profile-chip{align-items:center;display:flex;gap:10px;min-width:0}.avatar{align-items:center;background:#f0e7dc;border-radius:50%;color:#885f42;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:700;height:34px;justify-content:center;width:34px}.profile-email{color:#68766e;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button,.mobile-logout{background:none;border:0;color:#8a9690;font-size:12px;margin:13px 0 0 44px;padding:5px 0}.logout-button:hover,.mobile-logout:hover{color:#ae4f4b}.workspace{margin-left:242px;min-height:100vh;min-width:0}.topbar{align-items:center;background:#ffffffd4;border-bottom:1px solid var(--line);display:flex;height:66px;justify-content:flex-end;padding:0 5.5%;position:sticky;top:0;z-index:8}.topbar-caption{color:#87938d;font-size:12px;margin-right:auto}.topbar-user{align-items:center;color:#6e7f74;display:flex;font-size:11px;gap:8px}.online-dot{background:#52a878;border-radius:50%;display:inline-block;height:7px;width:7px}.main-content{margin:0 auto;max-width:1120px;min-width:0;padding:40px 5.5% 65px}.mobile-brand,.mobile-logout,.mobile-nav{display:none}.page-stack{display:grid;gap:25px;min-width:0}.page-title h1{font-size:clamp(27px,3vw,35px);letter-spacing:-.045em;margin:3px 0 8px}.page-title p{margin-bottom:0}.eyebrow{color:#8b9a90;font-size:10px;font-weight:700;letter-spacing:.16em;margin:0 0 7px}.muted{color:var(--muted);font-size:13px;line-height:1.65}.small{font-size:11px}.welcome-panel{align-items:center;background:#27714f;border-radius:22px;color:#fff;display:flex;justify-content:space-between;min-height:230px;overflow:hidden;padding:35px 42px;position:relative}.welcome-panel .eyebrow{color:#b4d5c3}.welcome-panel h1{font-size:clamp(27px,4vw,40px);letter-spacing:-.045em;line-height:1.27;margin:8px 0 12px;position:relative;z-index:1}.welcome-panel p:not(.eyebrow){color:#d0e3d8;font-size:13px;margin:0;position:relative;z-index:1}.mobile-break{display:none}.welcome-orbit{border:1px solid rgb(255 255 255 / 11%);border-radius:50%;height:280px;position:absolute;right:130px;top:-100px;width:280px}.orbit-two{height:380px;right:80px;top:-150px;width:380px}.button{align-items:center;border:0;border-radius:10px;display:inline-flex;font-size:13px;font-weight:700;gap:10px;justify-content:center;min-height:45px;padding:0 19px;transition:background .16s,transform .16s}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover:not(:disabled){background:var(--green-dark)}.button.light{background:#fff;color:var(--green-dark);min-width:143px;position:relative;z-index:1}.button.light:hover{background:#eff7f1}.button.secondary{background:#f1f5f1;color:#53665a}.button.secondary:hover:not(:disabled){background:#e7eee7}.button.full{width:100%}.section-block{display:grid;gap:16px}.section-heading{align-items:center;display:flex;justify-content:space-between}.section-heading h2,.section-heading h3{margin:0}.section-heading h2{font-size:21px;letter-spacing:-.03em}.text-button{background:none;border:0;color:var(--green);font-size:12px;font-weight:700;padding:9px 2px}.text-button:hover{color:var(--green-dark)}.panel{background:var(--surface);border:1px solid #edf1ed;border-radius:16px;box-shadow:var(--shadow)}.loading-panel{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:12px;justify-content:center;min-height:130px}.spinner{animation:spin .8s linear infinite;border:2px solid #dce9df;border-radius:50%;border-top-color:var(--green);display:inline-block;height:19px;width:19px}@keyframes spin{to{transform:rotate(360deg)}}.total-card{align-items:center;display:flex;gap:15px;padding:20px 22px}.stat-icon{align-items:center;background:#edf5ee;border-radius:12px;color:var(--green);display:inline-flex;font-size:20px;font-weight:700;height:47px;justify-content:center;width:47px}.total-card .muted{display:block;font-size:11px}.total-card strong{display:block;font-size:29px;letter-spacing:-.04em;line-height:1.2}.stat-unit{color:#a0aaa4;font-size:11px;margin-left:auto;align-self:flex-end;padding-bottom:5px}.overview-grid{display:grid;gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.familiarity-card{padding:19px}.familiarity-title{align-items:center;display:flex;gap:10px;margin-bottom:18px}.direction-badge{align-items:center;background:#f5eee4;border-radius:10px;color:#9a744d;display:inline-flex;font-size:11px;font-weight:700;height:36px;justify-content:center;width:39px}.familiarity-title h3{font-size:14px;margin:0 0 3px}.familiarity-title small{color:#9aa49e;font-size:10px}.level-list{display:grid;gap:10px}.level-row{align-items:center;color:#78867d;display:grid;font-size:10px;gap:9px;grid-template-columns:77px 1fr 20px}.level-row strong{color:#47564c;font-size:10px;text-align:right}.level-track,.progress-track{background:#edf2ed;border-radius:99px;height:6px;overflow:hidden}.level-track i,.progress-track i{background:#75ad88;border-radius:inherit;display:block;height:100%}.quick-actions{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;color:inherit;display:flex;gap:13px;min-height:83px;padding:15px;text-align:left}.action-card:hover{border-color:#cbded0;box-shadow:var(--shadow)}.action-symbol{align-items:center;border-radius:11px;display:inline-flex;flex:0 0 auto;font-size:18px;font-weight:700;height:42px;justify-content:center;width:42px}.action-symbol.green{background:#e8f2e9;color:var(--green)}.action-symbol.peach{background:#f8eee5;color:#a67853;font-size:13px}.action-card strong,.action-card small{display:block}.action-card strong{font-size:12px}.action-card small{color:#98a39c;font-size:10px;margin-top:4px}.action-arrow{color:#9ba79f;margin-left:auto}.sync-note{align-items:center;color:#98a39c;display:flex;font-size:10px;gap:8px;margin:-5px 0 0}.empty-state{align-items:center;display:flex;flex-direction:column;min-height:245px;justify-content:center;padding:25px;text-align:center}.empty-state h3{font-size:16px;margin:14px 0 0}.empty-state p{margin:5px 0 16px}.empty-icon{align-items:center;background:#edf5ee;border-radius:16px;color:#58906b;display:inline-flex;font-size:21px;font-weight:700;height:51px;justify-content:center;width:59px}.notice{border-radius:10px;font-size:12px;line-height:1.55;margin:0;padding:11px 13px}.notice.error{background:#fff0ed;color:#a64239}.notice.success{background:#ebf6ed;color:#34754c}.form-page{margin:0 auto;max-width:660px}.form-page>.page-title{margin-bottom:23px}.editor-form{display:grid;gap:18px;padding:25px}.editor-form h3{font-size:14px;margin:0}.editor-form label:not(.direction-option){color:#526258;display:grid;font-size:12px;font-weight:600;gap:8px}.editor-form input,.editor-form textarea,.editor-form select,.answer-form input{background:#fbfcfb;border:1px solid #e2e9e3;border-radius:10px;font-size:14px;min-height:47px;padding:12px 13px;width:100%}.editor-form textarea{min-height:88px;resize:vertical}.editor-form input::placeholder,.editor-form textarea::placeholder,.answer-form input::placeholder{color:#b0bab3}.form-divider{background:var(--line);height:1px;margin:2px 0}.familiarity-select{align-items:center;display:flex!important;gap:15px!important;justify-content:space-between}.familiarity-select span{color:var(--ink)}.familiarity-select small{color:#9aa59e;display:block;font-size:10px;font-weight:400;margin-top:3px}.familiarity-select select{max-width:220px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:3px}.row-title{align-items:flex-end}.row-title .button{margin-bottom:2px}.search-bar{align-items:center;background:#fff;border:1px solid #e8eee8;border-radius:12px;display:flex;gap:9px;padding:6px 7px 6px 14px}.search-bar>span{color:#93a096;font-size:22px;transform:rotate(-20deg)}.search-bar input{background:transparent;border:0;flex:1;font-size:13px;min-width:0;outline:0}.search-bar .button{min-height:39px}.word-list{display:grid;gap:11px}.word-card{padding:17px 19px}.word-card-main{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.word-card h2{font-size:19px;letter-spacing:-.025em;margin:0 0 5px;overflow-wrap:anywhere}.word-card p{color:#78867d;font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere}.word-card,.word-card-main,.word-card-main>div:first-child{min-width:0}.word-card-main>div:first-child{flex:1 1 auto}.word-actions{display:flex;gap:8px}.icon-button{background:#f4f7f4;border:0;border-radius:8px;color:#708076;font-size:11px;min-height:34px;padding:0 10px}.icon-button:hover{background:#e9f2eb;color:var(--green-dark)}.danger-text{color:#a15e59}.word-levels{border-top:1px solid #eff2ef;display:flex;gap:9px;margin-top:14px;padding-top:12px}.level-pill{align-items:baseline;background:#f6f8f6;border-radius:8px;color:#78867d;display:inline-flex;gap:5px;padding:7px 9px}.level-pill small{font-size:10px}.level-pill strong{color:#456d52;font-size:13px}.level-pill i{color:#aab3ad;font-size:9px;font-style:normal}.pagination{align-items:center;display:flex;justify-content:center;gap:20px}.pagination button{min-height:38px}.pagination>span{color:#758279;font-size:12px}.pagination-note{margin:-15px 0 0;text-align:center}.modal-backdrop{align-items:center;background:#1321196b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:30}.modal-card{max-height:min(90vh,800px);max-width:540px;overflow:auto;width:100%}.modal-card .section-heading h2{font-size:21px}.review-wrap{margin:0 auto;max-width:630px}.review-topline,.progress-meta{align-items:center;color:#819087;display:flex;font-size:11px;justify-content:space-between}.review-topline>span{background:#e9f2eb;border-radius:99px;color:#467655;font-weight:700;padding:7px 11px}.progress-meta{margin-bottom:-17px}.progress-track{height:7px}.progress-track i{background:#3a8a60;transition:width .3s ease}.prompt-card{padding:34px}.prompt-card>.eyebrow{text-align:center}.prompt-card>h1{font-size:clamp(31px,7vw,46px);letter-spacing:-.04em;margin:14px 0 32px;overflow-wrap:anywhere;text-align:center}.answer-form{display:grid;gap:12px}.answer-form label{color:#67766c;font-size:11px;font-weight:600}.answer-form input{min-height:54px}.answer-form .button{margin-top:7px;min-height:51px}.answer-result{display:grid;gap:13px}.verdict{border-radius:9px;font-size:13px;font-weight:700;justify-self:center;padding:9px 15px}.verdict.correct{background:#e6f4e9;color:#34784b}.verdict.incorrect{background:#fff0ed;color:#a84c41}.answer-label{color:#9ba59f;font-size:10px;margin:2px 0 -8px;text-align:center}.answer-text{font-size:23px;overflow-wrap:anywhere;text-align:center}.result-details{background:#f6f8f6;border-radius:11px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:3px 0;padding:13px}.result-details span{color:#849087;font-size:10px;text-align:center}.result-details strong{color:#415e4a;display:block;font-size:14px;margin-top:5px}.centered{text-align:center}.direction-picker{border:0;display:grid;gap:10px;margin:0;padding:0}.direction-picker legend{color:#536258;font-size:12px;font-weight:600;margin-bottom:2px}.direction-option{align-items:center;background:#fafcfb;border:1px solid #e5ebe6;border-radius:11px;cursor:pointer;display:flex!important;gap:12px!important;padding:13px;transition:border .16s,background .16s}.direction-option.selected{background:#f0f7f1;border-color:#9bc4a5}.direction-option input{accent-color:var(--green);height:17px;min-height:0;width:17px}.direction-option span{flex:1}.direction-option strong,.direction-option small{display:block}.direction-option strong{font-size:13px}.direction-option small{color:#919d95;font-size:10px;font-weight:400;margin-top:4px}.direction-option i{color:#70917a;font-size:11px;font-style:normal}.review-finish{align-items:center;display:flex;flex-direction:column;padding:33px;text-align:center}.finish-mark{align-items:center;background:#e6f4e9;border-radius:50%;color:#42825a;display:inline-flex;font-size:25px;height:54px;justify-content:center;margin-bottom:17px;width:54px}.review-finish h1{font-size:27px;margin:4px 0 0}.review-finish>.muted{margin:8px 0 0}.finish-score{margin:21px 0}.finish-score strong{color:var(--green);display:block;font-size:45px;letter-spacing:-.05em}.finish-score strong small{color:#9aa69d;font-size:22px}.finish-score span{color:#8d9991;font-size:11px}.result-mini-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;margin-bottom:21px;padding:13px;width:100%}.result-mini-grid span{color:#89958d;font-size:10px}.result-mini-grid strong{color:#425c49;display:block;font-size:18px;margin-top:4px}.review-finish .full{margin-bottom:9px}.mobile-nav{display:none}.auth-layout{background:#f4f7f2;display:grid;gap:9%;grid-template-columns:minmax(0,1fr) minmax(330px,430px);min-height:100vh;padding:8vh max(8vw,30px)}.auth-brand{align-self:center;padding-left:max(0px,5vw)}.auth-brand .brand-mark{margin-bottom:25px}.auth-brand h1{color:#25382c;font-size:clamp(37px,5vw,59px);letter-spacing:-.055em;line-height:1.25;margin:13px 0 17px}.auth-intro{color:#7d8c81;font-size:14px}.auth-stamp{border:1px solid #dbe7dd;border-radius:99px;color:#78917e;display:inline-block;font-size:11px;letter-spacing:.08em;margin-top:34px;padding:10px 16px}.auth-card{align-self:center;background:#fff;border:1px solid #edf1ed;border-radius:19px;box-shadow:var(--shadow);padding:29px}.auth-tabs{background:#f5f7f5;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:27px;padding:4px}.auth-tab{background:transparent;border:0;border-radius:7px;color:#89968d;min-height:38px}.auth-tab.active{background:#fff;box-shadow:0 2px 8px #1f3b2812;color:var(--green-dark);font-weight:700}.auth-card h2{font-size:23px;letter-spacing:-.04em;margin:0}.auth-card>.muted{margin:5px 0 23px}.form-stack{display:grid;gap:16px}.form-stack label{color:#59695e;display:grid;font-size:11px;font-weight:600;gap:7px}.form-stack input{background:#fbfcfb;border:1px solid #e4eae5;border-radius:9px;min-height:46px;padding:10px 12px}.form-stack input::placeholder{color:#b0b9b2}.auth-footnote{color:#a1aaa4;font-size:10px;margin:20px 0 0;text-align:center}.boot-screen{align-items:center;display:flex;flex-direction:column;gap:13px;justify-content:center;min-height:100vh;padding:25px}.boot-screen p{color:#7f8c83;font-size:13px}.boot-screen .notice{max-width:420px}.toast{animation:toast-in .2s ease-out;background:#203b2c;border-radius:11px;bottom:24px;box-shadow:0 8px 25px #182c1f33;color:#fff;font-size:12px;left:50%;max-width:calc(100vw - 32px);padding:13px 18px;position:fixed;text-align:center;transform:translate(-50%);z-index:50}@keyframes toast-in{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@media (min-width: 1500px){.main-content{padding-left:65px;padding-right:65px}}@media (max-width: 850px){.sidebar{width:205px}.workspace{margin-left:205px}.main-content{padding:29px 4% 50px}.welcome-panel{padding:30px}.overview-grid{grid-template-columns:1fr}}@media (max-width: 640px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:58px;justify-content:space-between;padding:0 17px}.mobile-brand{align-items:center;display:flex;gap:9px}.mobile-brand .brand-mark{border-radius:10px;font-size:15px;height:34px;width:34px}.mobile-brand strong{font-size:14px}.topbar-caption{display:none}.topbar-user{font-size:10px;margin-left:auto;margin-right:13px}.mobile-logout{display:block;font-size:11px;margin:0}.main-content{padding:20px 16px 99px}.page-stack{gap:19px}.welcome-panel{align-items:flex-start;border-radius:17px;flex-direction:column;gap:18px;min-height:0;padding:24px 21px}.welcome-panel h1{font-size:29px}.mobile-break{display:initial}.welcome-panel p:not(.eyebrow){font-size:11px;max-width:245px}.welcome-orbit{height:180px;right:-48px;top:-24px;width:180px}.orbit-two{height:245px;right:-78px;top:-54px;width:245px}.button.light{min-height:41px;min-width:129px}.section-heading h2{font-size:19px}.total-card{border-radius:13px;padding:15px}.total-card strong{font-size:25px}.overview-grid{gap:10px}.familiarity-card{padding:15px}.quick-actions{gap:9px;grid-template-columns:1fr}.action-card{min-height:72px;padding:12px}.mobile-nav{align-items:stretch;background:#fffffff7;border-top:1px solid var(--line);bottom:0;display:grid;grid-template-columns:repeat(3,1fr);left:0;padding:7px 12px max(8px,env(safe-area-inset-bottom));position:fixed;right:0;z-index:15}.mobile-nav .nav-item{align-items:center;border-radius:10px;flex-direction:column;font-size:9px;gap:2px;justify-content:center;min-height:51px;padding:3px}.mobile-nav .nav-icon{font-size:16px;height:20px}.sync-note{margin-top:-9px}.row-title{align-items:flex-start}.row-title .button{min-height:39px;padding:0 12px}.page-title h1{font-size:28px}.page-title .muted{font-size:11px}.search-bar{gap:6px}.search-bar .button{min-height:37px;padding:0 12px}.word-card{padding:14px}.word-card h2{font-size:17px}.word-card p{font-size:11px}.word-actions{gap:5px}.icon-button{font-size:10px;min-height:32px;padding:0 8px}.level-pill{gap:4px;padding:7px}.level-pill small{font-size:9px}.pagination{gap:11px}.pagination button{font-size:11px;padding:0 12px}.pagination-note{margin-top:-11px}.editor-form{border-radius:14px;gap:15px;padding:18px}.familiarity-select{align-items:flex-start!important;flex-direction:column;gap:7px!important}.familiarity-select select{max-width:none}.form-actions{display:grid;grid-template-columns:1fr 1fr}.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-radius:17px 17px 0 0;max-height:92vh;padding-bottom:max(20px,env(safe-area-inset-bottom))}.review-wrap{gap:17px}.prompt-card{border-radius:16px;padding:24px 18px}.prompt-card>h1{margin:18px 0 27px}.answer-form{gap:10px}.answer-form input{font-size:16px}.answer-form .button{min-height:51px}.review-finish{padding:26px 19px}.review-finish h1{font-size:24px}.auth-layout{align-content:center;display:grid;gap:20px;grid-template-columns:1fr;padding:24px 17px}.auth-brand{padding:0 4px}.auth-brand .brand-mark{height:36px;margin-bottom:13px;width:36px}.auth-brand .eyebrow{margin-bottom:4px}.auth-brand h1{font-size:28px;margin:6px 0}.auth-intro{font-size:11px;margin:6px 0 0}.auth-stamp{display:none}.auth-card{border-radius:15px;padding:19px}.auth-tabs{margin-bottom:18px}.auth-card h2{font-size:20px}.auth-card>.muted{font-size:11px;margin:3px 0 17px}.form-stack{gap:13px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
