/* Estudy.Nexo: readable type and a consistent book mark without remote fonts. */
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#173334;background:#f4f7f5;font-size:16px;font-synthesis:none}
body{font-family:inherit;line-height:1.5}
.brand,.heading h1,.hero h2,.section-head h2,.stat strong,.modal h2,.summary-topic h3,.study-page h2,.study-page h3,.period-label strong,.period-medal span,.social-card h3,.insight h3,.auth-card h1{font-family:inherit;font-weight:750}
.brand{font-size:1.2rem;letter-spacing:-.035em;white-space:nowrap}
.brand-mark{flex:none;width:42px;height:42px;border-radius:13px}
.brand-icon{width:27px;height:27px;display:block}
.auth-card .brand{padding:13px 16px!important;gap:12px}
.auth-card .brand-mark{background:#baf2a7;color:#102a2b}
.auth-card{padding:clamp(22px,5vw,34px)}
.auth-card h1{font-size:1.65rem;line-height:1.18;letter-spacing:-.035em}
.auth-card p,.auth-card .form label{font-size:.94rem}
.sidebar{background:#102e2d}
.nav button{font-size:.94rem;line-height:1.3;min-height:45px}
.nav-label{font-size:.77rem;letter-spacing:.12em}
.nav .ico{font-family:ui-sans-serif,system-ui,"Segoe UI Symbol",sans-serif;font-size:1.25rem;line-height:1;flex:none}
.breadcrumb,.heading p,.hero p,.subject-row strong,.task-row strong,.btn,.tabs button,.note,.empty,.study-paging,.social-card p,.form label,.notice,.insight p{font-size:.94rem}
.heading h1{line-height:1.15;letter-spacing:-.045em}
.heading p{line-height:1.55}
.hero h2{line-height:1.24;letter-spacing:-.035em}
.hero p{line-height:1.65}
.eyebrow{font-size:.79rem;letter-spacing:.12em}
.section-head h2{font-size:1.15rem;line-height:1.3}
.stat small,.subject-row small,.task-row small,.period-label small,.study-history-row small,.event-row,.date,.pill,.link,.side-bottom p{font-size:.83rem;line-height:1.45}
.subject-row{grid-template-columns:44px minmax(0,1fr) auto}
.subject-row strong,.subject-row small,.task-row strong,.task-row small{overflow-wrap:anywhere}
.subject-row .pct{font-family:inherit;font-size:.9rem}
.form label{line-height:1.45}
.form input,.form select,.form textarea,.editor-toolbar select{font-size:1rem;line-height:1.4}
.form input,.form select{min-height:46px}
.btn{line-height:1.3;min-height:42px}
.note,.notice{line-height:1.65}
.period-medal span{font-size:1.5rem;line-height:1}
@media(max-width:700px){.content{padding-left:17px;padding-right:17px}.heading{flex-wrap:wrap}.heading h1{font-size:clamp(1.55rem,7vw,2rem)}.heading .btn{white-space:normal}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat small{font-size:.75rem}.mobile-nav button{font-size:.76rem;min-width:66px;line-height:1.2}.mobile-nav button span{font-size:1.35rem}.mobile-nav button{flex-basis:72px}.period-medal span{font-size:1.2rem}}
@media(max-width:380px){.stats{grid-template-columns:1fr}.stat{display:flex;gap:13px}.stat-icon{margin:0}}

/* 2026 visual system — calm study workspace with expressive progress. */
:root{--ink:#173052;--muted:#5e728c;--blue:#2765d8;--blue-deep:#164dae;--mint:#32c883;--line:#dbe6f2;--surface:#fff;--canvas:#f3f7fd;color:var(--ink);background:var(--canvas)}
body{background:var(--canvas);color:var(--ink)}
.app{grid-template-columns:248px minmax(0,1fr)}
.sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:27px 15px;gap:19px;position:sticky;top:0;height:100vh}
.brand{color:#173052;font-size:1.19rem;padding:2px 10px 21px;letter-spacing:-.045em}
.brand-mark{background:#2765d8;color:#fff;border-radius:14px;box-shadow:0 4px 0 #174ba7}
.brand span[style*="color:#baf2a7"]{color:#42bf86!important}
.nav-label{color:#8493a9;margin-top:10px;padding:0 15px}
.nav{gap:6px}.nav button{position:relative;color:#516881;border:1px solid transparent;border-radius:14px;padding:12px 15px;font-weight:720;transition:background .18s,transform .18s,color .18s,border-color .18s}
.nav button:hover{background:#eef5ff;border-color:#daeaff;color:#1e56b9;transform:translateX(2px)}
.nav button.active{background:#e8f1ff;border-color:#c9dcff;color:#1852bc;box-shadow:none}
.nav button.active:before{content:"";position:absolute;left:0;width:4px;height:27px;border-radius:0 5px 5px 0;background:#2765d8}
.nav .ico{width:24px;height:24px;display:grid;place-items:center}.nav .ico svg{width:21px;height:21px}
.side-bottom{background:#f2f8ff;border:1px solid #dcecff;color:#2b527e;border-radius:18px;padding:18px}.side-bottom strong{font-size:.94rem;font-weight:780;line-height:1.3}.side-bottom p{color:#617d99;font-size:.83rem}
.main{background:var(--canvas)}
.topbar{height:76px;background:#ffffffec;border-color:var(--line);padding:0 clamp(22px,3vw,50px)}
.breadcrumb{color:#7b8da3;font-size:.85rem}.breadcrumb b{color:#284c75;font-weight:750}.topbar .link{color:#2765d8;font-size:.87rem}
.avatar{background:#e4efff;color:#235bbb;border:2px solid #c9dcff;width:42px;height:42px;transition:transform .18s,box-shadow .18s}.avatar:hover{transform:scale(1.06);box-shadow:0 5px 14px #2765d82b}
.content{max-width:1450px;padding:34px clamp(22px,3vw,50px) 85px}
.heading{align-items:center;margin-bottom:27px}.heading h1{color:#142d4f;font-size:clamp(1.9rem,3vw,2.55rem);letter-spacing:-.048em;margin:5px 0 6px}.heading p{color:var(--muted);font-size:1rem}.eyebrow{color:#3872cf;font-weight:850;letter-spacing:.12em}
.card,.stat,.social-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 4px 15px #23467408}
.card{padding:clamp(18px,2.2vw,27px)}.section-head h2,.home-section-head h2{color:#173052;font-size:1.18rem;letter-spacing:-.025em}
.btn{border:1px solid #cbdcf0;color:#255482;background:#fff;border-radius:12px;padding:11px 17px;font-size:.91rem;font-weight:800;box-shadow:0 3px 0 #d7e4f2;transition:transform .16s,box-shadow .16s,background .16s}
.btn:hover{background:#eef5ff;transform:translateY(-2px);box-shadow:0 5px 0 #d7e4f2}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #d7e4f2}
.btn.primary{background:#2765d8;border-color:#2765d8;color:#fff;box-shadow:0 4px 0 #174aa9}.btn.primary:hover{background:#3474ee;box-shadow:0 6px 0 #174aa9}.btn.primary:active{box-shadow:0 1px 0 #174aa9}
.btn.light{background:#fff;color:#2154ad;border-color:#fff}.btn.danger{color:#b43941;border-color:#f1c6c9}.btn.danger:hover{background:#fff0f1}
.btn:disabled{opacity:.55;transform:none;box-shadow:none;cursor:not-allowed}.link{color:#2866c7;font-size:.85rem}.link:hover{text-decoration:underline}
.pill{background:#e9f4ff;color:#255c9e;font-size:.8rem;padding:6px 11px}
.notice{background:#edf6ff;border-left:4px solid #67a8ef;color:#385f87;border-radius:10px;font-size:.9rem}
.insight{background:#eaf8f2}.insight .badge{color:#24895f}
.form label{color:#35516f;font-weight:750}.form input,.form select,.form textarea,.editor-toolbar button,.editor-toolbar select{border-color:#cfdded;border-radius:12px;background:#fcfdff;color:#173052}
.form input:focus,.form select:focus,.form textarea:focus{border-color:#5690e8;box-shadow:0 0 0 4px #79abf329;outline:none}
.tabs{gap:9px}.tabs button{background:#fff;color:#4e6885;border-color:#d4e1f1;border-radius:12px;font-size:.9rem;padding:10px 14px;transition:transform .16s,background .16s}.tabs button:hover{background:#edf5ff;transform:translateY(-2px)}.tabs button.active{background:#2765d8;color:#fff;border-color:#2765d8;box-shadow:0 3px 0 #174aa9}
.progress{height:9px;background:#e5edf6;border-radius:20px}.progress span{background:linear-gradient(90deg,#42c881,#28b96b);border-radius:20px}
.subject-row,.study-history-row,.history-objective,.summary-topic,.quiz-question{border-color:#dce7f3;border-radius:16px;transition:border-color .16s,box-shadow .16s}.subject-row:hover,.study-history-row:hover{border-color:#a9caf4;box-shadow:0 5px 15px #2670b712}.subject-icon{border-radius:14px;background:#eaf5ff;font-size:1.45rem}.subject-row strong,.study-history-row strong{font-size:.96rem;color:#203e61}.subject-row small,.study-history-row small{color:#71879e}
.period-folder{overflow:hidden}.period-heading{padding:2px 0;min-height:65px}.period-heading:hover .period-label strong{color:#2765d8}.period-heading:after{content:'⌄';color:#3f6db6;font-size:1.6rem;line-height:1;transition:transform .2s}.period-folder[open] .period-heading:after{transform:rotate(180deg)}.period-label strong{font-size:1.15rem;color:#1d3b61}.period-medal{opacity:.77;filter:grayscale(.5)}.period-medal.completed{opacity:1}
.modal-backdrop{background:#092544a8;backdrop-filter:blur(5px)}.modal{border-radius:24px;box-shadow:0 30px 80px #0c2b5555}.modal h2{color:#173052}.modal p{font-size:.94rem}
.auth-shell{background:radial-gradient(circle at 85% 15%,#478ce2 0,#2765d8 35%,#143a83 95%)}.auth-card{border-radius:26px;border:1px solid #cfe2ff;box-shadow:0 22px 70px #0c2f7f5c}.auth-card .brand{background:#173b83;border-radius:15px}.auth-card p{color:#5a708b}.auth-card h1{color:#173052}
/* Home: a clear next step with real course progress. */
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:22px;align-items:start}.home-main,.home-aside{display:grid;gap:23px;min-width:0}
.learning-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:22px;align-items:center;min-height:245px;padding:clamp(24px,3vw,40px);background:linear-gradient(125deg,#1f59c5,#397cea);border:1px solid #356cdc;border-radius:26px;color:#fff;box-shadow:0 7px 0 #174da9}
.learning-hero:after{content:"";position:absolute;right:3%;top:-125px;width:390px;height:390px;border:1px solid #ffffff36;border-radius:50%;box-shadow:0 0 0 45px #ffffff0d,0 0 0 90px #ffffff09;pointer-events:none}.learning-hero>*{position:relative;z-index:1}
.learning-hero .eyebrow{color:#c8f7d9;font-size:.78rem}.learning-hero h2{font-size:clamp(1.65rem,2.5vw,2.2rem);line-height:1.17;letter-spacing:-.04em;margin:10px 0;max-width:600px}.learning-hero p{color:#e3efff;font-size:.98rem;line-height:1.58;max-width:580px;margin:0 0 23px}.hero-button{background:#fff;color:#1f55ae;border-color:#fff;box-shadow:0 4px 0 #c4d8fa;padding:12px 20px}.hero-button:hover{background:#eff7ff;box-shadow:0 6px 0 #c4d8fa}.hero-button span{margin-left:9px}
.hero-progress{display:grid;justify-items:center;gap:10px;text-align:center;font-size:.83rem;color:#e1efff}.progress-orbit{width:135px;height:135px;border-radius:50%;background:conic-gradient(#6ee8a2 var(--progress),#ffffff47 0);padding:12px;box-shadow:0 8px 23px #0a3f9c46}.progress-orbit>div{width:100%;height:100%;border-radius:50%;background:#2663d1;display:grid;align-content:center;gap:0}.progress-orbit strong{font-size:1.75rem;line-height:1.1;color:#fff}.progress-orbit small{font-size:.73rem;color:#d9ebff}
.home-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.home-section-head h2{margin:5px 0 0;font-size:1.25rem}
.home-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-subject{min-width:0;text-align:left;background:#fff;border:1px solid #d8e5f3;border-bottom:4px solid #c7d8ea;border-radius:20px;padding:18px;display:grid;justify-items:start;gap:9px;color:#173052;transition:transform .18s,border-color .18s,box-shadow .18s}.home-subject:hover{transform:translateY(-4px);border-color:#9ec4f4;box-shadow:0 10px 20px #235ca51b}.home-subject:active{transform:translateY(1px)}.home-subject .subject-icon{width:46px;height:46px;margin-bottom:2px}.home-subject-name{font-weight:800;font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.home-subject-meta{color:#758ba2;font-size:.8rem}.home-subject .progress{width:100%;margin:4px 0}.home-subject-action{font-size:.84rem;font-weight:800;color:#2765d8}
.home-summary h2{font-size:1.19rem;margin:5px 0 18px}.journey-metric{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #e4ecf5}.journey-metric>span{width:41px;height:41px;border-radius:13px;background:#eaf4ff;color:#2964c7;display:grid;place-items:center;font-size:1.15rem;font-weight:850}.journey-metric:nth-of-type(2)>span{background:#e7f8ee;color:#23a45a}.journey-metric:nth-of-type(3)>span{background:#fff5d9;color:#b47c00}.journey-metric strong{display:block;font-size:1.1rem;line-height:1.2}.journey-metric small{display:block;color:#71879d;font-size:.8rem}.home-tasks .task-row strong{font-size:.9rem}.home-tasks>.btn{width:100%;margin-top:14px}
@media(max-width:1150px){.home-layout{grid-template-columns:1fr}.home-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.app{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding-inline:12px}.content{padding:27px 22px 75px}.topbar{padding-inline:22px}}
@media(max-width:700px){.app{display:block}.sidebar{display:none}.topbar{height:65px;padding:0 17px}.content{padding:23px 16px 105px}.heading{margin-bottom:22px}.heading h1{font-size:1.85rem}.home-layout{gap:22px}.home-aside{grid-template-columns:1fr}.learning-hero{grid-template-columns:1fr;min-height:0;padding:25px;gap:21px}.learning-hero h2{font-size:1.75rem}.hero-progress{display:flex;justify-content:flex-start;align-items:center;gap:15px}.progress-orbit{width:78px;height:78px;padding:7px;flex:none}.progress-orbit strong{font-size:1.1rem}.progress-orbit small{font-size:.6rem}.home-subject-grid{gap:10px}.home-subject{padding:15px}.home-subject-name{font-size:.91rem}.home-subject-meta{font-size:.75rem}.mobile-nav{background:#fff;border-color:#d9e5f2;box-shadow:0 -5px 25px #1d427314;padding:7px 5px max(9px,env(safe-area-inset-bottom));gap:3px;justify-content:space-around;overflow-x:auto}.mobile-nav button{flex:1 0 60px;min-width:60px;color:#6a829c;border-radius:12px;padding:7px 4px;font-weight:720;font-size:.7rem;gap:4px}.mobile-nav button span{font-size:inherit;width:22px;height:22px}.mobile-nav svg{width:22px;height:22px}.mobile-nav button.active{background:#e9f2ff;color:#2160c8}.period-heading{gap:9px}.period-heading .pill{margin-left:0}.period-heading:after{font-size:1.25rem}}
@media(max-width:430px){.home-subject-grid{grid-template-columns:1fr}.learning-hero h2{font-size:1.6rem}.heading h1{font-size:1.65rem}.breadcrumb{font-size:.75rem}.breadcrumb .link{margin-right:3px!important}.date{display:none}.topbar .avatar{flex:none}}
@media(prefers-reduced-motion:reduce){.btn,.home-subject,.nav button,.tabs button,.avatar{transition:none}.home-subject:hover,.nav button:hover,.btn:hover,.tabs button:hover{transform:none}}
.adaptive-plan{margin-bottom:22px}.adaptive-plan h2{margin:4px 0}.adaptive-plan>p{line-height:1.6}.plan-settings summary{cursor:pointer;padding:12px 0}.plan-days,.plan-subjects{border:1px solid var(--edge,#dbe6dd);border-radius:12px;padding:15px;display:flex;flex-wrap:wrap;gap:12px}.plan-days legend,.plan-subjects legend{padding:0 7px}.plan-subjects label{overflow-wrap:anywhere}.plan-adaptations{padding:16px;background:var(--accent-soft,#edf5ef);border-radius:14px;margin:18px 0}.plan-adaptations li{margin:7px 0;line-height:1.5}.plan-sessions{display:grid;gap:16px}.plan-session{border:1px solid var(--edge,#dbe6dd);border-radius:15px;padding:20px}.plan-session.is-done{border-color:var(--accent,#087b62)}.plan-session h3{margin:5px 0;overflow-wrap:anywhere}.plan-session .section-head{flex-wrap:wrap;align-items:flex-start}.plan-session ol{padding-left:24px}.plan-session li{margin:14px 0}.plan-session li>div{display:flex;justify-content:space-between;gap:12px}.plan-session li>div>small{white-space:nowrap}.plan-session li p{line-height:1.6;font-size:14px;color:var(--quiet,#657c71);margin:7px 0}.plan-session input,.plan-settings input[type=checkbox]{accent-color:var(--accent,#087b62)}@media(max-width:600px){.plan-session{padding:15px}.adaptive-plan>.section-head{flex-wrap:wrap}.plan-days{gap:14px}.plan-session .section-head label{font-size:13px}.plan-subjects{display:grid}}
