:root{color-scheme:light;--ink:#163247;--muted:#6b7e8d;--navy:#102d42;--teal:#078b86;--teal-dark:#06706d;--yellow:#f4c75c;--paper:#f4f8f8;--white:#fff;--line:#dce7e8;--red:#c95d57;--shadow:0 18px 55px rgba(16,45,66,.09);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.035em;margin:0 0 .55rem}h1{font-size:clamp(1.8rem,5vw,2.65rem);line-height:1.12}h2{font-size:1.35rem}p{line-height:1.55;margin:.35rem 0 1rem}.muted{color:var(--muted)}.loading{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.brand-mark{width:46px;height:46px;border-radius:15px;background:var(--teal);color:#fff;font:800 25px Manrope;display:grid;place-items:center;margin:0 auto .8rem;box-shadow:0 8px 24px #078b8640}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,44%);background:var(--navy)}.auth-art{color:white;padding:clamp(2rem,7vw,6rem);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;background:radial-gradient(ellipse at 75% 23%,#1d5263 0,transparent 45%),linear-gradient(145deg,#102d42,#153b50 68%,#086e70)}.auth-art h1{max-width:600px;font-size:clamp(2.8rem,6vw,5rem);margin-top:auto}.auth-art p{max-width:440px;color:#d7e6e8}.auth-tag{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#bbdedb;font-weight:700}.auth-panel{background:var(--paper);display:grid;place-items:center;padding:2rem}.auth-box{width:min(100%,410px)}.auth-box .brand-mark{margin:0 0 1.5rem}.field{display:grid;gap:.45rem;margin:1rem 0}.field label{font-size:.9rem;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:.85rem .95rem;color:var(--ink);outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #078b861a}
.button{border:0;border-radius:12px;padding:.78rem 1.05rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .15s,background .15s;min-height:44px}.button:active{transform:scale(.98)}.button.primary{background:var(--teal);color:white}.button.primary:hover{background:var(--teal-dark)}.button.soft{background:#e5f2f0;color:var(--teal-dark)}.button.outline{background:white;color:var(--ink);border:1px solid var(--line)}.button.danger{background:#fff0ef;color:var(--red)}.button.full{width:100%}.icon-button{border:0;background:transparent;color:var(--muted);padding:.5rem;border-radius:9px}.icon-button:hover{background:#edf3f3;color:var(--ink)}.text-link{color:var(--teal-dark);font-weight:700;cursor:pointer;background:none;border:0;padding:.25rem}.error{color:var(--red);font-size:.92rem;min-height:1.2em}
.shell{min-height:100vh;display:grid;grid-template-columns:255px minmax(0,1fr)}.sidebar{background:var(--navy);color:#eaf3f4;padding:1.4rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.side-brand{display:flex;align-items:center;gap:.7rem;padding:.2rem .55rem;color:white;font:800 1.12rem Manrope}.side-brand .brand-mark{margin:0;width:36px;height:36px;border-radius:11px;font-size:20px;background:var(--yellow);color:var(--navy);box-shadow:none}.side-nav{display:grid;gap:.35rem}.nav-item{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.78rem .8rem;border:0;border-radius:11px;background:transparent;color:#bfd0d7;font-weight:600}.nav-item:hover,.nav-item.active{background:#ffffff16;color:white}.nav-icon{font-size:1.1rem;width:1.4rem;text-align:center}.side-bottom{margin-top:auto;border-top:1px solid #ffffff24;padding:.9rem .45rem 0;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.user-chip{display:grid}.user-chip strong{font-size:.9rem}.user-chip small{color:#afc2ca}.main{min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,3rem);background:#ffffffd9;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.topbar .greeting{font-weight:700}.main-content{max-width:1180px;margin:0 auto;padding:clamp(1.2rem,4vw,3rem)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.7rem}.page-head p{color:var(--muted);margin:.3rem 0 0}.mobile-brand,.mobile-nav{display:none}.hero-card{position:relative;overflow:hidden;background:var(--navy);color:white;padding:clamp(1.4rem,4vw,2.4rem);border-radius:24px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.hero-card:after{content:'';position:absolute;width:220px;height:220px;border-radius:50%;right:17%;top:-140px;background:#1b5360;opacity:.8}.hero-card>*{position:relative;z-index:1}.hero-card h2{font-size:clamp(1.5rem,4vw,2.2rem)}.hero-card p{color:#cadbdf;max-width:440px}.hero-card .button{background:var(--yellow);color:var(--navy);white-space:nowrap}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 2rem}.stat-card,.panel,.folder-card,.study-card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 18px #102d4207}.stat-card{padding:1.1rem 1.25rem}.stat-card strong{display:block;font:800 1.8rem Manrope;color:var(--teal-dark)}.stat-card span{font-size:.9rem;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.6rem 0 .9rem}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.folder-card{padding:1rem 1.1rem;display:flex;align-items:center;gap:.85rem;text-align:left;color:var(--ink);width:100%;transition:transform .15s,border .15s}.folder-card:hover{transform:translateY(-2px);border-color:#9fcac6}.folder-icon{display:grid;place-items:center;width:44px;height:44px;padding:2px;border:1px solid #cbdcda;border-radius:14px;background:#f1f7f6;box-shadow:0 2px 6px rgba(16,45,66,.08);font-size:1.25rem;flex:0 0 auto}.folder-meta{min-width:0;flex:1}.folder-meta strong{display:block;overflow-wrap:anywhere}.folder-meta small{color:var(--muted)}.pill{background:#fff3d0;color:#775500;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:700}
.panel{padding:1.2rem;margin:1rem 0}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.breadcrumb{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;color:var(--muted);margin-bottom:1rem}.breadcrumb button{border:0;background:none;color:var(--teal-dark);font-weight:700;padding:.2rem}.card-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.card-row:last-child{border-bottom:0}.card-row strong{display:block}.card-row p{color:var(--muted);margin:.2rem 0}.row-actions{display:flex;gap:.3rem;align-items:center}.empty{padding:2rem 1rem;text-align:center;color:var(--muted);border:1px dashed #bfcfd3;border-radius:16px}.empty .emoji{font-size:2rem;margin-bottom:.4rem}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.28rem .62rem;background:#e8f2f4;color:#35586b;font-size:.78rem;font-weight:700}.badge.shared{background:#e7f4ee;color:#287450}.due-dot{background:var(--yellow);color:#604900}.share-list{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.share-person{display:inline-flex;align-items:center;gap:.3rem;background:#edf3f3;border-radius:99px;padding:.35rem .65rem;font-size:.82rem}
.study-wrap{max-width:760px;margin:1.2rem auto}.study-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.progress-track{height:6px;background:#dbe7e7;border-radius:6px;overflow:hidden;flex:1;margin:0 1rem}.progress-track i{display:block;height:100%;background:var(--teal);border-radius:6px}.study-card{min-height:330px;padding:clamp(1.4rem,5vw,3.2rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;position:relative}.study-label{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--teal-dark);font-weight:800;margin-bottom:1rem}.study-front{font:700 clamp(1.55rem,4vw,2.5rem) Manrope;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35}.study-answer{font:600 clamp(1.3rem,3.5vw,2rem) Manrope;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4;margin-top:1.3rem}.study-note{color:var(--muted);margin-top:1rem}.type-answer{display:flex;gap:.6rem;margin:1rem 0}.type-answer input{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:.9rem}.answer-feedback{min-height:1.5rem;font-weight:700;text-align:center}.rating-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-top:1rem}.rating-row .button{display:grid;gap:.15rem;padding:.7rem .3rem}.rating-row small{font-weight:500;opacity:.8}.rating-row .again{background:#fff0ef;color:#a64542}.rating-row .hard{background:#fff5de;color:#876516}.rating-row .good{background:#e5f2f0;color:#08736f}.rating-row .easy{background:var(--navy);color:white}.study-controls{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.modal-backdrop{position:fixed;inset:0;background:#102d4280;display:grid;place-items:center;padding:1rem;z-index:20}.modal{width:min(100%,560px);max-height:92vh;overflow:auto;background:var(--paper);border-radius:22px;padding:1.4rem;box-shadow:0 28px 90px #102d4270}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.modal-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.toast{position:fixed;left:50%;bottom:1.2rem;transform:translate(-50%,120px);opacity:0;background:var(--navy);color:white;padding:.8rem 1.1rem;border-radius:12px;z-index:30;box-shadow:var(--shadow);transition:.25s;max-width:calc(100vw - 2rem);text-align:center}.toast.show{transform:translate(-50%,0);opacity:1}.toast.error-toast{background:#9d3f3a}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.user-list{display:grid;gap:.55rem}.user-line{display:flex;justify-content:space-between;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.user-line:last-child{border:0}.user-line small{display:block;color:var(--muted)}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
@media(max-width:780px){.shell{display:block;padding-bottom:76px}.sidebar{display:none}.mobile-brand{display:flex;align-items:center;gap:.55rem;font:800 1rem Manrope;color:var(--navy)}.mobile-brand .brand-mark{width:32px;height:32px;font-size:18px;margin:0;border-radius:10px;background:var(--yellow);color:var(--navy);box-shadow:none}.topbar{height:62px;padding:0 1rem}.topbar .greeting{font-size:.88rem}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:10;padding:.45rem .35rem calc(.45rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 20px #102d420b}.mobile-nav .nav-item{display:grid;justify-items:center;gap:.15rem;padding:.35rem .1rem;color:var(--muted);font-size:.68rem;border-radius:9px}.mobile-nav .nav-item.active{color:var(--teal-dark);background:#e8f4f2}.mobile-nav .nav-icon{font-size:1.1rem}.main-content{padding:1.25rem 1rem}.page-head{align-items:flex-start}.hero-card{display:grid;gap:.7rem;border-radius:19px}.hero-card:after{right:-60px;top:-145px}.hero-card .button{justify-self:start}.stats-row{gap:.55rem}.stat-card{padding:.8rem .65rem}.stat-card strong{font-size:1.45rem}.stat-card span{font-size:.76rem;line-height:1.25;display:block}.folder-grid{grid-template-columns:1fr}.folder-card{padding:.85rem}.auth-shell{display:block;background:var(--paper)}.auth-art{min-height:0;padding:1.2rem 1.3rem 1.5rem;background:linear-gradient(140deg,#102d42,#165363)}.auth-art h1{font-size:2rem;margin:.75rem 0 .4rem}.auth-art p{margin:0;font-size:.92rem}.auth-art .auth-tag{font-size:.7rem}.auth-panel{display:block;padding:1.8rem 1.2rem}.auth-box{margin:0 auto}.study-card{min-height:290px}.rating-row{gap:.4rem}.rating-row .button{font-size:.84rem}.rating-row small{font-size:.68rem}.type-answer{display:grid;grid-template-columns:1fr auto}.settings-grid{grid-template-columns:1fr}.page-head .button{padding:.68rem .78rem;font-size:.88rem}}
@media(min-width:781px) and (max-width:1040px){.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:1rem .7rem}.main-content{padding:1.7rem}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role="button"]:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
button:disabled{opacity:.6;cursor:wait}
.user-line{align-items:center;flex-wrap:wrap}
.direction-picker{display:grid;gap:.35rem;min-width:190px;font-size:.8rem;font-weight:700;color:var(--muted)}
.direction-picker select{width:100%;min-height:44px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.card-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem;padding:0 0 .8rem;color:var(--muted);font-size:.85rem}.card-list-toolbar>label:not(.card-search){font-weight:700}.card-list-toolbar select,.card-search input{min-height:40px;max-width:100%;padding:.4rem .65rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.card-search{flex:1 1 220px}.card-search input{width:100%;font-size:1rem}
@media(max-width:520px){.study-wrap .page-head{align-items:stretch;flex-wrap:wrap}.direction-picker{width:100%}}
@media(max-width:420px){.topbar .greeting{display:none}.page-head{flex-wrap:wrap}.page-head .toolbar{width:100%}.rating-row{grid-template-columns:repeat(2,1fr)}.study-controls{flex-wrap:wrap}.type-answer{grid-template-columns:1fr}}
.overview-status,.library-status{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.15rem 1.3rem;box-shadow:0 4px 18px #102d4207;margin:0 0 1.35rem}.overview-status{display:grid;grid-template-columns:minmax(140px,1fr) minmax(260px,2fr);align-items:center;gap:1.25rem}.overview-status h2,.library-status h2{margin:0}.overview-status p{margin:.2rem 0 0;color:var(--muted)}.library-status h2{font-size:1rem;margin-bottom:.85rem}.library-actions{margin:0 0 1.4rem}
.learning-status{display:block;min-width:0;color:var(--ink)}.learning-status.empty-status{color:var(--muted);font-size:.9rem}.status-bar{display:flex;width:100%;height:12px;overflow:hidden;border-radius:99px;background:#e8eef0}.status-bar span{display:block;height:100%}.status-new{background:#9dabb6}.status-due{background:#dfac37}.status-later{background:#078b86}.status-numbers{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.65rem;font-size:.88rem;font-weight:700}.status-key{display:inline-flex;align-items:center;gap:.38rem;white-space:nowrap}.status-key::before{content:'';display:inline-block;width:.62rem;height:.62rem;border-radius:99px;background:currentColor}.status-key.new{color:#526a78}.status-key.due{color:#8b640b}.status-key.later{color:#06716d}.learning-status small{display:block;color:var(--muted);margin-top:.45rem}.learning-status.compact .status-bar{height:8px}.learning-status.compact .status-numbers{font-size:.77rem;gap:.22rem .55rem;margin-top:.48rem}.learning-status.compact small{font-size:.75rem;margin-top:.3rem}
.folder-card{flex-direction:column;align-items:stretch;gap:.7rem}.folder-main{display:flex;align-items:center;gap:.85rem;min-width:0}.folder-card .learning-status{width:100%}.home-folder-card{border-radius:18px;background:white;border:1px solid var(--line);box-shadow:0 4px 18px #102d4207;overflow:hidden}.home-folder-card .folder-card{border:0;border-radius:0;box-shadow:none}.home-folder-card .folder-card:hover{transform:none;background:#f7fbfa}.folder-quick-actions{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem 1rem}.folder-quick-actions .button{font-size:.8rem;padding:.58rem .72rem;min-height:40px;flex:1 1 auto}.all-planned{color:var(--muted);font-size:.8rem;margin:0;padding:0 1rem 1rem}
@media(max-width:780px){.overview-status{grid-template-columns:1fr;gap:.7rem}.library-actions .button{flex:1 1 140px}.home-folder-grid{grid-template-columns:1fr}.folder-quick-actions .button{min-height:44px}}
.folder-page-heading{width:100%;min-width:0}.folder-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.folder-title-row h1{min-width:0;overflow-wrap:anywhere}.folder-settings{position:relative;flex:0 0 auto}.folder-settings summary{list-style:none;user-select:none}.folder-settings summary::-webkit-details-marker{display:none}.folder-settings[open] summary{border-color:#9fcac6;background:#e5f2f0}.folder-settings-menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:6;min-width:180px;padding:.35rem;background:white;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.folder-settings-menu button{display:block;width:100%;min-height:44px;border:0;border-radius:9px;background:white;color:var(--ink);text-align:left;padding:.65rem .75rem;font-weight:600}.folder-settings-menu button:hover,.folder-settings-menu button:focus-visible{background:#e5f2f0}.section-title .button{flex:0 0 auto}
@media(max-width:520px){.folder-title-row{gap:.5rem}.folder-settings summary{width:44px;padding:.6rem}.folder-settings summary span{display:none}.section-title{align-items:flex-start}.section-title h2{min-width:0}.section-title .button{padding:.6rem .7rem;font-size:.85rem}}
.folder-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.folder-title-row h1{display:flex;align-items:center;gap:.65rem}
.folder-heading-icon{flex:0 0 44px;font-size:1.3rem}
.folder-image-preview{width:128px;height:128px;margin:0 auto 1.25rem;display:grid;place-items:center;border-radius:24px;background:#e4f4f1;color:#078b86;font-size:3rem;overflow:hidden}
.folder-image-preview img{width:100%;height:100%;object-fit:cover}
.folder-image-remove{display:flex;align-items:center;gap:.6rem;padding:.6rem 0}
.folder-image-remove input{width:auto}
.folder-icon-color{display:grid;width:100%;height:100%;place-items:center;border-radius:inherit;background:var(--folder-icon-color);color:var(--folder-icon-ink,#fff);font-weight:800}
.folder-icon-choice{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:1rem 0;border:1px solid var(--line);border-radius:13px;padding:.8rem}
.folder-icon-choice legend{padding:0 .3rem;font-size:.9rem;font-weight:700}
.folder-icon-choice label{display:flex;align-items:center;gap:.35rem}
.folder-icon-choice input,.folder-image-remove input{width:auto}
.field input[type=color]{width:72px;height:48px;padding:.25rem;cursor:pointer}
.folder-image-preview .preview-color,.folder-preview-glyph{width:100%;height:100%;display:grid;place-items:center;border-radius:inherit;font-size:3rem;font-weight:800}
.folder-preview-glyph{background:#e3f2ef;color:#078b86}
body.study-mode .shell{display:block;min-height:100svh;padding-bottom:0}
body.study-mode .sidebar,body.study-mode .topbar,body.study-mode .mobile-nav{display:none!important}
body.study-mode .main,body.study-mode .main-content{min-height:100svh}
body.study-mode .main-content{display:grid;align-content:center;max-width:none;padding:clamp(1rem,4vw,3rem)}
body.study-mode .study-wrap{width:min(100%,760px);margin:0 auto;animation:study-enter .32s ease both}
.study-exit{white-space:nowrap}
@keyframes study-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){body.study-mode .main-content{padding:1rem .8rem}.study-top{gap:.45rem}.progress-track{margin:0 .2rem}.study-exit{padding:.65rem .7rem;font-size:.82rem}}
@media(prefers-reduced-motion:reduce){body.study-mode .study-wrap{animation:none}}
.study-context{display:grid;justify-items:start;gap:.45rem;margin:1.25rem 0 1rem}
.study-folder-path{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:#405361;font-size:clamp(.94rem,2.4vw,1.08rem);font-weight:650}
.study-folder-path span{overflow-wrap:anywhere}
.study-path-separator{color:#93a1a7;font-weight:500}
.study-mode-badge{flex:0 0 auto;padding:.34rem .62rem;border:1px solid #dbe2e4;border-radius:999px;background:#f0f3f4;color:#5f6b70;font-size:.78rem;font-weight:650}
.study-card-hints{position:relative;display:block;align-self:stretch;width:100%;margin-bottom:1.25rem;padding-top:.9rem;text-align:center}
.study-label{display:block;margin:0;color:#5b6469;font-size:.78rem;font-weight:650;letter-spacing:0;text-align:center;text-transform:none}
.study-hint{position:absolute;top:-.45rem;right:0;color:#849096;font-size:.74rem;text-align:right}
.study-answer-block{width:100%;margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.study-answer-block .study-label{display:block}
@media(max-width:520px){.study-context{align-items:flex-start}.study-folder-path{font-size:.96rem}.study-mode-badge{font-size:.73rem}.study-card-hints{margin-bottom:1rem}.study-hint{font-size:.7rem}}

.streak-board{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 18px #102d4207;padding:clamp(1rem,3vw,1.5rem);margin-bottom:1.35rem;overflow:hidden}
.streak-main{display:flex;align-items:center;gap:1.2rem}.streak-summary{flex:1;min-width:0}.streak-summary .eyebrow{display:block;color:#8a640f;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.streak-summary h2{margin:.2rem 0;font-size:clamp(1.35rem,3vw,1.8rem)}.streak-summary p{margin:.25rem 0 .7rem;color:var(--muted)}.streak-summary small{display:block;margin-top:.35rem;color:var(--muted)}
.avatar-skin{display:grid;place-items:center;flex:0 0 auto;width:76px;height:76px;border:2px solid #ffffffa8;border-radius:23px;background:linear-gradient(145deg,#dceae9,#9ac6ba);box-shadow:0 3px 0 #153d4c24,0 8px 18px #102d4220;font-size:2.5rem;line-height:1}.avatar-small{width:42px;height:42px;border-radius:14px;font-size:1.4rem}.avatar-starter{background:linear-gradient(145deg,#f9e9b9,#e8b759);color:#65420d}.avatar-explorer{background:linear-gradient(145deg,#d4ede1,#63ad91)}.avatar-fox{background:linear-gradient(145deg,#ffe2be,#f3a15e)}.avatar-owl{background:linear-gradient(145deg,#e6dbf6,#a999d3)}.avatar-astronaut{background:linear-gradient(145deg,#dce9ff,#82a7d9)}.avatar-dragon{background:linear-gradient(145deg,#c7f0d7,#5eb987)}.avatar-robot{background:linear-gradient(145deg,#e0eaf0,#91adbd)}.avatar-comet{background:linear-gradient(145deg,#e3dbfb,#9a83dc)}.avatar-legend{background:linear-gradient(145deg,#fff0b7,#d49c38)}
.daily-progress,.timeline-track{height:9px;overflow:hidden;border-radius:99px;background:#e6eceb}.daily-progress i,.timeline-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d59b28,#f0bf54)}
.clear-streak{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;margin:1.15rem 0;border:1px solid #d8e9e3;border-radius:15px;background:#f3faf7}.clear-streak strong{display:block}.clear-streak p{margin:.1rem 0;color:#537166;font-size:.88rem}.clear-streak small{color:#647b72}.clear-emblem{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:#dcefe6;color:#267c5c;font-size:1.5rem}
.timeline-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;margin:.4rem 0 .6rem}.timeline-heading h3{font-size:1rem;margin:0}.timeline-heading span{font-size:.78rem;color:var(--muted)}.timeline-track{height:5px;background:#e7edef}.milestone-timeline{display:flex;gap:.55rem;overflow-x:auto;scroll-snap-type:x proximity;list-style:none;margin:.65rem 0 0;padding:.25rem 0 .6rem}.milestone{position:relative;flex:0 0 136px;min-height:104px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;padding:.8rem;border:1px solid #dfe7e7;border-radius:14px;background:#f8faf9;scroll-snap-align:start}.milestone.unlocked{border-color:#b8dcca;background:#eff8f3}.milestone.next{border-color:#d4ad5b;box-shadow:inset 0 0 0 1px #d4ad5b}.milestone-dot{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e2e9e9;color:#657a80;font-weight:800}.milestone.unlocked .milestone-dot{background:#2d9b70;color:#fff}.milestone strong{font-size:.9rem}.milestone small{color:var(--muted);line-height:1.2}
.avatar-panel{grid-column:1/-1}.avatar-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.65rem;margin:1rem 0 1.4rem}.avatar-choice{display:grid;justify-items:center;gap:.35rem;min-height:142px;padding:.8rem .45rem;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-align:center}.avatar-choice:not(:disabled):hover,.avatar-choice.selected{border-color:#4ba68d;background:#f1faf5}.avatar-choice:disabled{opacity:.52;cursor:default}.avatar-choice .avatar-skin{width:55px;height:55px;border-radius:17px;font-size:1.8rem}.avatar-choice strong{font-size:.86rem}.avatar-choice small{font-size:.74rem;color:var(--muted)}.avatar-panel h3{font-size:1rem;margin:.5rem 0}.achievement-list{display:flex;flex-wrap:wrap;gap:.45rem}.achievement-badge{display:inline-flex;align-items:center;padding:.45rem .65rem;border:1px solid #e4d5a2;border-radius:999px;background:#fff8e5;color:#745914;font-size:.8rem;font-weight:700}
.xp-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.95rem}.xp-intro .eyebrow{color:#08736f;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.xp-intro h2{margin:.2rem 0;font-size:clamp(1.45rem,3vw,1.95rem)}.xp-intro p{margin:.25rem 0;color:var(--muted);font-size:.88rem}.xp-track i{background:linear-gradient(90deg,#3a9e90,#58c3aa)}.xp-milestone.unlocked{border-color:#a6d9cf;background:#edf9f6}.streak-divider{height:1px;background:var(--line);margin:1.35rem 0 1.1rem}
.xp-intro+.streak-main{padding-top:.9rem;border-top:1px solid var(--line)}.streak-board:not(.journey-board) .clear-streak{margin-bottom:0}.journey-board{margin-top:1.4rem}.journey-board>h2{font-size:1.2rem;margin:0}.journey-board>p.muted{margin:.2rem 0 1rem}.journey-note{font-size:.8rem;color:var(--muted);margin:.7rem 0 0}
.round-xp{flex:0 0 auto;border-radius:999px;background:#e5f5ef;color:#177658;padding:.3rem .55rem;font-size:.76rem;font-weight:800}
@media(max-width:520px){.streak-main{align-items:flex-start;gap:.8rem}.streak-main>.avatar-skin{width:55px;height:55px;border-radius:17px;font-size:1.8rem}.streak-summary h2{font-size:1.27rem}.streak-summary p{font-size:.82rem}.milestone{flex-basis:126px}.timeline-heading{align-items:flex-start;flex-direction:column;gap:.2rem}.clear-streak{padding:.75rem}}
@media(max-width:520px){.study-top{flex-wrap:wrap}.round-xp{order:3}}

/* Crisp, modern surfaces: keep the learning flow calm and let reward art stand out. */
:root{--ink:#172f3d;--muted:#627681;--navy:#102a3a;--teal:#087f7b;--teal-dark:#066762;--yellow:#e8b64f;--paper:#f0f4f5;--line:#d2dde1;--shadow:0 14px 38px rgba(16,42,58,.09)}
body{background:var(--paper)}
.brand-mark,.side-brand .brand-mark,.mobile-brand .brand-mark{border-radius:8px}
.field input,.field textarea,.field select,.direction-picker select,.card-list-toolbar select,.card-search input{border-radius:7px}
.button{border-radius:7px;letter-spacing:.005em}.button.primary{background:#087f7b}.button.primary:hover{background:#066762}
.icon-button,.nav-item,.mobile-nav .nav-item{border-radius:6px}
.nav-item.active{box-shadow:inset 3px 0 #e8b64f}.mobile-nav .nav-item.active{box-shadow:inset 0 3px #087f7b}
.hero-card{border-radius:12px;background:linear-gradient(120deg,#102a3a,#163d50 72%,#08716e)}
.stat-card,.panel,.folder-card,.study-card,.overview-status,.library-status{border-radius:10px;box-shadow:0 3px 14px rgba(16,42,58,.055)}
.folder-card{border-color:#d5e0e3}.folder-card:hover{transform:translateY(-1px);border-color:#72aca8}
.folder-icon{border-radius:8px}.folder-image-preview{border-radius:12px}.folder-settings-menu{border-radius:8px}.folder-settings-menu button{border-radius:5px}
.study-card{border-top:3px solid var(--teal)}
.streak-board{border-radius:10px;border-top:3px solid #087f7b;box-shadow:0 4px 16px rgba(16,42,58,.055)}
.journey-board{border-top-color:#e8b64f}
.avatar-skin{position:relative;display:block;overflow:hidden;flex:0 0 auto;width:78px;height:78px;border:1px solid #b8c9ce;border-radius:9px;background:#e7eef0;box-shadow:inset 0 0 0 3px #ffffff99,0 3px 8px rgba(16,42,58,.14);font-size:0;line-height:1}
.avatar-art{position:absolute;inset:0;background-image:url('rewards/avatar-atlas.webp');background-repeat:no-repeat;background-size:300% 300%;background-position:var(--avatar-x,100%) var(--avatar-y,100%)}
.avatar-explorer .avatar-art{clip-path:inset(0 0 0 3px)}
.avatar-small{width:42px;height:42px;border-radius:6px}
.avatar-choice{min-height:158px;border-radius:8px;gap:.4rem}.avatar-choice .avatar-skin{width:76px;height:76px;border-radius:7px}
.avatar-choice:not(:disabled):hover,.avatar-choice.selected{border-color:#168f89;background:#edf7f6;box-shadow:inset 0 0 0 1px #168f89}
.avatar-choice:disabled{opacity:.66}
.milestone{border-radius:8px;background:#f5f8f8}.milestone.unlocked{border-color:#a7cebf;background:#eff7f3}.milestone.next{border-color:#dcab3f;box-shadow:inset 0 0 0 1px #dcab3f}
.milestone-icon{display:block;width:40px;height:40px}.badge-art{display:block;width:40px;height:40px;background-image:url('rewards/badge-atlas.webp');background-repeat:no-repeat;background-size:400% 400%;background-position:var(--badge-x,0%) var(--badge-y,0%)}
.badge-art-extra{background-image:url('rewards/clear-beacon.webp');background-size:contain;background-position:center}
.milestone.locked .badge-art:not(.badge-art-extra){filter:grayscale(.85);opacity:.48}.milestone.locked .badge-art-extra{filter:grayscale(.85);opacity:.48}.milestone.locked .avatar-art{filter:grayscale(.8);opacity:.55}
.milestone-avatar .avatar-skin{width:42px;height:42px;border-radius:6px;box-shadow:none}
.achievement-list{align-items:stretch}.achievement-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .55rem;border:1px solid #d9d8c3;border-radius:7px;background:#faf9f1;color:#38464b;font-size:.78rem;font-weight:700}.achievement-badge .badge-art{width:35px;height:35px;flex:0 0 auto}
.daily-progress,.timeline-track{border-radius:3px}.daily-progress i,.timeline-track i{border-radius:inherit}.clear-streak{border-radius:8px;background:#eff7f3}.clear-emblem{border-radius:7px}.round-xp{border-radius:5px}
.clear-emblem{width:42px;height:42px;padding:0;background:transparent}.clear-emblem .badge-art{width:42px;height:42px}
@media(max-width:780px){.hero-card{border-radius:9px}.folder-card{border-radius:8px}.streak-board{border-radius:9px}.avatar-choice{min-height:150px}.avatar-choice .avatar-skin{width:68px;height:68px}}
@media(max-width:520px){.streak-main>.avatar-skin{width:58px;height:58px;border-radius:7px}.milestone{border-radius:7px}.avatar-small{width:42px;height:42px}.avatar-choice .avatar-skin{width:64px;height:64px}}
.avatar-choice .avatar-rarity{font-size:.7rem;font-weight:700;color:var(--muted);letter-spacing:.03em}
.share-user-line{display:grid;grid-template-columns:minmax(100px,1fr) minmax(130px,auto) auto auto;align-items:center;gap:.45rem}.share-user-line select{max-width:155px;padding:.45rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
@media(max-width:560px){.share-user-line{grid-template-columns:1fr auto auto}.share-user-line select{grid-column:1/-1;grid-row:2;max-width:none;width:100%}}
