@font-face{font-family:Manrope;src:url('/fonts/manrope-cyrillic-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF}
:root{--bg:#f5f7f2;--surface:#fff;--ink:#24392d;--muted:#748078;--line:#e4e9e1;--green:#376548;--sage:#e5edda;--radius:22px;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #79a879;outline-offset:4px}button{border:0}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}p{line-height:1.7}i.ph{font-size:22px;flex-shrink:0}::selection{background:#c9dfad}input,textarea,select{width:100%;border:1px solid #dce3d8;background:#fff;border-radius:11px;padding:12px 14px;font-size:15px;color:var(--ink)}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:#939e92}input:focus,textarea:focus,select:focus{border-color:var(--green)}
.initial-loader{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:40px;font-weight:800;gap:16px}.initial-loader span{font-size:14px;font-weight:400;color:var(--muted)}
.brand{font-weight:800;font-size:29px;letter-spacing:-1.5px;display:inline-flex;align-items:center;gap:6px;width:fit-content}.brand-mark{display:inline-block;width:9px;height:9px;background:#819d5d;border-radius:50%;align-self:flex-end;margin-bottom:8px}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--muted)}.small-tag{font-size:12px;font-weight:600;display:inline-flex;align-items:center;background:#ffffff70;border:1px solid #ffffff80;padding:6px 12px;border-radius:8px;width:fit-content}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;border-radius:11px;font-size:14px;font-weight:650;transition:background .18s,transform .18s;white-space:nowrap}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#2c543b}.button.dark{background:#283f30;color:#fff}.button.secondary{background:var(--surface);border:1px solid var(--line)}.button.secondary:hover{background:#f0f4ed}.button.compact{min-height:38px;padding:8px 13px;font-size:12px}.button.full{width:100%}.icon-button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:10px;flex-shrink:0}.icon-button:hover{background:#e8eee2}.text-button{display:inline-flex;align-items:center;gap:6px;background:transparent;font-size:13px;font-weight:600;padding:8px 0;min-height:38px}.text-button:hover{text-decoration:underline}.danger{color:#ab4a44}.muted{color:var(--muted);font-size:13px}.avatar{height:38px;width:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dfe9d4;color:#436443;font-weight:700;flex-shrink:0}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.text-link i{font-size:17px}
.app-shell{min-height:100dvh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{background:#fcfdf9;border-right:1px solid var(--line);padding:35px 22px 20px;position:fixed;top:0;bottom:0;width:236px;display:flex;flex-direction:column;z-index:10}.sidebar>.brand{margin:0 14px 46px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 13px;border-radius:11px;font-size:13px;color:#778174;font-weight:550}.nav-item.active{background:#e9efdf;color:#355039;font-weight:700}.nav-item:hover{background:#edf2e6}.nav-count{margin-left:auto;background:#fdfef9;padding:2px 8px;min-width:25px;text-align:center;border-radius:6px;font-size:11px}.sidebar-bottom{margin-top:auto}.sidebar-note{padding:25px 14px;color:#9aa18f;line-height:1.7;font-size:12px}.profile{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:20px}.profile strong{font-size:12px;display:block}.profile div>span{font-size:9px;color:var(--muted);white-space:nowrap}.profile .icon-button{margin-left:auto;width:29px}.profile .icon-button i{font-size:18px}.workspace{grid-column:2;min-width:0}.topbar{height:82px;display:flex;justify-content:space-between;align-items:center;padding:0 44px;border-bottom:1px solid var(--line)}.topbar>span{font-size:12px;color:var(--muted)}.main-content{max-width:1280px;padding:40px 44px 32px;margin:0 auto}.greeting{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.greeting h1{font-size:34px;letter-spacing:-1.3px;font-weight:700;margin:9px 0 9px}.greeting-dot{color:#87a258}.greeting p{font-size:13px;color:var(--muted)}.today-mark{height:56px;width:56px;border:1px solid #dce6d5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#839863}.today-mark i{font-size:30px}
.daily-panel{background:#e5edda;border-radius:24px;min-height:302px;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;position:relative}.daily-copy{padding:34px 36px;position:relative;z-index:1}.daily-copy h2{font-size:30px;letter-spacing:-1px;line-height:1.25;margin:19px 0 12px;font-weight:700}.daily-copy p{font-size:13px;color:#65795d}.daily-copy .button{margin-top:23px}.daily-note{display:block;font-size:10px;color:#7d8e70;margin-top:13px}.daily-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px}.preview-card{position:absolute;background:#fbfcf6;border:1px solid #cfdcbd;border-radius:17px;width:205px;height:249px;box-shadow:0 16px 34px #647c4510}.preview-back{transform:rotate(-13deg) translate(-17px,5px);background:#d3dfbe}.preview-middle{transform:rotate(10deg) translate(18px,0);background:#eef1e3}.preview-front{transform:rotate(-4deg);display:flex;flex-direction:column;padding:17px 18px;justify-content:space-between}.preview-front>span:first-child{font-size:9px;color:#879276}.preview-front img{height:108px;object-fit:contain}.preview-front strong{font-size:16px;letter-spacing:-.5px;line-height:1.35}.preview-front>span:last-child{font-size:8px;color:#879276;display:flex;justify-content:space-between;align-items:center}.preview-front i{font-size:12px}.overview-row{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 39px;background:#fafbf7;border:1px solid var(--line);border-radius:14px}.overview-row>div{display:flex;align-items:center;gap:11px;padding:19px 21px;border-right:1px solid var(--line)}.overview-row>div:last-child{border:0}.overview-row i{color:#8a9b7b;font-size:21px}.overview-row strong{font-size:21px;font-weight:700}.overview-row span{font-size:11px;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.section-heading h2{font-size:19px;letter-spacing:-.5px}.deck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.deck-tile{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px 20px 16px;display:block;min-width:0;transition:transform .2s,box-shadow .2s}.deck-tile:hover{transform:translateY(-4px);box-shadow:0 12px 30px #233b2a08}.deck-art{height:103px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:#f0f3e8}.deck-art img{height:85px;width:140px;object-fit:contain}.sand .deck-art{background:#f5efe2}.blue .deck-art{background:#eaf0f1}.rose .deck-art{background:#f4ece8}.deck-tile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.deck-category{color:#8e9988;font-size:10px}.deck-tile-top i{font-size:16px;color:#86937f}.deck-tile h3{font-size:16px;letter-spacing:-.4px;font-weight:700;margin-bottom:7px;overflow-wrap:anywhere}.deck-tile>p{font-size:11px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px}.deck-tile-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#929b8c;border-top:1px solid #f0f2ed;margin-top:17px;padding-top:12px;gap:8px}.due-tag{color:#537343;background:#edf3e5;padding:3px 7px;border-radius:5px}.quiet-tip{font-size:11px;display:flex;align-items:center;gap:9px;color:#8b9586;margin-top:28px}.quiet-tip i{font-size:17px}.page-heading{margin-bottom:34px}.page-heading h1{font-size:34px;letter-spacing:-1.3px;margin:9px 0 12px}.page-heading p{color:var(--muted);font-size:14px}.library-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font-size:12px;color:var(--muted)}.search-input{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:white;border-radius:10px;padding:0 12px;max-width:320px}.search-input input{border:0;background:transparent;outline-offset:0;font-size:13px}.search-input i{font-size:19px}.new-deck-tile{border:1px dashed #cfdac6;border-radius:17px;background:transparent;min-height:274px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#799068}.new-deck-tile:hover{background:#ecf2e5}.new-deck-tile i{font-size:30px}.new-deck-tile strong{font-size:15px}.new-deck-tile span{font-size:12px}.empty-state{padding:55px 20px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:15px;background:#fcfdf9;border:1px dashed var(--line);border-radius:18px}.empty-state>i{font-size:42px;color:#91a87c}.empty-state h2{font-size:21px}.empty-state p{font-size:13px;color:var(--muted);max-width:450px}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:27px}.back-link i{font-size:16px}.deck-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}.deck-heading h1{font-size:34px;letter-spacing:-1px;margin:9px 0 10px;overflow-wrap:anywhere}.deck-heading p{color:var(--muted);font-size:13px;max-width:650px;white-space:pre-wrap}.copy-note{font-size:11px;color:#8c997e;display:block;margin-top:10px}.deck-actions{display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap}.sharing-strip{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#eaf0e3;border-radius:12px;margin-bottom:24px;font-size:11px;color:#657b56}.sharing-strip .text-button{margin-left:auto;white-space:nowrap}.library-card{display:flex;align-items:center;gap:18px;background:white;border:1px solid var(--line);border-radius:14px;padding:15px 18px;margin-bottom:11px;min-width:0}.card-index{font-size:11px;color:#a1aa99;font-variant-numeric:tabular-nums}.library-card>img,.card-thumb{width:66px;height:57px;border-radius:8px;background:#edf2e5;object-fit:contain;flex-shrink:0}.card-thumb{display:flex;align-items:center;justify-content:center;color:#879a71}.library-card-text{min-width:0;flex:1}.library-card h3{font-size:13px;font-weight:650;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-card p{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-schedule{font-size:10px;color:#7c9072;white-space:nowrap}
.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#e1ead3;padding:45px 60px;display:flex;flex-direction:column}.auth-copy{margin:auto 0;padding:50px 0}.auth-copy h1{font-size:clamp(40px,5.3vw,76px);line-height:1.14;letter-spacing:-3px;margin:20px 0 23px;font-weight:700}.auth-copy h1 span{color:#7b9655}.auth-copy p{font-size:14px;color:#738463}.auth-preview{display:flex;align-items:center;gap:20px;margin-top:35px;font-size:11px;color:#738463}.auth-preview img{width:140px}.auth-foot{font-size:11px;color:#879775}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px}.auth-form{width:100%;max-width:370px}.auth-form>.small-tag{background:#ebf0e5;color:#79915f}.auth-form h2{font-size:28px;letter-spacing:-1px;margin:17px 0 10px}.auth-form>p{font-size:13px;color:var(--muted);margin-bottom:25px}.auth-form .button{margin-bottom:12px}.auth-form .auth-note{font-size:11px;text-align:center;margin-top:22px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:19px}.field>span{font-size:12px;font-weight:650}.field>small,.field-help{font-size:11px;color:var(--muted);line-height:1.7}.form-error{font-size:12px;color:#b3473f;white-space:pre-line;min-height:16px;margin:10px 0}.editor-dialog{padding:0;border:1px solid var(--line);border-radius:22px;max-width:620px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);background:#fcfdf9;box-shadow:0 25px 100px #152f2920}.editor-dialog::backdrop{background:#16291f55;backdrop-filter:blur(4px)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:22px 27px;background:#fcfdf9;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line)}.editor-header h2{font-size:20px;letter-spacing:-.5px}.editor-header .eyebrow{display:block;margin-bottom:5px;font-size:9px}.editor-body{padding:26px 27px}.editor-footer{padding:17px 27px;display:flex;align-items:center;justify-content:flex-end;gap:15px;border-top:1px solid var(--line);background:#fcfdf9;position:sticky;bottom:0}.editor-footer>span{font-size:10px;color:var(--muted);margin-right:auto}.form-section{margin-bottom:29px}.form-section-title{font-size:10px;letter-spacing:1px;color:#819472;display:block;margin-bottom:20px}.image-editor-preview{background:#edf1e7;border-radius:12px;height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#92a181}.image-editor-preview>i{font-size:35px}.image-editor-preview>span{font-size:11px}.image-editor-preview img{height:100%;width:100%;object-fit:contain;border-radius:12px}.upload-row{display:flex;gap:20px;margin:12px 0 20px}.upload-button{position:relative;overflow:hidden;font-size:12px;min-height:38px;padding:8px 15px;cursor:pointer}.upload-button input{position:absolute;opacity:0;inset:0;cursor:pointer}.field-help{margin-top:10px}.extra-fields{border-top:1px solid var(--line);padding-top:20px}.extra-fields summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:650;margin-bottom:20px;list-style:none}.extra-fields summary i{font-size:16px}.toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;max-width:min(90vw,550px);pointer-events:none}.toast{background:#263d2f;color:white;border-radius:12px;padding:14px 22px;box-shadow:0 5px 30px #19332020;font-size:13px;animation:toast-in .2s ease-out}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;margin-bottom:22px}.admin-panel h2{font-size:18px;margin-bottom:20px}.invite-form{display:flex;gap:15px;align-items:flex-end}.invite-form .field{flex:1;margin:0}.invite-form+.muted,.admin-panel>.muted{margin-top:20px}.user-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line)}.user-row>div{flex:1;min-width:0}.user-row strong{display:block;font-size:13px}.user-row div>span{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.user-row>label{font-size:10px;display:flex;align-items:center;gap:8px;color:var(--muted)}.limit-input{width:65px;padding:8px;font-size:12px}.role-label{font-size:10px;color:#809272}.invite-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.invite-row>span:last-child{color:var(--muted)}
/* The drag wrapper moves; only its inner element rotates to expose the back. */
body.studying{overflow:hidden;overscroll-behavior:none}.study-shell{height:100dvh;display:flex;flex-direction:column;max-width:920px;margin:0 auto;padding:20px 30px 16px;overflow:hidden}.study-header{display:flex;align-items:center;gap:20px;flex-shrink:0}.study-header>div{flex:1;min-width:0}.study-header .eyebrow{font-size:9px}.study-header h1{font-size:16px;font-weight:650;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.session-progress{height:3px;flex-shrink:0;background:#e2e8dc;margin:18px 0 8px;border-radius:3px;overflow:hidden}.session-progress>span{display:block;height:100%;background:#85a66b;transition:width .25s}.study-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:0 0 4px}.direction-hint{display:flex;align-items:center;gap:6px;color:#89977c;font-size:10px;flex-shrink:0;min-height:26px}.direction-hint i{font-size:15px}.direction-hint.up{color:#6f9463}.direction-hint.down{color:#a7936d}.card-stage{position:relative;width:100%;max-width:380px;height:min(500px,calc(100dvh - 290px));min-height:240px;margin:7px 0 10px;perspective:1400px}.stack-card{position:absolute;inset:0;background:#e5ecdc;border:1px solid #dce5d1;border-radius:24px;pointer-events:none}.stack-one{transform:rotate(-4deg) translate(-5px,5px)}.stack-two{transform:rotate(3deg) translate(5px,3px);background:#edf1e5}.flashcard{position:absolute;inset:0;touch-action:none;user-select:none;cursor:grab;z-index:3;will-change:transform;border-radius:24px;--drag-strength:0}.flashcard:active{cursor:grabbing}.flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .46s cubic-bezier(.2,.7,.2,1)}.flip-inner.flipped{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;border:1px solid #d5dfc8;border-radius:24px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;display:flex;flex-direction:column;padding:24px 28px;box-shadow:0 16px 50px #35503412;background:#edf2e3}.card-face.front.sand{background:#f1ebde;border-color:#dfd5bd}.card-face.front.blue{background:#e8eff0;border-color:#cededf}.card-face.front.rose{background:#f2e8e4;border-color:#e3d2cb}.card-face.back{background:#fcfdf7;transform:rotateY(180deg)}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a997b;gap:12px;margin-bottom:10px;flex-shrink:0}.card-top>span:last-child{display:flex;align-items:center;gap:5px}.card-top i{font-size:15px}.card-image{flex:1;min-height:45px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:6px -8px 15px}.card-image img{width:100%;height:100%;object-fit:contain;pointer-events:none}.no-image{display:flex;flex-direction:column;align-items:center;gap:15px;font-size:11px;color:#8f9e80}.no-image i{font-size:64px;color:#9ab17a}.card-face h2{font-size:25px;font-weight:650;letter-spacing:-.8px;line-height:1.36;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.card-face.back h2{margin-top:18px;font-size:26px;-webkit-line-clamp:5}.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8c9b7c;margin-top:auto;padding-top:20px;gap:10px;flex-shrink:0}.card-bottom i{font-size:18px}.personal-example{border-left:2px solid #c2d4a7;padding:0 0 0 15px;margin-top:22px;flex-shrink:1;overflow:hidden}.personal-example .eyebrow{font-size:9px;letter-spacing:1px}.personal-example p{font-size:13px;line-height:1.7;margin-top:8px;color:#78866b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.association{font-size:12px;color:#879275;margin-top:15px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.details-button{display:flex;align-items:center;justify-content:space-between;background:#edf2e5;border-radius:9px;padding:11px 14px;font-size:12px;font-weight:650;margin-top:auto;flex-shrink:0;min-height:42px}.details-button i{font-size:17px}.back .card-bottom{margin-top:0;padding-top:14px}.grade-label{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);z-index:5;padding:15px 22px;border:2px solid currentColor;border-radius:12px;font-size:23px;font-weight:800;white-space:nowrap;opacity:var(--drag-strength);pointer-events:none;background:#fbfdf4ed;transition:color .15s;box-shadow:0 5px 30px #0001}.remembering .grade-label{color:#467843}.forgetting .grade-label{color:#ab7943}.tap-label{font-size:10px;color:#93a087;margin-top:1px;flex-shrink:0}.study-footer{flex-shrink:0;width:100%;max-width:470px;margin:6px auto 0;z-index:5}.grade-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grade-buttons .button{font-size:13px;min-height:48px}.grade-forget{background:#ede8df;color:#927249;border:1px solid #e6dccb}.grade-remember{background:#376548;color:#fff}.study-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px;min-height:35px}.study-meta>span{font-size:9px;color:#94a08b}.study-meta .text-button{font-size:10px;color:#7e8d72;min-height:30px}.study-meta i{font-size:14px}.session-finish{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:18px}.finish-symbol{width:90px;height:90px;border-radius:50%;background:#e3edd7;color:#719653;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.finish-symbol i{font-size:45px}.session-finish h2{font-size:36px;letter-spacing:-1.5px}.session-finish p{max-width:400px;font-size:14px;color:var(--muted)}.session-finish .button{margin-top:10px}
.details-dialog{padding:0;border:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;color:var(--ink);background:#fcfdf8;overflow:hidden}.details-dialog::backdrop{background:#fcfdf8}.details-header{height:82px;padding:15px 35px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.details-header>.brand{font-size:23px}.details-header>span:not(.brand){font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.details-header .button{font-size:12px;min-height:40px}.details-scroll{height:calc(100% - 82px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.details-content{max-width:760px;margin:0 auto;padding:50px 30px 80px}.details-content h1{font-size:36px;letter-spacing:-1px;line-height:1.3;margin:16px 0 32px;overflow-wrap:anywhere}.details-image{max-height:340px;width:100%;object-fit:contain;background:#edf2e5;border-radius:20px;padding:20px;margin-bottom:40px}.details-content section{margin-bottom:30px}.details-content h2{font-size:15px;margin-bottom:10px}.details-content p,.long-text{font-size:16px;line-height:1.85;color:#65735c;white-space:pre-wrap;overflow-wrap:anywhere}.details-example{background:#eef3e7;border-radius:15px;padding:24px}.details-content a{color:var(--green);font-size:14px;text-decoration:underline;overflow-wrap:anywhere}.details-note{border-top:1px solid var(--line);padding-top:25px;font-size:12px!important;color:#97a18b!important}
.mobile-logout{display:none}@media(max-width:800px){.mobile-logout{display:inline-flex;width:34px}.mobile-logout i{font-size:18px}.topbar{gap:8px}.topbar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}}
.previous-generation{display:flex;align-items:center;gap:15px;margin-top:12px}.previous-generation img{width:85px;height:65px;object-fit:contain;border-radius:8px;background:#edf2e5}.previous-generation .text-button{font-size:11px}
@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.main-content{padding-top:48px}.daily-panel{min-height:330px}.daily-copy{padding:40px}.daily-visual{min-height:330px}.deck-art{height:130px}.deck-art img{height:105px}.deck-tile{padding:22px}.deck-tile h3{font-size:18px}.deck-tile>p{font-size:12px}}
@media(max-width:1100px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{width:205px;padding-left:15px;padding-right:15px}.topbar{padding:0 28px}.main-content{padding:30px 28px}.daily-copy{padding:27px}.daily-copy h2{font-size:26px}.overview-row>div{padding:16px 12px;gap:8px}.overview-row span{font-size:9px}.deck-grid{gap:12px}.deck-tile{padding:13px}.deck-art{height:85px}.deck-tile h3{font-size:14px}.deck-tile-bottom{font-size:9px}.profile div>span{font-size:8px}}
@media(max-width:800px){.app-shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:calc(69px + env(safe-area-inset-bottom));padding:8px 12px env(safe-area-inset-bottom);border-right:0;border-top:1px solid var(--line);background:#fcfdf9f5;backdrop-filter:blur(12px)}.sidebar>.brand,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;justify-content:space-around;gap:3px}.nav-item{flex-direction:column;gap:4px;padding:7px 13px;min-height:47px;font-size:9px;border-radius:10px}.nav-item i{font-size:21px}.nav-count{display:none}.workspace{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.topbar{height:67px;padding:0 22px}.topbar>span{font-size:10px}.main-content{padding:29px 22px}.greeting h1{font-size:29px}.greeting p{font-size:12px}.greeting .eyebrow{font-size:9px}.today-mark{height:43px;width:43px}.today-mark i{font-size:24px}.daily-panel{min-height:282px;grid-template-columns:1.12fr 1fr}.daily-copy{padding:27px 24px}.daily-copy h2{font-size:25px}.daily-copy p{font-size:12px}.daily-visual{min-height:280px}.preview-card{width:165px;height:215px}.preview-front{padding:14px}.preview-front strong{font-size:14px}.preview-front img{height:85px}.preview-front>span:last-child{font-size:7px}.overview-row{margin-bottom:30px}.deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-library .deck-tile:last-child{display:none}.deck-tile{padding:17px}.deck-art{height:100px}.deck-tile h3{font-size:16px}.auth-story{padding:30px}.auth-copy h1{font-size:48px}.auth-form-wrap{padding:30px}.details-header{height:68px;padding:12px 18px}.details-scroll{height:calc(100% - 68px)}.details-header>.brand{display:none}.details-content{padding:32px 22px 60px}.details-content h1{font-size:29px}.details-content p,.long-text{font-size:15px}}
@media(max-width:520px){.topbar{padding:0 18px}.topbar>span{font-size:9px}.main-content{padding:25px 18px}.greeting{margin-bottom:24px}.greeting h1{font-size:29px}.greeting p{max-width:240px;font-size:11px}.daily-panel{grid-template-columns:1fr;min-height:0}.daily-copy{padding:25px 24px 28px}.daily-copy h2{font-size:26px;max-width:220px}.daily-copy>p{font-size:12px;max-width:225px}.daily-copy .button{margin-top:22px;font-size:12px;padding:11px 15px}.daily-visual{position:absolute;right:-35px;bottom:36px;width:165px;min-height:190px;opacity:.75;pointer-events:none}.preview-card{width:125px;height:169px;border-radius:12px}.preview-front{padding:10px}.preview-front strong{font-size:10px}.preview-front img{height:72px}.preview-front>span:first-child{font-size:6px}.preview-front>span:last-child{font-size:5px}.daily-note{font-size:9px}.overview-row{margin:18px 0 30px}.overview-row>div{flex-direction:column;gap:5px;padding:15px 4px;text-align:center}.overview-row i{font-size:18px}.overview-row strong{font-size:21px}.overview-row span{font-size:8px;max-width:90px}.deck-grid{grid-template-columns:1fr}.home-library .deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-library .deck-tile{padding:12px}.home-library .deck-art{height:78px;margin-bottom:12px}.home-library .deck-art img{height:63px;width:100px}.home-library .deck-tile h3{font-size:13px}.home-library .deck-tile>p{font-size:10px}.home-library .deck-tile-bottom{flex-wrap:wrap;gap:6px}.home-library .deck-category{font-size:8px}.home-library .deck-tile-top{margin-bottom:8px}.quiet-tip{align-items:flex-start;font-size:10px}.page-heading h1,.deck-heading h1{font-size:29px}.page-heading p{font-size:12px}.deck-actions{gap:8px}.deck-actions .button{padding:10px 12px;font-size:11px;min-height:42px}.deck-actions .button i{font-size:16px}.sharing-strip{flex-wrap:wrap;gap:8px}.sharing-strip .text-button{margin-left:0;min-height:25px}.library-card{padding:12px 10px;gap:9px}.card-index{font-size:9px}.library-card>img,.card-thumb{width:45px;height:45px}.library-card h3{font-size:11px}.library-card p{font-size:10px}.card-schedule{display:none}.library-card .icon-button{width:29px}.library-card .icon-button i{font-size:19px}.auth-layout{grid-template-columns:1fr}.auth-story{padding:25px 26px;min-height:290px}.auth-story>.brand{font-size:25px}.auth-copy{padding:28px 0 10px;position:relative}.auth-copy .eyebrow{font-size:9px}.auth-copy h1{font-size:37px;letter-spacing:-1.7px;margin:12px 0 14px}.auth-copy p{font-size:11px;max-width:240px}.auth-preview{position:absolute;right:-10px;top:42px;margin:0;width:135px}.auth-preview>span,.auth-foot{display:none}.auth-form-wrap{padding:34px 26px}.auth-form h2{font-size:24px}.editor-dialog{width:calc(100% - 16px);max-height:95dvh;border-radius:18px}.editor-header{padding:18px}.editor-body{padding:22px 18px}.editor-footer{padding:14px 18px}.editor-footer>span{max-width:125px;line-height:1.5}.invite-form{flex-direction:column;align-items:stretch}.user-row{flex-wrap:wrap}.user-row>label{margin-left:50px;width:100%;justify-content:space-between}.admin-panel{padding:20px}.role-label{font-size:9px}.study-shell{padding:12px 18px calc(10px + env(safe-area-inset-bottom))}.study-header{gap:12px}.study-header h1{font-size:14px}.study-header .eyebrow{font-size:8px}.session-progress{margin:13px 0 3px}.card-stage{max-width:330px;height:min(490px,calc(100dvh - 252px - env(safe-area-inset-bottom)));min-height:220px;margin:4px 0 8px}.card-face{padding:21px 24px}.card-face h2{font-size:24px}.card-face.back h2{font-size:24px;margin-top:12px}.personal-example{margin-top:18px}.personal-example p{font-size:12px}.card-bottom{padding-top:15px}.direction-hint{min-height:24px;font-size:9px}.tap-label{font-size:9px}.study-meta>span{font-size:8px;max-width:210px;text-align:right}.grade-buttons{gap:10px}.grade-buttons .button{font-size:12px;min-height:45px}.session-finish h2{font-size:30px}.details-header>span{max-width:170px;font-size:10px}.details-header .button{padding:9px 13px;min-height:38px;font-size:11px}.details-image{padding:10px}.details-example{padding:20px}}
@media(max-height:650px){.card-face h2,.card-face.back h2{font-size:19px;-webkit-line-clamp:3}.card-top{font-size:9px;margin-bottom:3px}.card-face{padding:17px 22px}.personal-example{margin-top:12px}.personal-example p{-webkit-line-clamp:2;font-size:11px}.association{display:none}.card-bottom{padding-top:8px;font-size:8px}.details-button{padding:9px 12px;min-height:35px;font-size:11px}.card-face.back h2{margin-top:8px}.tap-label{display:none}.study-meta>span{display:none}.direction-hint{min-height:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
