/* ALFA AI look (reference dashboard). Sizes written as "Nu" are scaled from the 1672px-wide design: calc(1 * var(--u)) = 1px at 1672px wide.
   Loaded after style.css. */
:root{
  --u:1px;
  --a-ink:#1d1b4b; --a-muted:#5d5b86; --a-orange:#ff8a1a; --a-orange2:#ff6a00; --a-blue:#2d6fdc;
  --a-glass:rgba(255,255,255,.62); --a-glass2:rgba(255,255,255,.72); --a-line:rgba(255,255,255,.85);
  --a-shadow:0 10px 30px rgba(110,90,170,.16);
  --a-pill:rgba(255,255,255,.78);
  --a-bg:radial-gradient(48% 34% at 4% 46%,rgba(255,190,150,.55),transparent 72%),
         radial-gradient(40% 22% at 52% 104%,rgba(255,176,120,.5),transparent 72%),
         radial-gradient(42% 26% at 96% 2%,rgba(176,160,250,.45),transparent 70%),
         linear-gradient(135deg,#eceafb,#f2e6ee 52%,#e6ebfc);
}
:root[data-theme="dark"],:root[data-theme="neon"]{
  --a-ink:#f3f1ff; --a-muted:#b6b2dc;
  --a-glass:rgba(32,28,78,.62); --a-glass2:rgba(40,35,92,.74); --a-line:rgba(255,255,255,.12);
  --a-shadow:0 10px 30px rgba(0,0,0,.4); --a-pill:rgba(255,255,255,.08);
  --a-bg:radial-gradient(48% 34% at 4% 46%,rgba(255,120,40,.22),transparent 72%),
         radial-gradient(42% 26% at 96% 2%,rgba(110,80,255,.30),transparent 70%),
         linear-gradient(135deg,#120f2b,#1a1440 55%,#10122e);
}
@media(min-width:1001px){:root{--u:clamp(.66px,calc(100vw/1672),1.2px)}}
@media(max-width:1000px){:root{--u:.72px}}

html,body{font-family:Poppins,Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari",sans-serif}
body{background:var(--a-bg)!important;color:var(--a-ink)}
.alfa-stash{display:none!important}

/* ---------- app grid: header on top, sidebar left, screens right ---------- */
.app{display:grid;grid-template-columns:calc(262 * var(--u)) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100%;overflow:hidden;gap:0}
.app>.topbar{grid-column:1/-1;grid-row:1}
.app>.sidebar{grid-column:1;grid-row:2}
.app>.main{grid-column:2;grid-row:2;height:auto;min-height:0}

/* ---------- header ---------- */
.topbar.alfa-top{height:calc(105 * var(--u));min-height:56px;padding:0 calc(30 * var(--u)) 0 calc(38 * var(--u));gap:calc(20 * var(--u));margin:0 calc(3 * var(--u));border:1px solid var(--a-line);border-top:0;border-radius:0 0 calc(34 * var(--u)) calc(34 * var(--u));
  background:linear-gradient(100deg,rgba(255,255,255,.78),rgba(255,236,222,.7) 40%,rgba(236,232,252,.78));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--a-shadow);position:relative;z-index:120}
:root[data-theme="dark"] .topbar.alfa-top,:root[data-theme="neon"] .topbar.alfa-top{background:linear-gradient(100deg,rgba(40,34,96,.85),rgba(60,40,80,.7) 40%,rgba(32,28,78,.85))}
.alfa-logo{display:flex;align-items:center;gap:calc(6 * var(--u));cursor:pointer;flex:none;background:none;text-align:left}
.alfa-logo img{height:calc(84 * var(--u));min-height:34px;width:auto;display:block}
.alfa-word{display:flex;flex-direction:column;line-height:1}
.alfa-word b{font-size:max(20px,calc(44 * var(--u)));font-weight:700;letter-spacing:calc(1 * var(--u));color:var(--a-ink)}
.alfa-word b i{font-style:normal;color:var(--a-orange)}
.alfa-word small{font-size:max(10px,calc(21 * var(--u)));font-weight:600;margin-top:calc(4 * var(--u));padding-left:calc(48 * var(--u))}
.alfa-tag{flex:0 1 auto;margin:0 auto;padding:calc(4 * var(--u)) calc(40 * var(--u));border-radius:calc(60 * var(--u));border:calc(2 * var(--u)) solid #ffc58a;background:linear-gradient(90deg,#fff6ea,#ffe3c4);color:#24190b;
  font-style:italic;font-weight:700;font-size:max(12px,calc(31 * var(--u)));white-space:nowrap;box-shadow:0 calc(6 * var(--u)) calc(20 * var(--u)) rgba(255,140,30,.28),inset 0 0 0 calc(2 * var(--u)) rgba(255,255,255,.8)}
:root[data-theme="dark"] .alfa-tag,:root[data-theme="neon"] .alfa-tag{background:linear-gradient(90deg,#3a2a24,#4b2f1a);color:#ffe9cf;border-color:#c9822f}
.topbar.alfa-top .model-selector{margin-left:auto;background:var(--a-pill);border-color:var(--a-line)}
body:has(#screen-home.active) .topbar.alfa-top .model-selector{display:none}
body:not(:has(#screen-home.active)) .alfa-tag{display:none}
.alfa-top-right{display:flex;align-items:center;gap:calc(28 * var(--u));flex:none}
.alfa-theme{position:relative;display:flex;align-items:center;gap:0;padding:calc(4 * var(--u)) calc(6 * var(--u));border-radius:calc(60 * var(--u));background:linear-gradient(180deg,#e7e1f6,#d9d2ee);box-shadow:inset 0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(70,50,130,.25),0 calc(3 * var(--u)) calc(8 * var(--u)) rgba(80,60,150,.15);height:calc(56 * var(--u));min-height:34px}
.alfa-theme img{height:100%;width:auto;display:block;border-radius:50%}
:root[data-theme="dark"] .alfa-theme .sun,:root[data-theme="neon"] .alfa-theme .sun{filter:grayscale(.7) brightness(.8) opacity(.7)}
.alfa-bell{position:relative;display:grid;place-items:center;width:calc(64 * var(--u));min-width:34px;height:calc(56 * var(--u));min-height:34px}
.alfa-bell img{height:100%;width:auto}
.alfa-bell em{position:absolute;top:calc(-4 * var(--u));right:calc(-2 * var(--u));min-width:max(16px,calc(22 * var(--u)));height:max(16px,calc(22 * var(--u)));border-radius:50%;background:#ff3b30;color:#fff;font-weight:700;font-size:max(10px,calc(13 * var(--u)));line-height:1;font-style:normal;display:grid;place-items:center;box-shadow:0 2px 6px rgba(255,59,48,.5)}
.alfa-bell em[hidden]{display:none}
.alfa-user{display:flex;align-items:center;gap:calc(14 * var(--u));padding-left:calc(22 * var(--u));border-left:1px solid rgba(80,70,140,.18)}
.alfa-user .avatar{width:calc(58 * var(--u));height:calc(58 * var(--u));min-width:34px;min-height:34px;border:calc(3 * var(--u)) solid #fff;box-shadow:0 4px 10px rgba(30,64,175,.35);font-size:0;color:transparent;background:#2563eb url("../img/alfa/avatar.png") center/cover no-repeat}
.alfa-user .avatar img{width:100%;height:100%;object-fit:cover}
.alfa-user .who{display:flex;flex-direction:column;line-height:1.15}
.alfa-user .who small{font-size:max(10px,calc(16 * var(--u)));font-weight:600}
.alfa-user .who b{font-size:max(12px,calc(20 * var(--u)));font-weight:700;max-width:calc(140 * var(--u));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alfa-user .chev{font-size:max(12px,calc(24 * var(--u)));color:var(--a-ink)}

/* ---------- sidebar ---------- */
.sidebar.alfa-side{width:auto;padding:calc(12 * var(--u)) calc(10 * var(--u)) calc(14 * var(--u)) calc(14 * var(--u));background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;display:flex;flex-direction:column;min-height:0}
.alfa-side .a-panel{flex:1;min-height:0;display:flex;flex-direction:column;padding:calc(16 * var(--u)) calc(12 * var(--u)) calc(14 * var(--u));border-radius:calc(30 * var(--u));background:var(--a-glass);border:1px solid var(--a-line);box-shadow:var(--a-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow-y:auto;overflow-x:hidden}
.a-nav{display:flex;flex-direction:column;gap:calc(6 * var(--u))}
.a-nav button{display:flex;align-items:center;gap:calc(16 * var(--u));width:100%;padding:calc(11 * var(--u)) calc(14 * var(--u));border-radius:calc(20 * var(--u));color:var(--a-ink);font-weight:500;font-size:max(12px,calc(20 * var(--u)));white-space:nowrap;text-align:left;transition:.2s;min-height:38px}
.a-nav button img{width:calc(34 * var(--u));min-width:20px;height:auto;flex:none;display:block}
.a-nav button:hover{background:rgba(255,138,26,.12)}
.a-nav button.active{font-weight:600;background:linear-gradient(90deg,#ffa22e,#ff7a00);color:#fff;box-shadow:0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(255,106,0,.4),inset 0 calc(2 * var(--u)) 0 rgba(255,255,255,.35)}
.a-mascot{flex:1 1 0;min-height:110px;max-height:calc(300 * var(--u));margin-top:calc(14 * var(--u));display:block}
.a-mascot img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;filter:drop-shadow(0 calc(8 * var(--u)) calc(14 * var(--u)) rgba(255,106,0,.3))}

/* ---------- home ---------- */
#screen-home{background:none!important;padding:calc(14 * var(--u)) calc(14 * var(--u)) calc(12 * var(--u)) calc(8 * var(--u))}
#screen-home .container{max-width:none;margin:0}
.a-home{display:grid;grid-template-columns:minmax(0,1fr) calc(300 * var(--u));gap:calc(20 * var(--u)) calc(20 * var(--u));align-items:start}
.a-col{display:flex;flex-direction:column;gap:calc(20 * var(--u));min-width:0}
.a-glass{background:var(--a-glass);border:1px solid var(--a-line);border-radius:calc(28 * var(--u));box-shadow:var(--a-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.a-hero{display:block;border-radius:calc(30 * var(--u));filter:drop-shadow(0 calc(10 * var(--u)) calc(22 * var(--u)) rgba(255,120,20,.28))}
.a-hero img{display:block;width:100%;height:auto;border-radius:calc(30 * var(--u))}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.a-apps{padding:calc(14 * var(--u)) calc(16 * var(--u)) calc(18 * var(--u))}
.a-head{display:flex;align-items:center;gap:calc(12 * var(--u));margin-bottom:calc(12 * var(--u))}
.a-head img{height:calc(38 * var(--u));min-height:20px;width:auto;flex:none}
.a-head h2,.a-head h3{font-size:max(15px,calc(25 * var(--u)));font-weight:700;color:var(--a-ink);line-height:1.1}
.a-head .spacer{flex:1}
.a-btn{display:inline-flex;align-items:center;gap:calc(8 * var(--u));padding:calc(9 * var(--u)) calc(22 * var(--u));border-radius:calc(40 * var(--u));background:linear-gradient(90deg,#ffa42e,#ff7a00);color:#fff;font-weight:700;font-size:max(12px,calc(19 * var(--u)));box-shadow:0 calc(6 * var(--u)) calc(16 * var(--u)) rgba(255,122,0,.42),inset 0 calc(2 * var(--u)) 0 rgba(255,255,255,.4);white-space:nowrap}
.a-btn:hover{filter:brightness(1.06)}
.a-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(128px,calc(186 * var(--u))),1fr));gap:calc(14 * var(--u))}
.a-tile{position:relative;display:block;aspect-ratio:1.36;border-radius:calc(24 * var(--u));overflow:hidden;color:#fff;text-align:left;
  background:linear-gradient(180deg,var(--ta) 0,var(--tb) 55%,var(--tc) 100%);
  box-shadow:0 calc(10 * var(--u)) calc(20 * var(--u)) rgba(60,40,120,.22),inset 0 0 0 1px rgba(255,255,255,.45),inset 0 calc(2 * var(--u)) 0 rgba(255,255,255,.55);transition:transform .18s}
.a-tile:hover{transform:translateY(-4px)}
.a-tile:active{transform:translateY(1px)}
.a-tile img{position:absolute;left:3%;top:2%;width:94%;height:auto;pointer-events:none}
.a-tile .tt{position:absolute;left:calc(13 * var(--u));right:calc(46 * var(--u));bottom:calc(12 * var(--u));white-space:nowrap;display:flex;flex-direction:column;line-height:1.15;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.a-tile .tt b{font-size:max(11px,calc(17.5 * var(--u)));font-weight:700}
.a-tile .tt small{font-size:max(10px,calc(15 * var(--u)));font-weight:500;opacity:.95}
.a-tile .go{position:absolute;right:calc(12 * var(--u));bottom:calc(12 * var(--u));width:max(20px,calc(30 * var(--u)));height:max(20px,calc(30 * var(--u)));border-radius:50%;background:rgba(255,255,255,.26);border:1.5px solid rgba(255,255,255,.75);display:grid;place-items:center;font-size:max(13px,calc(22 * var(--u)));font-weight:700;line-height:1;padding-bottom:2px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.a-more{display:none;margin-top:calc(18 * var(--u))}
.a-more.open{display:block}
.a-more .a-grid{margin-top:calc(10 * var(--u))}
.a-more .feature-card{min-height:0}

.a-bottom{display:grid;grid-template-columns:425fr 460fr 475fr;gap:calc(16 * var(--u));margin-top:calc(20 * var(--u));align-items:start}
.a-panel2{padding:calc(14 * var(--u)) calc(22 * var(--u)) calc(16 * var(--u));min-width:0}
.a-upd{display:flex;align-items:center;gap:calc(12 * var(--u));padding:calc(7 * var(--u)) calc(14 * var(--u));margin-bottom:calc(8 * var(--u));border-radius:calc(14 * var(--u));background:var(--a-pill);font-size:max(11px,calc(17 * var(--u)));font-weight:500;white-space:nowrap}
.a-upd:before{content:"";width:max(7px,calc(11 * var(--u)));height:max(7px,calc(11 * var(--u)));border-radius:50%;background:#ff9a2e;flex:none}
.a-upd span{margin-left:auto;flex:none;color:var(--a-blue);font-size:max(10px,calc(16.5 * var(--u)));white-space:nowrap;padding-left:calc(8 * var(--u))}
.a-journey{display:flex;align-items:flex-start;justify-content:space-between;padding:calc(10 * var(--u)) calc(6 * var(--u)) 0;position:relative}
.a-journey .st{display:flex;flex-direction:column;align-items:center;gap:calc(6 * var(--u));font-size:max(11px,calc(18 * var(--u)));font-weight:600;z-index:1;min-width:0}
.a-journey .st img{width:max(34px,calc(64 * var(--u)));height:auto}
.a-journey:before{content:"";position:absolute;left:9%;right:9%;top:calc(calc(10 * var(--u)) + max(34px,calc(64 * var(--u)))/2 - 2px);height:3px;background:linear-gradient(90deg,#2a8cff,#7fd16a 45%,#ffb100);border-radius:3px}
.a-dream{position:relative;display:block;border-radius:calc(28 * var(--u));filter:drop-shadow(0 calc(10 * var(--u)) calc(22 * var(--u)) rgba(120,70,40,.3))}
.a-dream>img{display:block;width:100%;height:auto;border-radius:calc(28 * var(--u))}
.a-dream .a-start{position:absolute;left:32%;top:64%;width:36.5%;height:26%;border-radius:40px;background:none}
.a-dream .a-start:focus-visible{outline:2px solid #fff}

.a-prog{padding:calc(14 * var(--u)) calc(14 * var(--u)) calc(20 * var(--u)) calc(16 * var(--u));text-align:center}
.a-prog .a-head{margin-bottom:calc(10 * var(--u))}
.a-prog .body{display:flex;align-items:center;gap:calc(14 * var(--u));justify-content:space-between}
.a-ring{--p:0;width:max(78px,calc(114 * var(--u)));aspect-ratio:1;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(#22b24c calc(var(--p)*1%),#d9dae6 0);filter:drop-shadow(0 calc(4 * var(--u)) calc(8 * var(--u)) rgba(34,178,76,.25))}
.a-ring span{width:76%;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:max(16px,calc(38 * var(--u)));font-weight:800;color:var(--a-ink)}
:root[data-theme="dark"] .a-ring span,:root[data-theme="neon"] .a-ring span{background:#241f55}
.a-stats{flex:1;min-width:0;background:rgba(255,255,255,.7);border-radius:calc(18 * var(--u));padding:calc(10 * var(--u)) calc(10 * var(--u));text-align:left;font-size:max(10px,calc(17 * var(--u)));font-weight:500;line-height:2.1;white-space:nowrap}
:root[data-theme="dark"] .a-stats,:root[data-theme="neon"] .a-stats{background:rgba(255,255,255,.08)}
.a-stats b{color:#ff9a14;font-weight:600;margin-left:calc(4 * var(--u))}
.a-prog .a-btn{margin-top:calc(14 * var(--u));padding:calc(9 * var(--u)) calc(40 * var(--u));font-size:max(12px,calc(20 * var(--u)))}
.a-quick{padding:calc(14 * var(--u)) calc(16 * var(--u)) calc(12 * var(--u))}
.a-quick .rows{display:flex;flex-direction:column;gap:calc(8 * var(--u))}
.a-quick button{display:flex;align-items:center;gap:calc(14 * var(--u));padding:calc(6 * var(--u)) calc(14 * var(--u));border-radius:calc(16 * var(--u));background:var(--a-pill);border:1px solid rgba(255,255,255,.7);font-weight:600;font-size:max(12px,calc(20 * var(--u)));color:var(--a-ink);text-align:left;box-shadow:0 calc(3 * var(--u)) calc(8 * var(--u)) rgba(100,80,160,.1)}
.a-quick button img{width:max(20px,calc(34 * var(--u)));height:auto;flex:none}
.a-quick button em{margin-left:auto;color:var(--a-orange);font-style:normal;font-size:max(14px,calc(28 * var(--u)));font-weight:700}
.a-quick button:hover{background:var(--a-glass2)}

.a-foot{display:flex;align-items:center;justify-content:space-between;gap:calc(12 * var(--u));margin-top:calc(18 * var(--u));padding:calc(12 * var(--u)) calc(22 * var(--u));border-radius:calc(26 * var(--u));font-size:max(10px,calc(16 * var(--u)));font-weight:500;position:relative;flex-wrap:nowrap;white-space:nowrap}
.a-foot .mid{font-weight:700;display:flex;align-items:center;gap:calc(10 * var(--u));font-size:max(10px,calc(17 * var(--u)))}
.a-foot .mid i{font-style:normal;color:var(--a-orange)}
.a-foot .mid:before,.a-foot .mid:after{content:"";width:calc(80 * var(--u));height:calc(5 * var(--u));border-radius:calc(5 * var(--u));background:linear-gradient(90deg,transparent,#ff9a2e 55%,transparent)}
.a-foot .heart{color:#ff3b3b}

/* ---------- other screens keep working inside the new shell ---------- */
.view-screen{background:none}

/* ---------- mid widths: right column drops under the main one ---------- */
@media(max-width:1240px) and (min-width:1001px){
  .a-home{grid-template-columns:minmax(0,1fr)}
  .a-col.right{display:grid;grid-template-columns:1fr 1fr;gap:calc(18 * var(--u))}
}

/* ---------- tablet + phone ---------- */
@media(max-width:1000px){
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .app>.main{grid-column:1}
  .app>.sidebar{grid-column:auto;grid-row:auto}
  .sidebar.alfa-side{width:min(300px,84vw);padding:10px;background:var(--a-bg);background-color:#f1ecfb;left:-320px}
  :root[data-theme="dark"] .sidebar.alfa-side,:root[data-theme="neon"] .sidebar.alfa-side{background-color:#1a1440}
  .sidebar.alfa-side.show{left:0}
  .alfa-side .a-panel{padding:14px 10px}
  .a-nav button{font-size:15px;padding:11px 12px}
  .a-nav button img{width:26px}
  .topbar.alfa-top{height:calc(60px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 12px 0 8px;border-radius:0 0 20px 20px;gap:8px;margin:0}
  .alfa-tag{display:none!important}
  .alfa-logo img{height:38px}
  .alfa-word b{font-size:20px}.alfa-word small{font-size:10px;padding-left:0}
  .alfa-top-right{margin-left:auto;gap:12px}
  .alfa-theme{height:34px}
  .alfa-user{padding-left:10px;gap:8px}
  .alfa-user .who,.alfa-user .chev{display:none}
  .alfa-user .avatar{width:36px;height:36px}
  #screen-home{padding:12px 10px}
  .a-home{grid-template-columns:minmax(0,1fr);gap:14px}
  .a-col{gap:12px}
  .a-col.right{display:grid;grid-template-columns:1fr;gap:12px}
  .a-glass{border-radius:20px}
  .a-hero img{object-fit:cover;object-position:left center;min-height:120px;height:clamp(120px,32vw,200px)}
  .a-apps{padding:12px}
  .a-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .a-tile{border-radius:16px;aspect-ratio:1.38}
  .a-tile .tt{left:10px;bottom:9px}
  .a-bottom{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .a-panel2{padding:12px 14px}
  .a-upd{white-space:normal}
  .a-btn{padding:7px 14px}
  .a-prog,.a-quick{padding:12px 14px}
  .a-ring{width:96px}
  .a-foot{border-radius:18px;padding:10px 14px;flex-direction:column;text-align:center;gap:6px;white-space:normal}
  .a-foot .mid:before,.a-foot .mid:after{display:none}
  .a-mascot{display:none}
}
@media(min-width:600px) and (max-width:1000px){
  .a-grid{grid-template-columns:repeat(3,1fr)}
  .a-col.right{grid-template-columns:1fr 1fr}
  .a-bottom{grid-template-columns:1fr 1fr}
  .a-bottom .a-dream{grid-column:1/-1}
}

/* =====================================================================
   Inner screens (Student Suite, Exam, Library, Planner ...) in the ALFA look
   ===================================================================== */
.view-screen:not(#screen-home):not(#screen-chat):not(#screen-reader){padding:calc(14 * var(--u)) calc(22 * var(--u)) calc(26 * var(--u)) calc(8 * var(--u))}
.view-screen:not(#screen-home) .container{max-width:1300px}
.view-screen .page-title{color:var(--a-ink)!important;font-size:max(20px,calc(30 * var(--u)));font-weight:700;margin-bottom:4px;text-shadow:none!important}
.view-screen .page-subtitle{color:var(--a-muted)}
.view-screen .navbar{background:transparent!important;border-bottom:0!important;top:0!important;padding:4px 0 10px;gap:10px;backdrop-filter:none}
.nav-btn{width:max(38px,calc(46 * var(--u)));height:max(38px,calc(46 * var(--u)));border-radius:50%!important;background:var(--a-glass2)!important;border:1px solid var(--a-line)!important;box-shadow:var(--a-shadow);color:var(--a-ink)!important}
.nav-find{border-radius:40px!important;background:var(--a-glass2)!important;border:1px solid var(--a-line)!important;box-shadow:var(--a-shadow)}
.panel,.list-card,.recent,.stat,.hub-item{background:var(--a-glass)!important;border:1px solid var(--a-line)!important;border-radius:calc(24 * var(--u));box-shadow:var(--a-shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hub-item:hover{background:var(--a-glass2)!important}
.input,.select,.textarea{background:var(--a-glass2)!important;border:1px solid rgba(120,100,190,.22)!important;color:var(--a-ink);border-radius:16px}
.input:focus,.select:focus,.textarea:focus{border-color:var(--a-orange)!important}
.btn:not(.ghost):not(.danger),.primary-button{background:linear-gradient(90deg,#ffa42e,#ff7a00)!important;box-shadow:0 6px 16px rgba(255,122,0,.4),inset 0 2px 0 rgba(255,255,255,.35)!important;border-radius:40px;color:#fff}
.btn.ghost{background:var(--a-pill)!important;color:var(--a-ink);border:1px solid var(--a-line)}
.chip{background:var(--a-pill);border-color:var(--a-line)}
.section-header h2{color:var(--a-ink)}
.link-btn{color:var(--a-orange);font-weight:600}

/* every feature card = ALFA app tile (palette cycles through the 10 tile colours) */
.view-screen:not(#alfa-x) .feature-card{
  background:linear-gradient(165deg,var(--fa,#fdba3a),var(--fb,#f26a01))!important;border:0!important;border-radius:calc(24 * var(--u));
  box-shadow:0 calc(10 * var(--u)) calc(20 * var(--u)) rgba(60,40,120,.22),inset 0 0 0 1px rgba(255,255,255,.45),inset 0 calc(2 * var(--u)) 0 rgba(255,255,255,.55)!important;
  padding:max(12px,calc(18 * var(--u)));transition:transform .18s}
.view-screen:not(#alfa-x) .feature-card:hover{transform:translateY(-4px)}
.view-screen:not(#alfa-x) .feature-card:active{transform:translateY(1px)}
.view-screen:not(#alfa-x) .feature-card h3{color:#fff;font-weight:700;font-size:max(12px,calc(19 * var(--u)));text-shadow:0 1px 3px rgba(0,0,0,.28)}
.view-screen:not(#alfa-x) .feature-card p{color:rgba(255,255,255,.95);font-size:max(10px,calc(15 * var(--u)));text-shadow:0 1px 2px rgba(0,0,0,.25)}
.view-screen:not(#alfa-x) .feature-card .feature-icon{width:max(36px,calc(52 * var(--u)));height:max(36px,calc(52 * var(--u)));font-size:max(18px,calc(26 * var(--u)));background:rgba(255,255,255,.3)!important;color:#fff;border-radius:calc(16 * var(--u));
  box-shadow:inset 0 calc(2 * var(--u)) 0 rgba(255,255,255,.6),0 calc(3 * var(--u)) calc(8 * var(--u)) rgba(0,0,0,.18)!important;margin-bottom:max(8px,calc(14 * var(--u)))}
.feature-card:nth-child(10n+1){--fa:#fdba3a;--fb:#f26a01}
.feature-card:nth-child(10n+2){--fa:#aa73fc;--fb:#7734be}
.feature-card:nth-child(10n+3){--fa:#5d94f7;--fb:#3f6fd0}
.feature-card:nth-child(10n+4){--fa:#a4e95e;--fb:#5faa3e}
.feature-card:nth-child(10n+5){--fa:#43ccce;--fb:#2b9aa0}
.feature-card:nth-child(10n+6){--fa:#fd96c4;--fb:#e4304d}
.feature-card:nth-child(10n+7){--fa:#9ca3fc;--fb:#626be5}
.feature-card:nth-child(10n+8){--fa:#57e3f1;--fb:#2e9fb0}
.feature-card:nth-child(10n+9){--fa:#7fe975;--fb:#3f9c4f}
.feature-card:nth-child(10n+10){--fa:#b194fb;--fb:#8a6ece}
.feature-grid{gap:max(10px,calc(16 * var(--u)))}

/* sheets (settings, plus, hub, login) + avatars/logos in ALFA colours */
.sheet{background:var(--a-glass2)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:var(--a-line)!important;border-radius:28px 28px 0 0}
.avatar:not(#top-avatar),.logo{background:linear-gradient(135deg,#ffb100,#ff6a00)!important;box-shadow:0 6px 16px rgba(255,106,0,.35)}
.switch input:checked+.slider{background:var(--a-orange)}
.chip.pick,.chip.on,.pill-btn.on{background:var(--a-orange)!important;border-color:var(--a-orange)!important;color:#fff!important}

/* Reader sits inside the ALFA shell on desktop (below the header, right of the sidebar) */
@media(min-width:1001px){
  #screen-reader.active{position:absolute;inset:0;z-index:5;border-top-left-radius:calc(24 * var(--u));overflow:hidden}
}

/* ---- per-card colour + 3D icon ---- */

.view-screen:not(#alfa-x) .feature-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;aspect-ratio:1.36;
  padding:0 max(40px,calc(58 * var(--u))) max(10px,calc(14 * var(--u))) max(10px,calc(15 * var(--u)));overflow:hidden;
  background:linear-gradient(180deg,var(--ta,#fdba3a) 0,var(--tb,#fda628) 55%,var(--tc,#f26a01) 100%)!important}
.view-screen:not(#alfa-x) .feature-card .feature-icon{position:absolute;left:50%;top:7%;width:40%;height:auto;aspect-ratio:1;transform:translateX(-50%);margin:0;padding:0;border-radius:0;
  background:none!important;box-shadow:none!important;font-size:max(28px,calc(54 * var(--u)));display:grid;place-items:center;filter:drop-shadow(0 calc(6 * var(--u)) calc(8 * var(--u)) rgba(0,0,0,.25))}
.view-screen:not(#alfa-x) .feature-card h3{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.view-screen:not(#alfa-x) .feature-card p{margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}
.feature-card::after{content:"\203A";position:absolute;right:max(8px,calc(12 * var(--u)));bottom:max(8px,calc(12 * var(--u)));width:max(20px,calc(30 * var(--u)));height:max(20px,calc(30 * var(--u)));border-radius:50%;background:rgba(255,255,255,.26);
  border:1.5px solid rgba(255,255,255,.75);display:grid;place-items:center;color:#fff;font-weight:700;font-size:max(13px,calc(22 * var(--u)));line-height:1;padding-bottom:2px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
@media(max-width:700px){.view-screen:not(#alfa-x) .feature-card{aspect-ratio:1.18}}

.view-screen:not(#alfa-x) .feature-card[data-act="go:files"]{--ta:#57e3f1;--tb:#3dc3d1;--tc:#3893a1}
.view-screen:not(#alfa-x) .feature-card[data-act="go:files"] .feature-icon{font-size:0;background:url("../img/alfa/ic/books.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:ask_explain"]{--ta:#5d94f7;--tb:#518cf4;--tc:#507bc9}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:ask_explain"] .feature-icon{font-size:0;background:url("../img/alfa/ic/bulb.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:solve_check"]{--ta:#aa73fc;--tb:#9d62fa;--tc:#7734be}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:solve_check"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:192/87;font-size:0;background:url("../img/alfa/t_search.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:quiz_exam_prep"]{--ta:#b194fb;--tb:#b28ffa;--tc:#8a6ece}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:quiz_exam_prep"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:172/79;font-size:0;background:url("../img/alfa/t_projects.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:write_language"]{--ta:#fd96c4;--tb:#fd6c99;--tc:#e4304d}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:write_language"] .feature-icon{font-size:0;background:url("../img/alfa/ic/write.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:flashcards_revision"]{--ta:#fdba3a;--tb:#fda628;--tc:#f26a01}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:flashcards_revision"] .feature-icon{font-size:0;background:url("../img/alfa/ic/cards.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:planner"]{--ta:#9ca3fc;--tb:#929ffc;--tc:#626be5}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:planner"] .feature-icon{font-size:0;background:url("../img/alfa/ic/clock.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:stu_notes"]{--ta:#a4e95e;--tb:#9be758;--tc:#74b44e}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:stu_notes"] .feature-icon{font-size:0;background:url("../img/alfa/ic/notepad.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:exam"]{--ta:#7fe975;--tb:#63d15c;--tc:#57a257}
.view-screen:not(#alfa-x) .feature-card[data-act="go:exam"] .feature-icon{font-size:0;background:url("../img/alfa/ic/target.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:analytics"]{--ta:#43ccce;--tb:#37c9c9;--tc:#429ca1}
.view-screen:not(#alfa-x) .feature-card[data-act="go:analytics"] .feature-icon{font-size:0;background:url("../img/alfa/ic/chart.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:notebook"]{--ta:#fdba3a;--tb:#fda628;--tc:#f26a01}
.view-screen:not(#alfa-x) .feature-card[data-act="go:notebook"] .feature-icon{font-size:0;background:url("../img/alfa/ic/notebook.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:calendar"]{--ta:#5d94f7;--tb:#518cf4;--tc:#507bc9}
.view-screen:not(#alfa-x) .feature-card[data-act="go:calendar"] .feature-icon{font-size:0;background:url("../img/alfa/ic/calendar.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:utils"]{--ta:#9ca3fc;--tb:#929ffc;--tc:#626be5}
.view-screen:not(#alfa-x) .feature-card[data-act="go:utils"] .feature-icon{font-size:0;background:url("../img/alfa/ic/toolbox.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:pdftools"]{--ta:#aa73fc;--tb:#9d62fa;--tc:#7734be}
.view-screen:not(#alfa-x) .feature-card[data-act="go:pdftools"] .feature-icon{font-size:0;background:url("../img/alfa/ic/pdf.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:stu_career"]{--ta:#b194fb;--tb:#b28ffa;--tc:#8a6ece}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:stu_career"] .feature-icon{font-size:0;background:url("../img/alfa/ic/rocket.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:backup"]{--ta:#fd96c4;--tb:#fd6c99;--tc:#e4304d}
.view-screen:not(#alfa-x) .feature-card[data-act="hub:backup"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:209/79;font-size:0;background:url("../img/alfa/t_data.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:chat"]{--ta:#fdba3a;--tb:#fda628;--tc:#f26a01}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:chat"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:209/87;font-size:0;background:url("../img/alfa/t_chat.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:search"]{--ta:#aa73fc;--tb:#9d62fa;--tc:#7734be}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:search"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:192/87;font-size:0;background:url("../img/alfa/t_search.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="go:research"]{--ta:#5d94f7;--tb:#518cf4;--tc:#507bc9}
.view-screen:not(#alfa-x) .feature-card[data-act="go:research"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:191/87;font-size:0;background:url("../img/alfa/t_research.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="go:student"]{--ta:#a4e95e;--tb:#9be758;--tc:#74b44e}
.view-screen:not(#alfa-x) .feature-card[data-act="go:student"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:183/87;font-size:0;background:url("../img/alfa/t_student.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:excel"]{--ta:#43ccce;--tb:#37c9c9;--tc:#429ca1}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:excel"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:172/87;font-size:0;background:url("../img/alfa/t_excel.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:dataentry"]{--ta:#fd96c4;--tb:#fd6c99;--tc:#e4304d}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:dataentry"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:209/79;font-size:0;background:url("../img/alfa/t_data.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="go:images"]{--ta:#9ca3fc;--tb:#929ffc;--tc:#626be5}
.view-screen:not(#alfa-x) .feature-card[data-act="go:images"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:192/79;font-size:0;background:url("../img/alfa/t_images.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:code"]{--ta:#7fe975;--tb:#63d15c;--tc:#57a257}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:code"] .feature-icon{font-size:0;background:url("../img/alfa/ic/code.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:analyze"]{--ta:#43ccce;--tb:#37c9c9;--tc:#429ca1}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:analyze"] .feature-icon{font-size:0;background:url("../img/alfa/ic/pie.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:canvas"]{--ta:#b194fb;--tb:#b28ffa;--tc:#8a6ece}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:canvas"] .feature-icon{font-size:0;background:url("../img/alfa/ic/palette.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:guided"]{--ta:#a4e95e;--tb:#9be758;--tc:#74b44e}
.view-screen:not(#alfa-x) .feature-card[data-act="mode:guided"] .feature-icon{left:3%;top:2%;width:94%;transform:none;aspect-ratio:183/87;font-size:0;background:url("../img/alfa/t_student.png") 0 0/100% 100% no-repeat!important;filter:none}
.view-screen:not(#alfa-x) .feature-card[data-act="go:srs"]{--ta:#fdba3a;--tb:#fda628;--tc:#f26a01}
.view-screen:not(#alfa-x) .feature-card[data-act="go:srs"] .feature-icon{font-size:0;background:url("../img/alfa/ic/cycle.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:planner"]{--ta:#9ca3fc;--tb:#929ffc;--tc:#626be5}
.view-screen:not(#alfa-x) .feature-card[data-act="go:planner"] .feature-icon{font-size:0;background:url("../img/alfa/ic/clock.svg") center/contain no-repeat!important}
.view-screen:not(#alfa-x) .feature-card[data-act="go:tools"]{--ta:#9ca3fc;--tb:#929ffc;--tc:#626be5}
.view-screen:not(#alfa-x) .feature-card[data-act="go:tools"] .feature-icon{font-size:0;background:url("../img/alfa/ic/puzzle.svg") center/contain no-repeat!important}
/* ================= Home dashboard v2 (ALFA colours) — markup in index.html, data in shared/dash/dash.js ================= */
.d-hello{position:relative;display:flex;align-items:center;gap:20px;min-height:190px;padding:26px 30px;border-radius:calc(28 * var(--u));overflow:hidden;color:#fff;
  background:radial-gradient(60% 120% at 100% 0%,rgba(255,170,60,.55),transparent 60%),linear-gradient(115deg,#2a1f7a 0%,#4b2fb0 45%,#ff7a00 120%);box-shadow:0 18px 40px -16px rgba(75,47,176,.55)}
.d-hello::before{content:"";position:absolute;inset:auto -40px -90px auto;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08)}
.d-hello-tx{position:relative;z-index:2;flex:1;min-width:0}
.d-hi{margin:0;font-size:17px;opacity:.95}.d-hi b{color:#ffc94a}
.d-hello h1{margin:4px 0 6px;font-size:clamp(22px,2.6vw,34px);line-height:1.15;font-weight:800;color:#fff}
.d-sub{margin:0;opacity:.88;font-size:14px}.d-sub b{color:#ffc94a}
.d-hello-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.d-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:99px;padding:10px 20px;font:700 14px var(--font);cursor:pointer;color:#fff;background:linear-gradient(90deg,#ffa42e,#ff7a00);box-shadow:0 8px 18px -8px rgba(255,122,0,.8);transition:transform .15s}
.d-btn:hover{transform:translateY(-1px)}.d-btn.light{background:#ffc94a;color:#2a1f7a}.d-btn.ghost{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.d-btn.sm{padding:7px 14px;font-size:13px}.d-btn.ghost2{background:none;color:var(--a-ink);box-shadow:inset 0 0 0 1.5px rgba(127,127,127,.35)}
.d-streak{position:relative;z-index:2;flex:none;display:flex;flex-direction:column;align-items:center;padding:14px 22px;border-radius:22px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);text-align:center}
.d-streak small{font-size:13px;opacity:.95}.d-streak b{font-size:34px;line-height:1.1;color:#ffc94a}.d-streak em{font-style:normal;font-size:12px;opacity:.85}
.d-hello-art{position:absolute;right:190px;bottom:-12px;height:200px;z-index:1;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));pointer-events:none}
@media(max-width:1240px){.d-hello-art{display:none}}

.d-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:calc(16 * var(--u));border-radius:calc(24 * var(--u));background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow);overflow:hidden}
.d-stat{display:flex;align-items:center;gap:14px;padding:16px 18px;border:0;background:none;color:var(--a-ink);text-align:left;cursor:pointer;font-family:var(--font)}
.d-stat+.d-stat{border-left:1px solid rgba(127,127,127,.18)}
.d-stat:hover{background:rgba(255,255,255,.35)}
.d-stat .ic{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:rgba(255,138,26,.14)}
.d-stat>span:last-child{display:flex;flex-direction:column;min-width:0;flex:1}
.d-stat small{font-size:13px;color:var(--a-muted);font-weight:600}.d-stat b{font-size:24px;line-height:1.15;font-weight:800}.d-stat em{font-style:normal;font-size:12px;color:var(--a-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d-bar{display:block;height:7px;border-radius:9px;background:rgba(127,127,127,.2);overflow:hidden;margin-top:5px}.d-bar>i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .5s}

.d-pop{position:relative;z-index:30;display:flex;flex-direction:column;gap:10px;max-width:380px;margin:10px 0 0;padding:16px;border-radius:20px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.18)}
.d-pop.hidden{display:none}.d-pop label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.d-pop-btns{display:flex;gap:8px;flex-wrap:wrap}.d-pop .small{font-size:12px;margin:0}

.d-paths{margin-top:calc(16 * var(--u));padding:calc(18 * var(--u)) calc(20 * var(--u))}
.d-path-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.d-path{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 8px 14px;border-radius:20px;cursor:pointer;font-family:var(--font);color:var(--a-ink);
  border:1.5px solid color-mix(in srgb,var(--pa) 30%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--pa) 16%,#fff),color-mix(in srgb,var(--pa) 6%,#fff));transition:transform .15s,box-shadow .15s}
:root[data-theme="dark"] .d-path,:root[data-theme="neon"] .d-path{background:linear-gradient(180deg,color-mix(in srgb,var(--pa) 30%,#1a1440),color-mix(in srgb,var(--pa) 12%,#1a1440))}
.d-path span{font-size:40px;line-height:1.1;filter:drop-shadow(0 6px 8px rgba(0,0,0,.15))}.d-path b{font-size:16px}.d-path small{font-size:12px;color:var(--a-muted)}
.d-path:hover{transform:translateY(-3px);box-shadow:0 14px 26px -16px var(--pa)}
.d-path.on{border-color:var(--pa);box-shadow:0 0 0 3px color-mix(in srgb,var(--pa) 30%,transparent)}
.d-path.on::after{content:"✓";position:absolute;top:8px;right:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--pa);color:#fff;font-size:13px;font-weight:800}

.d-card{padding:calc(18 * var(--u)) calc(20 * var(--u))}.d-card .a-head h3{font-size:max(15px,calc(21 * var(--u)))}
.d-link{border:0;background:none;color:var(--a-blue);font:700 13px var(--font);cursor:pointer}
.d-book{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.d-cover{flex:none;width:64px;height:80px;border-radius:12px;display:grid;place-items:center;font-size:34px;background:linear-gradient(160deg,#ffe2c2,#ffc894);box-shadow:inset -6px 0 0 rgba(0,0,0,.08)}
.d-book-tx{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.d-book-tx b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d-book-tx small{font-size:12px;color:var(--a-muted)}
.d-cont .d-btn{width:100%}
.d-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:6px 4px}.d-empty span{font-size:34px}.d-empty p{margin:0;font-size:13px;color:var(--a-muted);line-height:1.45}
.d-empty.small span{font-size:26px}
.d-plan{display:flex;flex-direction:column;gap:6px}
.d-task{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;background:var(--a-pill);font-size:14px;cursor:pointer}
.d-task input{width:19px;height:19px;flex:none;accent-color:#22c55e}.d-task span{flex:1;min-width:0}.d-task.done span{text-decoration:line-through;color:var(--a-muted)}
.d-task em{font-style:normal;font-size:11px;font-weight:700;color:#dc2626;background:rgba(239,68,68,.12);border-radius:99px;padding:2px 8px}
.d-add{display:flex;gap:8px;margin-top:10px}.d-add .input{flex:1;min-width:0;border-radius:12px;padding:8px 12px}

.d-quick{margin-top:calc(18 * var(--u));padding:calc(18 * var(--u)) calc(20 * var(--u))}
.d-q-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.d-q{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:18px;border:1px solid color-mix(in srgb,var(--qa) 22%,transparent);background:color-mix(in srgb,var(--qa) 9%,var(--a-glass2));color:var(--a-ink);font:600 12.5px/1.2 var(--font);cursor:pointer;text-align:center;transition:transform .15s}
.d-q span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--qa) 16%,#fff)}
:root[data-theme="dark"] .d-q span,:root[data-theme="neon"] .d-q span{background:color-mix(in srgb,var(--qa) 30%,transparent)}
.d-q:hover{transform:translateY(-2px)}
.d-banners{display:grid;grid-template-columns:1fr 1fr;gap:calc(16 * var(--u));margin-top:calc(16 * var(--u))}
.d-banner{display:flex;align-items:center;gap:14px;padding:18px 20px;border:0;border-radius:calc(24 * var(--u));color:#fff;text-align:left;cursor:pointer;font-family:var(--font);background:linear-gradient(110deg,var(--ba),var(--bb));box-shadow:0 14px 30px -16px var(--ba);transition:transform .15s}
.d-banner .ic{flex:none;font-size:36px}.d-banner>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}.d-banner b{font-size:18px}.d-banner small{opacity:.9;font-size:13px}
.d-banner em{flex:none;font-style:normal;font-weight:800;font-size:14px;color:#2a1f7a;background:#ffc94a;border-radius:99px;padding:9px 16px}
.d-banner:hover{transform:translateY(-2px)}
.a-foot{margin-top:calc(16 * var(--u))}

@media(max-width:1000px){
  .d-hello{flex-direction:column;align-items:flex-start;min-height:0;padding:20px;border-radius:22px}
  .d-streak{flex-direction:row;gap:10px;padding:8px 14px;border-radius:16px;align-self:stretch;justify-content:center}.d-streak b{font-size:20px}
  .d-stats{grid-template-columns:repeat(3,1fr);border-radius:20px}
  .d-stat{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 10px}.d-stat .ic{width:38px;height:38px;font-size:21px;border-radius:12px}
  .d-stat small{font-size:11px}.d-stat b{font-size:17px}.d-stat em{font-size:10.5px;white-space:normal}
  .d-path-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 6px;scrollbar-width:none}.d-path-grid::-webkit-scrollbar{display:none}
  .d-path{flex:none;width:118px;scroll-snap-align:start}.d-path span{font-size:32px}
  .d-q-grid{grid-template-columns:repeat(4,1fr)}
  .d-banners{grid-template-columns:1fr}
  .d-banner em{display:none}
}
@media(min-width:600px) and (max-width:1000px){.d-stat{flex-direction:row;align-items:center}.d-path-grid{display:grid;grid-template-columns:repeat(5,1fr)}.d-path{width:auto}}

/* bottom menu (phones): Home / Study / Test / Doubt / Profile, ALFA orange */
.bottom-nav .nav-item{border:0;background:none;cursor:pointer;font-family:var(--font)}
.bottom-nav .nav-item svg{width:24px;height:24px;fill:currentColor;stroke:currentColor;stroke-width:0}
.bottom-nav .nav-item span{font-size:11px;font-weight:600}
.bottom-nav .nav-item.active{color:#ff7a00}
.bottom-nav .nav-item.active::after{content:"";display:block;width:26px;height:3px;border-radius:3px;background:#ff7a00;margin-top:1px}

.d-card .a-head h3,.d-link{white-space:nowrap}
.d-paths .a-head{flex-wrap:wrap;row-gap:2px}
.a-col.left .d-quick,.a-col.left .d-banners{margin-top:0}
@media(max-width:1000px){.d-paths .a-head .spacer{display:none}.d-paths .a-head small{flex-basis:100%;font-size:12px}}

/* ================= Study section (features/student_suite/learn/learn.js) ================= */
.l-wrap{max-width:1100px;margin:0 auto;padding-bottom:30px;--lc:#ff7a00}
.l-top{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.l-top b{font-size:20px;font-weight:800;color:var(--a-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l-top .sp{flex:1}
.l-back{flex:none;width:40px;height:40px;border-radius:14px;border:1px solid var(--a-line);background:var(--a-glass2);color:var(--a-ink);font-size:20px;cursor:pointer;box-shadow:var(--a-shadow)}
.l-hero{position:relative;display:flex;align-items:center;gap:16px;padding:26px 28px;border-radius:26px;overflow:hidden;color:#fff;margin-bottom:16px;
  background:radial-gradient(70% 130% at 100% 0%,color-mix(in srgb,var(--lc) 70%,#fff 0%) ,transparent 62%),linear-gradient(115deg,#2a1f7a 0%,#4b2fb0 50%,var(--lc) 135%);box-shadow:0 18px 40px -18px #4b2fb0}
.l-hero::after{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.l-hero>div{position:relative;z-index:1;flex:1;min-width:0}
.l-hero h1{margin:4px 0 6px;font-size:clamp(24px,3.2vw,38px);line-height:1.1;font-weight:800;color:#fff}.l-hero h1 span{color:#ffc94a}
.l-hero p{margin:0;opacity:.9;font-size:14.5px}.l-kicker{font-size:13px;font-weight:700;opacity:.9}
.l-hero-emoji{position:relative;z-index:1;flex:none;font-size:clamp(64px,9vw,110px);line-height:1;filter:drop-shadow(0 12px 18px rgba(0,0,0,.3))}
.l-hero.sub,.l-hero.chap{background:radial-gradient(70% 130% at 100% 0%,color-mix(in srgb,var(--lc) 75%,transparent),transparent 65%),linear-gradient(115deg,#241b66,color-mix(in srgb,var(--lc) 55%,#3b2a9a))}
.l-badge{display:inline-block;padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.2);font-weight:800;font-size:13px}
.l-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:99px;padding:11px 22px;font:800 14px var(--font);cursor:pointer;color:#fff;background:linear-gradient(90deg,#ffa42e,#ff7a00);box-shadow:0 10px 20px -10px rgba(255,122,0,.9);transition:transform .15s}
.l-hero .l-cta{margin-top:14px;background:#ffc94a;color:#2a1f7a}
.l-cta:hover{transform:translateY(-1px)}.l-cta.wide{display:flex;width:100%;margin-top:14px;padding:14px;font-size:15px}
.l-chip{border:1.5px solid var(--a-line);background:var(--a-glass2);color:var(--a-ink);border-radius:99px;padding:8px 16px;font:700 13px var(--font);cursor:pointer;white-space:nowrap;box-shadow:var(--a-shadow)}
.l-chip.on{background:linear-gradient(90deg,#6d3be8,#4f46e5);color:#fff;border-color:transparent}.l-chip.sm{padding:6px 12px;font-size:12px}.l-chip:disabled{opacity:.45;cursor:default}
.l-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin-bottom:6px;scrollbar-width:none}.l-chips::-webkit-scrollbar{display:none}
.l-head{display:flex;align-items:baseline;gap:10px;margin:14px 0 10px}.l-head h2{margin:0;font-size:20px;font-weight:800;color:var(--a-ink)}.l-head small{color:var(--a-muted)}
.l-paths{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.l-path{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 10px 16px;border-radius:22px;cursor:pointer;font-family:var(--font);color:var(--a-ink);border:1.5px solid color-mix(in srgb,var(--pc) 30%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 16%,var(--a-glass2)),var(--a-glass2));box-shadow:var(--a-shadow);transition:transform .15s}
.l-path span{font-size:48px}.l-path b{font-size:18px}.l-path small{color:var(--a-muted)}.l-path em{margin-top:8px;font-style:normal;font-weight:800;font-size:13px;color:#fff;background:var(--pc);border-radius:99px;padding:6px 14px}
.l-path:hover,.l-subj:hover,.l-act:hover,.l-tool:hover{transform:translateY(-3px)}
.l-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.l-subj{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;padding:18px 12px 14px;border-radius:22px;cursor:pointer;font-family:var(--font);color:var(--a-ink);border:1.5px solid color-mix(in srgb,var(--sc) 28%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--sc) 15%,var(--a-glass2)),var(--a-glass2));box-shadow:var(--a-shadow);transition:transform .15s}
.l-subj .ic{font-size:42px;line-height:1.15;filter:drop-shadow(0 8px 10px rgba(0,0,0,.15))}.l-subj b{font-size:16px;line-height:1.2}.l-subj small{font-size:12px;color:var(--a-muted)}
.l-subj em{margin-top:8px;font-style:normal;font-weight:800;font-size:12.5px;color:#fff;background:var(--sc);border-radius:99px;padding:6px 14px}
.l-bar{display:block;width:100%;height:7px;border-radius:9px;background:rgba(127,127,127,.2);overflow:hidden;margin:6px 0 2px}.l-bar>i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .4s}
.l-tools{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.l-tool{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:18px;border:1px solid color-mix(in srgb,var(--tc) 22%,transparent);background:color-mix(in srgb,var(--tc) 9%,var(--a-glass2));color:var(--a-ink);font:700 12.5px var(--font);cursor:pointer;transition:transform .15s}
.l-tool span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--tc) 16%,transparent)}
.l-stats{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;margin-bottom:14px}
.l-stats>div{padding:14px 18px;border-radius:20px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow)}.l-stats small{display:block;color:var(--a-muted);font-weight:600}.l-stats b{font-size:30px;font-weight:800;color:var(--a-ink)}
.l-stats .l-stat-ring{padding:8px 14px}
.l-ring{display:grid;place-items:center;border-radius:50%;background:conic-gradient(#22c55e calc(var(--p)*1%),rgba(127,127,127,.2) 0)}.l-ring span{display:grid;place-items:center;width:76%;height:76%;border-radius:50%;background:var(--panel);font-weight:800;color:var(--a-ink)}
.l-chapters{display:flex;flex-direction:column;gap:10px}
.l-ch{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:18px;border:1px solid var(--a-line);background:var(--a-glass2);box-shadow:var(--a-shadow);cursor:pointer;text-align:left;font-family:var(--font);color:var(--a-ink);transition:transform .12s}
.l-ch:hover{transform:translateX(3px)}
.l-ch .n{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#6d3be8,#4f46e5)}
.l-ch.done .n{background:linear-gradient(135deg,#22c55e,#16a34a)}.l-ch.next{border-color:#ff9a3d;box-shadow:0 0 0 2px rgba(255,138,26,.25),var(--a-shadow)}
.l-ch .t{flex:1;min-width:0;display:flex;flex-direction:column}.l-ch .t b{font-size:15px}.l-ch .t small{font-size:12px;color:var(--a-muted)}.l-ch.done .t small{color:#16a34a;font-weight:700}
.l-ch .go{flex:none;color:var(--a-muted);font-size:22px}.l-ch .go em{font-style:normal;font-size:12.5px;font-weight:800;color:#fff;background:#ff7a00;border-radius:99px;padding:6px 12px}
.l-done-all{margin-top:14px;padding:14px;border-radius:18px;text-align:center;font-weight:800;background:rgba(34,197,94,.14);color:#16a34a}
.l-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;scrollbar-width:none}.l-tabs::-webkit-scrollbar{display:none}
.l-tab{flex:none;border:0;border-radius:99px;padding:10px 20px;font:800 14px var(--font);cursor:pointer;background:var(--a-glass2);color:var(--a-ink);box-shadow:var(--a-shadow)}
.l-tab.on{background:linear-gradient(90deg,#6d3be8,#4f46e5);color:#fff}
.l-pane{min-height:200px}
.l-about,.l-q,.l-testcard,.l-result,.l-edit,.l-notes,.l-empty{padding:20px 22px;border-radius:22px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow);color:var(--a-ink)}
.l-about h3{margin:0 0 6px}.l-about p{margin:0;line-height:1.55}.l-best{margin-top:10px!important;font-weight:700}
.l-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.l-act{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:20px;border:0;cursor:pointer;text-align:left;font-family:var(--font);color:#fff;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 65%,#1d1b4b));box-shadow:0 12px 24px -14px var(--ac);transition:transform .15s}
.l-act span{font-size:30px}.l-act b{font-size:16px}.l-act small{opacity:.9;font-size:12px}
.l-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.l-src{font-size:12px;font-weight:700;padding:4px 12px;border-radius:99px}.l-src.ai{background:rgba(139,92,246,.14);color:#7c3aed}.l-src.admin{background:rgba(34,197,94,.14);color:#16a34a}.l-src.off{background:rgba(14,165,233,.14);color:#0284c7}
.l-notes{line-height:1.65}.l-notes :is(h2,h3,h4,h5){font-size:19px;font-weight:800;margin:18px 0 8px;color:#4f46e5}.l-notes :is(h2,h3,h4,h5):first-child{margin-top:0}
:root[data-theme="dark"] .l-notes :is(h2,h3,h4,h5),:root[data-theme="neon"] .l-notes :is(h2,h3,h4,h5){color:#a5b4fc}
.l-after.center{justify-content:center}
.l-after{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.l-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:30px 20px}.l-empty>span:first-child{font-size:44px}.l-empty b{font-size:17px}.l-empty p{margin:0;color:var(--a-muted);max-width:520px;line-height:1.5}
.l-q h3{margin:14px 0;font-size:19px;line-height:1.4}
.l-q-top{display:flex;justify-content:space-between;font-weight:700;color:var(--a-muted);font-size:13px}.l-mark{color:#ff7a00}
.l-opts{display:flex;flex-direction:column;gap:10px}
.l-opt{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;border:1.5px solid rgba(127,127,127,.25);background:var(--panel);color:var(--ink);font:500 15px var(--font);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.l-opt span{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:rgba(127,127,127,.14)}
.l-opt:hover:not(:disabled){border-color:#6d3be8}
.l-opt.sel{border-color:#6d3be8;background:rgba(109,59,232,.1)}.l-opt.sel span{background:#6d3be8;color:#fff}
.l-opt.ok{border-color:#22c55e;background:rgba(34,197,94,.12)}.l-opt.ok span{background:#22c55e;color:#fff}
.l-opt.no{border-color:#ef4444;background:rgba(239,68,68,.1)}.l-opt.no span{background:#ef4444;color:#fff}
.l-exp{margin-top:12px;padding:12px 14px;border-radius:14px}.l-exp.ok{background:rgba(34,197,94,.12);color:#15803d}.l-exp.no{background:rgba(239,68,68,.1);color:#b91c1c}.l-exp p{margin:4px 0 0;color:var(--ink)}
.l-testcard{text-align:center}.l-testcard .big{font-size:56px}.l-testcard h3{margin:6px 0 2px}.l-testcard p{margin:0;color:var(--a-muted)}
.l-testcard ul{list-style:none;padding:0;margin:14px auto;display:inline-flex;flex-direction:column;gap:6px;text-align:left}
.l-clock{font:800 18px var(--mono);padding:6px 14px;border-radius:99px;background:#1d1b4b;color:#fff}.l-clock.low{background:#dc2626;animation:lpulse 1s infinite}
@keyframes lpulse{50%{opacity:.6}}
.l-dots{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 4px}
.l-dot{width:34px;height:34px;border-radius:10px;border:1.5px solid rgba(127,127,127,.3);background:var(--panel);color:var(--ink);font:700 12px var(--font);cursor:pointer}
.l-dot.ans{background:#22c55e;border-color:#22c55e;color:#fff}.l-dot.cur{outline:3px solid #6d3be8;outline-offset:1px}
.l-tnav{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:14px}
.l-result{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.l-result h2{margin:8px 0 0}.l-result.small h3{margin:8px 0 0}
.l-score{margin:0;font-size:16px}.l-score b{font-size:22px;color:#ff7a00}
.l-rstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:520px;margin-top:8px}
.l-rstats div{display:flex;flex-direction:column;padding:10px;border-radius:14px;background:rgba(127,127,127,.1);font-size:12px;font-weight:600}.l-rstats b{font-size:20px}
.l-rstats .ok{background:rgba(34,197,94,.14);color:#15803d}.l-rstats .no{background:rgba(239,68,68,.12);color:#b91c1c}
.l-review{display:flex;flex-direction:column;gap:8px}
.l-rv{padding:12px 14px;border-radius:14px;border-left:5px solid #94a3b8;background:var(--a-glass2)}.l-rv.ok{border-left-color:#22c55e}.l-rv.no{border-left-color:#ef4444}
.l-rv p{margin:4px 0 0;font-size:13.5px}.l-rv small{display:block;margin-top:4px;color:var(--a-muted)}
.l-edit textarea{width:100%;box-sizing:border-box;margin-top:8px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:13.5px/1.5 var(--mono);resize:vertical}
.l-pn{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
@media(max-width:1000px){
  .l-hero{padding:20px;border-radius:22px}.l-hero-emoji{font-size:58px}
  .l-subjects{grid-template-columns:repeat(2,1fr);gap:10px}.l-paths{grid-template-columns:repeat(2,1fr)}
  .l-tools{grid-template-columns:repeat(3,1fr)}.l-acts{grid-template-columns:repeat(2,1fr)}
  .l-stats{grid-template-columns:1fr 1fr auto;gap:8px}.l-stats>div{padding:10px 12px}.l-stats b{font-size:24px}.l-stats .l-stat-ring{padding:6px}.l-stats .l-ring{width:58px!important;height:58px!important}
  .l-rstats{grid-template-columns:repeat(2,1fr)}
}

/* ================= Performance screen (student_suite/progress/analytics.js) ================= */
.p-wrap{max-width:1100px;margin:0 auto;padding-bottom:24px;color:var(--a-ink)}
.p-hero{display:flex;align-items:center;gap:20px;padding:26px 30px;border-radius:26px;color:#fff;margin-bottom:16px;position:relative;overflow:hidden;
  background:radial-gradient(60% 120% at 100% 0%,rgba(255,170,60,.5),transparent 60%),linear-gradient(115deg,#2a1f7a,#4b2fb0 55%,#ff7a00 140%);box-shadow:0 18px 40px -18px #4b2fb0}
.p-hero>div:first-child{flex:1;min-width:0}.p-hero small{font-weight:700;opacity:.9}
.p-hero h1{margin:6px 0;font-size:clamp(24px,3vw,36px);line-height:1.1;font-weight:800;color:#fff}.p-hero h1 span{color:#ffc94a}.p-hero p{margin:0;opacity:.9}
.p-hero-ring{display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:700}
.p-ring{display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--rc) calc(var(--p)*1%),rgba(127,127,127,.22) 0);flex:none}
.p-ring>span{display:grid;place-items:center;width:78%;height:78%;border-radius:50%;background:var(--panel);color:var(--a-ink)}.p-ring b{font-size:clamp(18px,2.4vw,26px);font-weight:800}
.p-hero .p-ring>span{background:#2a1f7a;color:#fff}
.p-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.p-tile{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 13%,var(--a-glass2)),var(--a-glass2));border:1px solid color-mix(in srgb,var(--tc) 25%,transparent);box-shadow:var(--a-shadow)}
.p-tile span{font-size:28px}.p-tile b{font-size:24px;font-weight:800}.p-tile small{color:var(--a-muted);font-weight:600}
.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.p-grid.three{grid-template-columns:1.1fr 1fr 1fr}
.p-card{padding:18px 20px;border-radius:22px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow);display:flex;flex-direction:column;gap:8px;margin-bottom:0}
.p-wrap>.p-card{margin-bottom:14px}
.p-card h2{margin:0 0 4px;font-size:18px;font-weight:800;display:flex;align-items:center;gap:8px}
.p-pill{margin-left:auto;font-size:12px;font-weight:800;color:#fff;background:#ef4444;border-radius:99px;padding:3px 10px}
.p-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:14px;background:none;color:var(--a-ink);font:600 14px var(--font);cursor:pointer;text-align:left}
.p-row:hover{background:rgba(127,127,127,.08)}
.p-row .ic{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:18px;background:color-mix(in srgb,var(--sc) 16%,transparent)}
.p-row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-row .p-bar{flex:1.3}.p-row b{width:42px;text-align:right}
.p-row em{font-style:normal;font-size:11.5px;font-weight:800;border-radius:99px;padding:3px 10px}.p-row em.ok{background:#22c55e;color:#fff;padding:2px 7px}
.p-row em.due{background:rgba(239,68,68,.13);color:#dc2626}.p-row em.next{background:rgba(59,130,246,.13);color:#2563eb}
.p-bar{display:block;height:9px;border-radius:9px;background:rgba(127,127,127,.18);overflow:hidden}.p-bar>i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#6366f1,#8b5cf6)}
.p-mini{display:flex;align-items:center;gap:10px;font-size:13.5px}.p-mini span{flex:1;min-width:0}.p-mini .p-bar{flex:1}.p-mini b{width:40px;text-align:right}
.p-mini.bad .p-bar>i{background:linear-gradient(90deg,#ef4444,#f97316)}
.p-acc{display:flex;align-items:center;gap:16px;margin-bottom:6px}.p-acc b{font-size:22px}
.p-week,.p-scores{display:flex;align-items:flex-end;gap:8px;height:130px;padding-top:6px}
.p-week>div,.p-scores>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.p-week i,.p-scores i{display:block;width:100%;max-width:30px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#8b5cf6,#4f46e5)}
.p-week small,.p-scores small{font-size:11px;color:var(--a-muted)}
.p-card .small{font-size:12px;margin:0}
.p-card.sug{background:linear-gradient(160deg,rgba(255,201,74,.22),var(--a-glass2))}
.p-sug b{font-size:17px}.p-sug p{margin:4px 0 0;color:var(--a-muted)}
.p-cta{margin-top:auto;border:0;border-radius:99px;padding:11px 18px;font:800 14px var(--font);color:#fff;cursor:pointer;background:linear-gradient(90deg,#6d3be8,#4f46e5);box-shadow:0 10px 20px -12px #4f46e5}
.p-link{align-self:flex-start;border:0;background:none;color:var(--a-blue);font:800 13px var(--font);cursor:pointer;padding:4px 0}
.p-empty{padding:14px;border-radius:14px;text-align:center;background:rgba(34,197,94,.12);color:#16a34a;font-weight:700}
@media(max-width:1000px){
  .p-hero{flex-direction:column;align-items:flex-start;padding:20px}.p-hero-ring{align-self:center}
  .p-tiles{grid-template-columns:repeat(2,1fr)}.p-grid,.p-grid.three{grid-template-columns:1fr}
}
.l-mockban{display:flex;align-items:center;gap:14px;width:100%;margin:16px 0 4px;padding:16px 20px;border:0;border-radius:22px;color:#fff;text-align:left;cursor:pointer;font-family:var(--font);background:linear-gradient(110deg,#7c3aed,#4f46e5 60%,#ff7a00 140%);box-shadow:0 14px 30px -16px #4f46e5}
.l-mockban .ic{font-size:38px}.l-mockban>span:nth-child(2){flex:1;display:flex;flex-direction:column}.l-mockban b{font-size:18px}.l-mockban small{opacity:.9}
.l-mockban em{font-style:normal;font-weight:800;color:#2a1f7a;background:#ffc94a;border-radius:99px;padding:9px 16px}
.l-testcard.mock{text-align:left}.l-testcard.mock .big,.l-testcard.mock h3,.l-testcard.mock>p{text-align:center;display:block}
.l-lbl{display:block;margin:14px 0 6px;font-weight:800;font-size:13px;color:var(--a-muted)}.l-chips.wrap{flex-wrap:wrap;overflow:visible}
.l-warn{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:rgba(245,158,11,.14);color:#b45309;font-size:13.5px}
@media(max-width:1000px){.l-mockban em{display:none}}

/* ================= Admin Panel, Notifications, Favorites, Help ================= */
.ad-wrap{max-width:1100px;margin:0 auto;padding-bottom:24px;color:var(--a-ink)}
.ad-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.ad-top h1{margin:0;font-size:24px;font-weight:800}.ad-top small{color:var(--a-muted)}
.ad-card{padding:18px 20px;border-radius:22px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow);margin-bottom:14px}
.ad-card h3{margin:0 0 12px;font-size:17px;font-weight:800}
.ad-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.ad-stat{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--sc) 14%,var(--a-glass2)),var(--a-glass2));border:1px solid color-mix(in srgb,var(--sc) 25%,transparent);box-shadow:var(--a-shadow)}
.ad-stat span{font-size:26px}.ad-stat b{font-size:26px;font-weight:800}.ad-stat small{color:var(--a-muted);font-weight:600}
.ad-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}
.ad-table{width:100%;border-collapse:collapse;font-size:13.5px}.ad-table th{text-align:left;color:var(--a-muted);font-weight:700;padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.25)}
.ad-table td{padding:8px;border-bottom:1px solid rgba(127,127,127,.12);vertical-align:top}.ad-table td small{word-break:break-all}
.ad-picks{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:10px}.ad-picks label,.ad-lbl{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700;color:var(--a-muted)}
.ad-lbl{margin-bottom:10px}
.ad-card textarea,.ad-lbl textarea{width:100%;box-sizing:border-box;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:13.5px/1.5 var(--mono);resize:vertical}
.ad-row{display:flex;gap:10px;margin-bottom:10px}.ad-row .input{flex:1}.ad-row select{flex:0 0 150px}
.ad-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.ad-note{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(127,127,127,.15)}.ad-note p{margin:4px 0}
.ad-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;text-align:center;color:var(--a-muted)}.ad-empty>span:first-child{font-size:40px}.ad-empty.small{padding:16px}
.small{font-size:12.5px}
.nf-box{position:fixed;top:78px;right:18px;z-index:500;width:min(380px,calc(100vw - 24px));max-height:70vh;overflow:auto;padding:14px;border-radius:22px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.nf-box.hidden{display:none}.nf-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.nf-head b{font-size:16px}
.l-back.sm{width:32px;height:32px;font-size:15px;border-radius:10px}
.nf-list{display:flex;flex-direction:column;gap:8px}
.nf-item{display:flex;gap:12px;align-items:flex-start;width:100%;padding:12px;border-radius:16px;border:1px solid rgba(127,127,127,.15);background:var(--bg);color:var(--ink);text-align:left;font:inherit;cursor:default}
button.nf-item{cursor:pointer}.nf-item>span{font-size:22px}.nf-item b{display:block;font-size:14px}.nf-item p{margin:4px 0;font-size:13px}.nf-item small{color:var(--muted);font-size:12px}
.nf-item.new{border-color:#ff9a3d;background:rgba(255,138,26,.08)}
.fv-list{display:flex;flex-direction:column;gap:8px}
.fv-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--a-line);background:var(--panel);color:var(--ink);cursor:pointer;text-align:left;font:inherit}
.fv-item>span{font-size:22px}.fv-item div{flex:1;min-width:0}.fv-item b{display:block}.fv-item small{color:var(--muted)}.fv-item em{font-style:normal;font-weight:800;color:#ff7a00;font-size:13px}
.hp-q{border-bottom:1px solid rgba(127,127,127,.15);padding:4px 0}.hp-q summary{cursor:pointer;font-weight:700;padding:10px 0;list-style-position:outside}.hp-q p{margin:0 0 12px;color:var(--a-muted);line-height:1.55}
.l-star{font-size:16px}
@media(max-width:1000px){.ad-stats{grid-template-columns:repeat(2,1fr)}.ad-grid{grid-template-columns:1fr}.ad-picks{grid-template-columns:1fr 1fr}.ad-table{font-size:12.5px}.nf-box{top:66px;right:12px}}

/* ================= Planner + Profile (new look) ================= */
.pl-hero,.pr-hero{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 28px;border-radius:26px;color:#fff;margin-bottom:14px;
  background:radial-gradient(60% 120% at 100% 0%,rgba(255,170,60,.5),transparent 60%),linear-gradient(115deg,#2a1f7a,#4b2fb0 55%,#ff7a00 140%);box-shadow:0 18px 40px -18px #4b2fb0}
.pl-hero>div:first-child{flex:1;min-width:240px}.pl-hero small{font-weight:700;opacity:.9}.pl-hero h1{margin:6px 0;font-size:clamp(24px,3vw,34px);line-height:1.1;font-weight:800;color:#fff}.pl-hero h1 span{color:#ffc94a}.pl-hero p{margin:0;opacity:.9}
.pl-ai{margin-top:14px;border:0;border-radius:99px;padding:10px 18px;font:800 14px var(--font);background:#ffc94a;color:#2a1f7a;cursor:pointer}
.pl-summary,.pr-stats{display:grid;grid-template-columns:repeat(4,minmax(78px,1fr));gap:10px}
.pl-summary>div,.pr-stats>div{display:flex;flex-direction:column;align-items:center;padding:12px 10px;border-radius:18px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.pl-summary b,.pr-stats b{font-size:24px;font-weight:800}.pl-summary small,.pr-stats small{font-size:12px;opacity:.9}.pr-stats span{font-size:20px}
.pl-focus{background:var(--a-glass2)!important;border-radius:22px}.pl-ft{display:block;margin-bottom:4px}
.pl-tabs{display:flex;gap:8px;margin:6px 0 10px}
#screen-planner .stu-task{border-radius:14px;padding:10px 12px;margin-bottom:6px;background:var(--a-glass2);border:1px solid var(--a-line)}
.pr-hero .avatar{width:84px;height:84px;font-size:34px;border:3px solid rgba(255,255,255,.6)}.pr-id{flex:1;min-width:200px}.pr-id h1,.pr-id .page-title{color:#fff!important}.pr-id p{color:rgba(255,255,255,.85)!important;margin:2px 0 8px}
.pr-path{display:inline-block;padding:5px 12px;border-radius:99px;background:#ffc94a;color:#2a1f7a;font-weight:800;font-size:13px}
.pr-list{border-radius:22px!important;overflow:hidden}
@media(max-width:1000px){.pl-summary,.pr-stats{grid-template-columns:repeat(2,1fr);width:100%}.pr-stats{grid-template-columns:repeat(4,1fr)}.pr-stats b{font-size:18px}.pr-stats small{font-size:10.5px}}
.en-status{display:flex;align-items:center;gap:14px}.en-status>span{font-size:28px}.en-status b{display:block;font-size:16px}.en-status small{color:var(--a-muted)}
.en-status.on{border-color:rgba(34,197,94,.4)}.en-status.off{border-color:rgba(239,68,68,.35)}.en-status code{font-size:12px}
.en-picks{grid-template-columns:1fr 1fr 1.4fr}.en-picks .hidden{display:none}
.en-res{margin:12px 0 0;padding:10px 14px;border-radius:12px;font-weight:600}.en-res.ok{background:rgba(34,197,94,.13);color:#15803d}.en-res.no{background:rgba(239,68,68,.11);color:#b91c1c}
@media(max-width:1000px){.en-picks{grid-template-columns:1fr}}

/* ===================== Settings hub, Parent Connect, Focus Mode, Saved Chats, Class Chat ===================== */
:root{--hb-grad:linear-gradient(115deg,#2a1d86,#5b3df0 55%,#7c4dff);--hb-soft:rgba(124,77,255,.10)}
.st-wrap{max-width:1180px!important;color:var(--a-ink)}
.st-hero{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:22px 26px;border-radius:26px;color:#fff;background:var(--hb-grad);box-shadow:0 18px 40px -18px rgba(76,46,220,.75);overflow:hidden;margin-bottom:14px}
.st-hero::after{content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.st-ava{position:relative;border:0;background:none;padding:0;cursor:pointer;flex:none;z-index:1}
.st-ava .avatar{width:92px;height:92px;font-size:36px;border:4px solid rgba(255,255,255,.75);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.st-cam{position:absolute;right:-2px;bottom:2px;width:30px;height:30px;border-radius:50%;background:#1d1b4b;color:#fff;display:grid;place-items:center;font-size:14px;border:2px solid #fff}
.st-id{flex:1;min-width:200px;z-index:1}.st-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.st-id h1{margin:0;font-size:clamp(22px,2.6vw,32px);font-weight:800;color:#fff}
.st-plan{padding:4px 12px;border-radius:99px;background:linear-gradient(90deg,#ffd45a,#ffb020);color:#3a2600;font-weight:800;font-size:12.5px;white-space:nowrap}
.st-line{margin:4px 0 0;color:rgba(255,255,255,.9);font-size:14px;display:flex;gap:10px;flex-wrap:wrap}.st-line:empty{display:none}
.st-edit{z-index:1;border:1.5px solid rgba(255,255,255,.7);background:rgba(255,255,255,.12);color:#fff;border-radius:16px;padding:10px 16px;font:700 14px var(--font);cursor:pointer}
.st-dream{z-index:1;font:italic 800 18px/1.2 var(--font);color:#ffd45a;transform:rotate(-6deg)}
@media(max-width:700px){.st-dream{display:none}.st-edit{padding:8px 12px;font-size:13px}}
.st-wrap .pr-stats{margin-bottom:14px}.st-wrap .pr-stats>div{background:var(--a-glass2);box-shadow:var(--a-shadow);border:1px solid var(--a-line);color:var(--a-ink)}
.st-head{display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:22px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow);margin-bottom:12px}
.st-gear{font-size:40px}.st-head h2{margin:0;font-size:24px;font-weight:800}.st-head p{margin:0;color:#6d4aff;font-size:14px}
.st-ver{margin-left:auto;text-align:center;font-size:12px;color:var(--a-muted);padding:6px 14px;border-radius:16px;border:1px solid var(--line)}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}@media(max-width:800px){.st-grid{grid-template-columns:1fr}}
.st-col{display:flex;flex-direction:column;gap:10px}.st-extra{margin-top:10px}
.st-row{display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px;border-radius:18px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:0 6px 18px -10px rgba(80,60,170,.35);color:var(--a-ink);text-align:left;font-family:var(--font);cursor:pointer;min-height:64px;box-sizing:border-box;transition:transform .15s,box-shadow .15s}
.st-row[hidden]{display:none}
div.st-row{cursor:default}button.st-row:hover,.st-more summary:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px rgba(80,60,170,.5)}
.st-ic{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:var(--hb-soft)}
.st-tx{flex:1;min-width:0;display:flex;flex-direction:column}.st-tx b{font-size:15.5px;font-weight:700}.st-tx small{font-size:12.5px;color:var(--a-muted)}
.st-chev{font-size:26px;color:#6d4aff;font-weight:300;transition:transform .2s}
.st-new{font-style:normal;font-size:10px;font-weight:800;color:#fff;background:#ef4444;border-radius:99px;padding:2px 7px;vertical-align:middle}
.st-segs{display:flex;gap:4px;padding:3px;border-radius:99px;background:var(--hb-soft)}
.st-seg{border:0;background:none;padding:7px 12px;border-radius:99px;font:600 12.5px var(--font);color:var(--a-ink);cursor:pointer;white-space:nowrap}.st-seg.on{background:linear-gradient(90deg,#5b3df0,#7c4dff);color:#fff}
.st-sel{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;padding:8px 10px;font:600 13px var(--font);max-width:170px}
.st-more{border-radius:18px}.st-more summary{list-style:none}.st-more summary::-webkit-details-marker{display:none}.st-more[open] .st-chev{transform:rotate(90deg)}
.st-sub{display:flex;flex-direction:column;gap:6px;padding:8px 6px 4px 62px}
.st-sub button{border:0;background:var(--hb-soft);color:var(--a-ink);border-radius:12px;padding:10px 12px;text-align:left;font:600 13.5px var(--font);cursor:pointer}.st-sub button.bad{color:#dc2626}
.st-logout{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;margin:14px 0 10px;border:0;border-radius:22px;padding:14px;color:#fff;font:800 18px var(--font);cursor:pointer;background:linear-gradient(90deg,#ff3d6e,#e1123d);box-shadow:0 12px 26px -12px rgba(225,18,61,.8)}
.st-logout small{font:500 12px var(--font);opacity:.9}.st-logout small:empty{display:none}

/* shared pieces */
.hb-hero{position:relative;display:flex;align-items:center;gap:18px;padding:22px 26px;border-radius:26px;color:#fff;background:var(--hb-grad);overflow:hidden;margin:6px 0 14px;box-shadow:0 18px 40px -18px rgba(76,46,220,.75)}
.hb-hero>div{flex:1;min-width:0;z-index:1}.hb-hero h1{margin:0 0 4px;font-size:clamp(22px,2.8vw,34px);font-weight:800;color:#fff;line-height:1.15}.hb-hero p{margin:0;opacity:.92}
.hb-hero-art{font-size:clamp(34px,6vw,64px);z-index:1}.hb-hero-moon{font-size:clamp(44px,6vw,70px);z-index:1;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3))}
.hb-title{margin:6px 0 12px;font-size:26px;font-weight:800;color:var(--a-ink)}
.hb-card{padding:18px 20px;border-radius:22px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow);margin-bottom:14px;color:var(--a-ink)}
.hb-card h3{margin:2px 0 10px;font-size:17px;font-weight:800;color:#5b3df0}:root[data-theme="dark"] .hb-card h3,:root[data-theme="neon"] .hb-card h3{color:#b9a8ff}
.hb-f{display:flex;align-items:center;gap:12px;margin:8px 0}.hb-f>span{flex:0 0 120px;font-weight:600;font-size:14px}.hb-f .input,.hb-f .select{flex:1;min-width:0}
@media(max-width:560px){.hb-f{flex-direction:column;align-items:stretch;gap:4px}.hb-f>span{flex:none}}
.cc-box .hb-f{flex-direction:column;align-items:stretch;gap:4px}.cc-box .hb-f>span{flex:none}
.hb-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;border:0;border-radius:18px;padding:13px 18px;color:#fff;font:800 16px var(--font);cursor:pointer;background:linear-gradient(90deg,#3b25c9,#6d4aff);box-shadow:0 12px 24px -12px rgba(76,46,220,.9)}
.hb-cta.alt{background:linear-gradient(90deg,#ffa42e,#ff7a00);box-shadow:0 12px 24px -12px rgba(255,122,0,.8)}
.hb-ghost{border:1.5px solid rgba(109,74,255,.35);background:var(--hb-soft);color:var(--a-ink);border-radius:14px;padding:9px 14px;font:700 13.5px var(--font);cursor:pointer}.hb-ghost.wide{width:100%;margin-top:12px;padding:12px}
.cc-box .hb-ghost{color:var(--ink)}
.ad-wrap>.l-back{margin-bottom:6px}
.switch.big{transform:scale(1.35);transform-origin:right center;z-index:1}

/* Parent Connect */
.pc-grid,.fc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px}@media(max-width:900px){.pc-grid,.fc-grid{grid-template-columns:1fr}}
.pc-status{display:flex;align-items:center;gap:14px}.pc-status>span{font-size:34px}.pc-status b{font-size:17px}.pc-status small{display:block;color:var(--a-muted)}.pc-status.on{border-color:rgba(22,163,74,.4)}
.pc-mail{border-radius:18px;background:var(--panel);border:1px solid var(--line);padding:14px;color:var(--ink)}
.pc-mail-head{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;color:#fff;background:var(--hb-grad);margin-bottom:10px}.pc-mail-head b{font-size:20px}.pc-mail-head span{font-weight:700}.pc-mail-head small{color:#ffd45a;font-style:italic}
.pc-mail>p{margin:6px 2px;font-size:14px}
.pc-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}@media(max-width:560px){.pc-tiles{grid-template-columns:repeat(2,1fr)}}
.pc-tile{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:14px;background:color-mix(in srgb,var(--tc) 12%,transparent);border:1px solid color-mix(in srgb,var(--tc) 30%,transparent);text-align:center}
.pc-tile span{font-size:22px}.pc-tile b{font-size:18px;color:var(--tc)}.pc-tile small{font-size:11px;color:var(--muted)}
.pc-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.pc-two section{border-radius:14px;border:1px solid var(--line);padding:10px 12px}@media(max-width:560px){.pc-two{grid-template-columns:1fr}}
.pc-two h4{margin:0 0 8px;font-size:14px}
.pc-bar{display:grid;grid-template-columns:1fr 70px 38px;gap:6px;align-items:center;font-size:12.5px;margin:4px 0}.pc-bar>i{height:8px;border-radius:9px;background:var(--hb-soft);display:block;overflow:hidden}.pc-bar>i>i{display:block;height:100%;background:linear-gradient(90deg,#5b3df0,#22c1ee)}
.pc-scores{display:flex;gap:8px;align-items:flex-end;height:110px}.pc-scores div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;font-size:11px}
.pc-scores i{width:70%;border-radius:6px;background:linear-gradient(180deg,#22c1ee,#2563eb)}.pc-scores em{font-style:normal;color:var(--muted);font-size:10px}
.pc-goal{font-size:13px;margin:4px 0}.pc-keep{background:linear-gradient(135deg,#fff4dc,#ffe7b8);color:#3a2600;text-align:center}.pc-keep p{margin:6px 0 0;font-size:13px}
.pc-send{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pc-send .hb-cta{margin-top:0}

/* Focus Mode */
.fc-live{text-align:center;background:linear-gradient(160deg,rgba(34,197,94,.14),var(--a-glass2));border-color:rgba(34,197,94,.45)}.fc-ico{font-size:44px}.fc-live h3{color:#16a34a!important;font-size:22px}
.fc-timer{display:inline-flex;flex-direction:column;padding:12px 26px;border-radius:18px;background:var(--panel);border:1px solid var(--line);margin:8px 0}.fc-timer b{font-size:40px;font-weight:800;color:#3b25c9;font-variant-numeric:tabular-nums}
:root[data-theme="dark"] .fc-timer b,:root[data-theme="neon"] .fc-timer b{color:#c4b5fd}
.fc-chips{display:flex;flex-wrap:wrap;gap:8px}.fc-chip{border:1.5px solid rgba(109,74,255,.35);background:none;color:var(--a-ink);border-radius:99px;padding:9px 16px;font:700 14px var(--font);cursor:pointer}.fc-chip.on{background:linear-gradient(90deg,#5b3df0,#7c4dff);color:#fff;border-color:transparent}
.fc-os{border-radius:14px;background:var(--hb-soft);padding:10px 14px;margin-top:10px;font-size:13.5px}.fc-os ol{margin:6px 0 4px;padding-left:20px}.fc-os li{margin:3px 0}
.fc-tips p{margin:6px 0 0;font-size:14px;line-height:1.7}
#focus-pill{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 8px);transform:translateX(-50%);z-index:300;border:0;border-radius:99px;padding:7px 16px;color:#fff;font:800 13px var(--font);background:linear-gradient(90deg,#2a1d86,#6d4aff);box-shadow:0 8px 20px -6px rgba(76,46,220,.9);cursor:pointer;font-variant-numeric:tabular-nums}

/* Saved Chats */
.sv-tabs,.cc-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.sv-tabs button,.cc-tabs button{flex:1;min-width:110px;border:1.5px solid rgba(109,74,255,.3);background:var(--a-glass2);color:var(--a-ink);border-radius:99px;padding:11px 14px;font:700 14px var(--font);cursor:pointer}
.sv-tabs button.on,.cc-tabs button.on{background:linear-gradient(90deg,#3b25c9,#6d4aff);color:#fff;border-color:transparent}
.sv-note{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:18px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);margin-bottom:12px;font-size:14px;color:var(--a-ink)}.sv-note>span{font-size:26px}.sv-note label{display:inline-flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}
.sv-list{display:flex;flex-direction:column;gap:8px}
.sv-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:0 6px 18px -12px rgba(80,60,170,.4);cursor:pointer;color:var(--a-ink)}
.sv-ic{font-size:26px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--hb-soft);flex:none}.sv-tx{flex:1;min-width:0;display:flex;flex-direction:column}.sv-tx b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-tx small{color:var(--a-muted);font-size:12.5px}
.sv-pin,.sv-del{border:0;background:none;font-size:18px;cursor:pointer;padding:6px;border-radius:10px;opacity:.35;filter:grayscale(1)}.sv-pin.on{opacity:1;filter:none}.sv-del{opacity:.6;filter:none}

/* Class Chat list */
.cc-wrap{position:relative;padding-bottom:90px!important}
.cc-search{margin-bottom:10px}.cc-search .input{width:100%;border-radius:16px;box-sizing:border-box}
.cc-sec{border-radius:20px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow);padding:6px 8px;margin-bottom:12px}
.cc-sec h3{margin:8px 10px 4px;font-size:16px;font-weight:800;color:var(--a-ink)}.cc-empty{margin:6px 10px 10px}
.cc-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-radius:16px;background:none;text-align:left;font-family:var(--font);color:var(--a-ink);cursor:pointer}.cc-item:hover{background:var(--hb-soft)}
.cc-av{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:20px;background:var(--av,#6d4aff);box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}.cc-av.ai{background:linear-gradient(135deg,var(--av,#5b3df0),#22c1ee);font-size:24px}
.cc-tx{flex:1;min-width:0;display:flex;flex-direction:column}.cc-tx b{font-size:15.5px}.cc-tx small{color:var(--a-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-ok{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#2563eb;color:#fff;font-size:10px;vertical-align:middle}
.cc-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--a-muted)}.cc-meta i{font-style:normal}
.cc-n{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#5b3df0;color:#fff;font-weight:800;font-size:11.5px;display:grid;place-items:center;box-sizing:border-box}
.cc-login{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cc-login>span{font-size:40px}.cc-login>div{flex:1;min-width:200px}.cc-login .hb-cta{width:auto;margin:0}
.cc-fab{position:fixed;right:22px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:120;width:58px;height:58px;border-radius:50%;border:0;font-size:24px;color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b25c9,#7c4dff);box-shadow:0 12px 26px -8px rgba(76,46,220,.9)}
@media(min-width:1001px){.cc-fab{bottom:28px}}
.cc-modal{position:fixed;inset:0;z-index:400;background:rgba(15,10,40,.45);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}
.cc-box{position:relative;width:min(440px,100%);max-height:88vh;overflow:auto;padding:20px;border-radius:24px;background:var(--panel);color:var(--ink);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);box-sizing:border-box}
.cc-box h3{margin:0 30px 12px 0;font-size:19px}.cc-x{position:absolute;right:12px;top:12px;border:0;background:var(--hb-soft);color:var(--ink);width:32px;height:32px;border-radius:50%;cursor:pointer}
.cc-code{text-align:center;padding:12px;border-radius:16px;background:var(--hb-soft);margin-bottom:10px}.cc-code>b{display:block;font-size:28px;letter-spacing:3px;color:#5b3df0;margin:2px 0 6px}.cc-code>div{display:flex;gap:8px;justify-content:center}
.cc-menu{display:flex;flex-direction:column;gap:6px}.cc-menu button{border:0;background:var(--hb-soft);color:var(--ink);border-radius:14px;padding:12px 14px;text-align:left;font:600 14.5px var(--font);cursor:pointer}.cc-menu button.bad{color:#dc2626}
.cc-people{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto}.cc-people>div{display:flex;align-items:center;gap:10px;font-size:14px}.cc-people .cc-av{width:34px;height:34px;font-size:14px}

/* Class Chat room */
.view-screen.room-screen{padding:0!important}.view-screen.room-screen.active{display:flex;flex-direction:column}
.rm-wrap{flex:1;display:flex;flex-direction:column;min-height:0;max-width:980px;width:100%;margin:0 auto}
.rm-head{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#fff;background:var(--hb-grad);border-radius:0 0 22px 22px;box-shadow:0 10px 24px -14px rgba(76,46,220,.9)}
.rm-head .cc-av{width:42px;height:42px;font-size:18px;border:2px solid rgba(255,255,255,.6)}
.rm-back,.rm-dots{border:0;background:rgba(255,255,255,.14);color:#fff;width:38px;height:38px;border-radius:12px;font-size:24px;line-height:1;cursor:pointer;flex:none}
.rm-ti{flex:1;min-width:0;display:flex;flex-direction:column}.rm-ti b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-ti small{opacity:.85;font-size:12.5px}
.rm-list{flex:1;overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:8px}
.rm-msg{max-width:min(78%,560px);align-self:flex-start;padding:9px 13px 6px;border-radius:6px 18px 18px 18px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:0 4px 12px -8px rgba(60,40,140,.5);color:var(--a-ink);cursor:pointer}
.rm-msg.me{align-self:flex-end;border-radius:18px 6px 18px 18px;background:linear-gradient(135deg,#e7ddff,#d9cbff);color:#1d1b4b;border-color:transparent}
:root[data-theme="dark"] .rm-msg.me,:root[data-theme="neon"] .rm-msg.me{background:linear-gradient(135deg,#4b35b8,#5b3df0);color:#fff}
.rm-msg p{margin:0;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.rm-who{display:block;font-weight:800;color:#6d4aff;font-size:12.5px;margin-bottom:2px}
.rm-t{display:block;text-align:right;font-size:10.5px;opacity:.65;margin-top:2px}
.rm-sys{align-self:center;font-size:12px;color:var(--a-muted);background:var(--hb-soft);padding:4px 12px;border-radius:99px}
.rm-file{display:flex;align-items:center;gap:10px;margin-top:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:14px;padding:8px 12px;cursor:pointer;text-align:left;font-family:var(--font);max-width:100%}
.rm-file>span{font-size:26px}.rm-file div{display:flex;flex-direction:column;min-width:0}.rm-file b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-file small{color:var(--muted);font-size:11.5px}.rm-file em{font-style:normal;color:#5b3df0;font-size:18px;margin-left:auto}
.rm-blocked{margin:8px 14px;padding:10px 14px;border-radius:14px;background:rgba(239,68,68,.12);color:#b91c1c;text-align:center;font-size:14px}.rm-blocked button{border:0;background:none;color:#5b3df0;font-weight:800;cursor:pointer}
.rm-comp{display:flex;align-items:flex-end;gap:8px;margin:8px 12px calc(10px + env(safe-area-inset-bottom,0px));padding:6px 6px 6px 10px;border-radius:26px;background:var(--a-glass2);border:1px solid var(--a-line);box-shadow:var(--a-shadow)}
.rm-comp[hidden]{display:none}
.rm-comp textarea{flex:1;border:0;background:none;resize:none;color:var(--a-ink);font:15px/1.4 var(--font);padding:10px 4px;max-height:120px;outline:none}
.rm-att{border:0;background:none;font-size:22px;cursor:pointer;padding:8px}
.rm-send{flex:none;width:46px;height:46px;border-radius:50%;border:0;color:#fff;font-size:20px;cursor:pointer;background:linear-gradient(135deg,#3b25c9,#7c4dff);box-shadow:0 8px 18px -8px rgba(76,46,220,.9)}

/* bottom menu: raised Chat button in the middle */
.bottom-nav .nav-item.nav-ai{position:relative;color:var(--a-ink)}
.nav-ai-hex{position:relative;display:grid;place-items:center;width:50px;height:50px;margin-top:-24px;border-radius:16px;transform:rotate(45deg);background:linear-gradient(135deg,#3b25c9,#7c4dff);box-shadow:0 10px 22px -6px rgba(76,46,220,.85);border:3px solid #fff}
.nav-ai-hex svg{transform:rotate(-45deg);width:26px!important;height:26px!important;fill:#fff!important}
.nav-ai-hex em{position:absolute;top:-6px;right:-6px;transform:rotate(-45deg);min-width:18px;height:18px;border-radius:99px;background:#ef4444;color:#fff;font:800 10.5px/18px var(--font);font-style:normal;text-align:center;padding:0 4px}
.nav-ai-hex em[hidden]{display:none}
.bottom-nav .nav-item.nav-ai span{margin-top:4px}
.bottom-nav .nav-item.nav-ai.active::after{display:none}.bottom-nav .nav-item.nav-ai.active span{color:#6d4aff}

/* Home: Recently used apps (filled automatically) */
.d-recent{margin-top:calc(16 * var(--u));padding:14px 18px}.d-recent[hidden]{display:none}
.d-rc-row{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:thin}
.d-rc{flex:none;width:108px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;border-radius:18px;border:1px solid var(--a-line);background:var(--a-glass2);color:var(--a-ink);font-family:var(--font);cursor:pointer;box-shadow:0 6px 16px -10px rgba(80,60,170,.45);transition:transform .15s}
.d-rc:hover{transform:translateY(-2px)}
.d-rc span{font-size:28px;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,164,46,.2),rgba(124,77,255,.18))}
.d-rc b{font-size:12.5px;line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.d-rc small{font-size:10.5px;color:var(--a-muted)}

/* ===================== My Library: luxury 3D glass ===================== */
#screen-files{--lx-gold:linear-gradient(135deg,#fff1b8,#f7c948 35%,#d99a1e 70%,#ffe08a);--lx-glass:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.42));--lx-edge:rgba(255,255,255,.9)}
:root[data-theme="dark"] #screen-files,:root[data-theme="neon"] #screen-files{--lx-glass:linear-gradient(145deg,rgba(60,50,130,.62),rgba(30,24,70,.48));--lx-edge:rgba(255,255,255,.14)}
.lx{max-width:1240px!important;color:var(--a-ink)}
.lx-glass{background:var(--lx-glass);border:1px solid var(--lx-edge);border-radius:26px;box-shadow:0 20px 50px -28px rgba(60,30,160,.55),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}

/* hero */
.lx-hero{position:relative;display:flex;align-items:center;gap:20px;min-height:230px;padding:30px 34px;border-radius:32px;overflow:hidden;color:#fff;margin:4px 0 16px;
  background:radial-gradient(60% 90% at 85% 10%,rgba(255,200,90,.35),transparent 60%),radial-gradient(50% 80% at 0% 100%,rgba(40,200,255,.25),transparent 60%),linear-gradient(125deg,#160c4a,#3a1fb0 48%,#6d3cf5);
  box-shadow:0 30px 60px -30px rgba(40,10,140,.9),inset 0 1px 0 rgba(255,255,255,.25)}
.lx-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 45%,transparent 60%);transform:translateX(-60%);animation:lxShine 7s ease-in-out infinite}
@keyframes lxShine{0%,60%{transform:translateX(-70%)}100%{transform:translateX(70%)}}
.lx-hero-tx{position:relative;z-index:1;flex:1;min-width:0}
.lx-kicker{display:inline-block;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);font-size:12.5px;font-weight:700;letter-spacing:.3px}
.lx-hero h1{margin:10px 0 6px;font-size:clamp(30px,4.4vw,52px);line-height:1.02;font-weight:800;color:#fff;letter-spacing:-.5px}
.lx-hero h1 span{background:var(--lx-gold);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 8px rgba(255,190,60,.35))}
.lx-hero p{margin:0;max-width:560px;opacity:.9;font-size:14.5px;line-height:1.5}
.lx-hero-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.lx-btn{border:0;border-radius:16px;padding:12px 18px;font:800 14.5px var(--font);cursor:pointer;transition:transform .18s,box-shadow .18s}
.lx-btn:hover{transform:translateY(-2px)}
.lx-btn.gold{background:var(--lx-gold);color:#3b2400;box-shadow:0 12px 26px -10px rgba(240,170,30,.9),inset 0 1px 0 rgba(255,255,255,.8)}
.lx-btn.glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px)}

/* floating 3D book stack in the hero */
.lx-stack{position:relative;z-index:1;flex:none;width:230px;height:190px;perspective:900px}
.lx-stack i{position:absolute;left:50%;width:150px;height:32px;border-radius:6px 10px 10px 6px;transform-style:preserve-3d;box-shadow:0 14px 24px -10px rgba(0,0,0,.6),inset 0 2px 0 rgba(255,255,255,.35),inset -10px 0 0 rgba(255,255,255,.85)}
.lx-stack i::after{content:"";position:absolute;left:14px;right:22px;top:12px;height:3px;border-radius:3px;background:var(--lx-gold);opacity:.9}
.lx-stack .b1{bottom:20px;transform:translateX(-50%) rotate(-3deg);background:linear-gradient(90deg,#8a1538,#e2466b)}
.lx-stack .b2{bottom:52px;transform:translateX(-46%) rotate(4deg);background:linear-gradient(90deg,#0f5e4a,#22b38a);width:140px}
.lx-stack .b3{bottom:84px;transform:translateX(-54%) rotate(-5deg);background:linear-gradient(90deg,#13306e,#3d7bf0);width:156px}
.lx-stack .b4{bottom:116px;transform:translateX(-50%) rotate(2deg);background:linear-gradient(90deg,#6b3a06,#e39b2d);width:132px}
.lx-stack:not(.mini){animation:lxFloat 6s ease-in-out infinite}
@keyframes lxFloat{0%,100%{transform:translateY(0) rotateX(8deg)}50%{transform:translateY(-10px) rotateX(8deg)}}
.lx-orb{position:absolute;right:6px;top:4px;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,rgba(255,220,140,.9) 30%,rgba(255,170,40,.5) 60%,transparent 70%);filter:blur(.3px);animation:lxFloat 4s ease-in-out infinite reverse}
@media(max-width:700px){.lx-hero{flex-direction:column;align-items:flex-start;padding:24px 20px}.lx-hero>.lx-stack{display:none}.lx-hero-btns .lx-btn{flex:1 1 auto}}

/* stats */
.lx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.lx-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;border-radius:22px;background:var(--lx-glass);border:1px solid var(--lx-edge);box-shadow:0 14px 30px -22px rgba(60,30,160,.6),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(14px)}
.lx-stat span{font-size:24px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}.lx-stat b{font-size:22px;font-weight:800}.lx-stat small{font-size:12px;color:var(--a-muted);text-align:center}
@media(max-width:600px){.lx-stats{grid-template-columns:repeat(2,1fr)}}

/* search + toolbar */
.lx-search{margin-bottom:14px}
.lx-field{display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:18px;background:var(--lx-glass);border:1px solid var(--lx-edge);box-shadow:inset 0 2px 6px rgba(60,30,160,.08),0 10px 24px -20px rgba(60,30,160,.6);backdrop-filter:blur(14px)}
.lx-field input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--a-ink);font:500 14.5px var(--font);padding:12px 0}
.lx-field.big{padding:4px 18px;border-radius:22px}.lx-field.big input{font-size:16px;padding:14px 0}
.lx-field:focus-within{border-color:rgba(124,77,255,.6);box-shadow:0 0 0 4px rgba(124,77,255,.15)}
.lx-results{margin-top:8px;border-radius:18px}
.lx-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 14px}
.lx-bar .lx-field{flex:1 1 200px}
.lx-chips{display:flex;gap:8px;flex-wrap:wrap}
.lx-chips button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--lx-edge);background:var(--lx-glass);color:var(--a-ink);border-radius:99px;padding:8px 14px;font:700 13px var(--font);cursor:pointer;backdrop-filter:blur(10px);box-shadow:0 6px 16px -12px rgba(60,30,160,.6)}
.lx-chips button em{font-style:normal;font-size:11px;min-width:20px;padding:1px 6px;border-radius:99px;background:rgba(124,77,255,.14)}
.lx-chips button.on{background:linear-gradient(135deg,#3a1fb0,#7c4dff);color:#fff;border-color:transparent;box-shadow:0 10px 22px -10px rgba(76,46,220,.9)}.lx-chips button.on em{background:rgba(255,255,255,.25)}
.lx-view{display:flex;padding:3px;border-radius:14px;background:var(--lx-glass);border:1px solid var(--lx-edge)}
.lx-view button{border:0;background:none;color:var(--a-ink);width:38px;height:34px;border-radius:11px;font-size:17px;cursor:pointer}.lx-view button.on{background:linear-gradient(135deg,#3a1fb0,#7c4dff);color:#fff}

/* continue reading */
.lx-cont{padding:16px 18px;margin-bottom:16px}.lx-cont h2{margin:0 0 12px;font-size:18px;font-weight:800}
.lx-cont-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.lx-ci{display:flex;align-items:center;gap:14px;padding:10px;border-radius:18px;background:rgba(255,255,255,.35);border:1px solid var(--lx-edge)}
:root[data-theme="dark"] .lx-ci{background:rgba(255,255,255,.05)}
.lx-ci>div:last-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.lx-ci b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lx-ci small{color:var(--a-muted);font-size:12px}

/* the shelf */
.lx-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:26px 18px;padding:18px 16px 26px;border-radius:30px;margin-bottom:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.12));border:1px solid var(--lx-edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 24px 50px -34px rgba(60,30,160,.7);backdrop-filter:blur(10px)}
:root[data-theme="dark"] .lx-shelf,:root[data-theme="neon"] .lx-shelf{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.lx-card{display:flex;flex-direction:column;gap:10px;min-width:0;align-items:stretch;padding:0;background:none;border:0}
.lx-book{position:relative;align-self:center;width:72%;max-width:150px;aspect-ratio:3/4.1;cursor:pointer;perspective:1000px;transform-style:preserve-3d;outline:none}
.lx-cover{position:absolute;inset:0;border-radius:4px 12px 12px 4px;padding:14px 12px 12px 18px;display:flex;flex-direction:column;gap:8px;overflow:hidden;color:#fff;z-index:2;
  background:radial-gradient(120% 70% at 100% 0%,rgba(255,255,255,.28),transparent 55%),linear-gradient(150deg,var(--c2),var(--c1) 70%);
  box-shadow:inset 6px 0 0 rgba(0,0,0,.18),inset 8px 0 10px -4px rgba(255,255,255,.25),0 22px 30px -16px rgba(20,10,60,.75),0 6px 10px -6px rgba(20,10,60,.5);
  transform:rotateY(-18deg);transform-origin:left center;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.lx-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 48%,transparent 60%);transform:translateX(-120%);transition:transform .8s}
.lx-book:hover .lx-cover,.lx-book:focus-visible .lx-cover{transform:rotateY(-30deg) translateZ(10px) translateY(-6px);box-shadow:inset 6px 0 0 rgba(0,0,0,.18),0 34px 40px -18px rgba(20,10,60,.8)}
.lx-book:hover .lx-cover::after{transform:translateX(120%)}
.lx-pages{position:absolute;top:3%;bottom:3%;right:-2px;width:14px;z-index:1;border-radius:0 6px 6px 0;background:repeating-linear-gradient(180deg,#fdfbf5 0 2px,#e8e2d2 2px 3px);transform:rotateY(-18deg) translateX(-4px);transform-origin:left center;box-shadow:inset 2px 0 4px rgba(0,0,0,.15)}
.lx-spine{position:absolute;left:0;top:0;bottom:0;width:10px;z-index:3;border-radius:4px 0 0 4px;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.15),rgba(0,0,0,.2));transform:rotateY(-18deg);transform-origin:left center;pointer-events:none}
.lx-book:hover .lx-spine,.lx-book:focus-visible .lx-spine,.lx-book:hover .lx-pages{transform:rotateY(-30deg) translateY(-6px)}
.lx-kind{align-self:flex-start;font-size:9.5px;font-weight:800;letter-spacing:1.2px;padding:3px 8px;border-radius:99px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3)}
.lx-ttl{font-size:14px;line-height:1.22;font-weight:800;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 6px rgba(0,0,0,.35);word-break:break-word}
.lx-foil{margin-top:auto;height:2px;width:60%;border-radius:2px;background:var(--lx-gold);box-shadow:0 0 8px rgba(255,200,80,.6)}
.lx-emb{font-size:9px;font-weight:800;letter-spacing:3px;opacity:.75;background:var(--lx-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.lx-book.sm{width:62px;flex:none;align-self:auto}.lx-book.sm .lx-cover{padding:6px 5px 6px 9px;gap:3px}.lx-book.sm .lx-kind,.lx-book.sm .lx-emb{display:none}.lx-book.sm .lx-ttl{font-size:8.5px;-webkit-line-clamp:5}.lx-book.sm .lx-pages{width:7px}
.lx-info{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 12px 12px;border-radius:20px;background:var(--lx-glass);border:1px solid var(--lx-edge);box-shadow:0 14px 28px -22px rgba(60,30,160,.7),inset 0 1px 0 rgba(255,255,255,.6);backdrop-filter:blur(12px)}
.lx-name{font-size:14px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.lx-info small{font-size:11.5px}
.lx-prog{height:6px;border-radius:9px;background:rgba(124,77,255,.14);overflow:hidden}.lx-prog i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#f7c948,#ff8a1a)}
.lx-acts{display:flex;align-items:center;gap:6px;margin-top:6px}
.lx-read{flex:1;min-width:0;white-space:nowrap;border:0;border-radius:12px;padding:9px 8px;color:#fff;font:800 13px var(--font);cursor:pointer;background:linear-gradient(135deg,#3a1fb0,#7c4dff);box-shadow:0 8px 16px -8px rgba(76,46,220,.9)}
.lx-ic{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--lx-edge);border-radius:12px;background:rgba(124,77,255,.1);color:var(--a-ink);font-size:16px;cursor:pointer;list-style:none;box-sizing:border-box}
.lx-ic::-webkit-details-marker{display:none}
.lx-more{position:relative}.lx-menu{position:absolute;right:0;bottom:44px;z-index:20;display:flex;flex-direction:column;gap:4px;min-width:220px;padding:8px;border-radius:18px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 50px -20px rgba(0,0,0,.45)}
.lx-menu button{border:0;background:none;color:var(--ink);text-align:left;padding:10px 12px;border-radius:12px;font:600 13.5px var(--font);cursor:pointer}.lx-menu button:hover{background:rgba(124,77,255,.1)}.lx-menu button.bad{color:#dc2626}

/* list view */
.lx-shelf.list{grid-template-columns:1fr;gap:10px;padding:12px}
.lx-shelf.list .lx-card{flex-direction:row;align-items:center;gap:14px}
.lx-shelf.list .lx-book{width:58px;flex:none;align-self:auto}.lx-shelf.list .lx-cover{padding:6px 5px 6px 9px}.lx-shelf.list .lx-kind,.lx-shelf.list .lx-emb{display:none}.lx-shelf.list .lx-ttl{font-size:8px}
.lx-shelf.list .lx-info{flex:1;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px}
.lx-shelf.list .lx-name{flex:1 1 200px}.lx-shelf.list .lx-acts{margin-top:0}.lx-shelf.list .lx-prog{flex:0 0 120px}

.lx-empty{grid-column:1/-1;text-align:center;padding:30px 16px;color:var(--a-muted)}.lx-empty>span{font-size:40px}
.lx-empty.big h3{margin:14px 0 6px;color:var(--a-ink);font-size:22px}.lx-empty.big p{max-width:440px;margin:0 auto 16px}
.lx-stack.mini{width:180px;height:120px;margin:0 auto}.lx-stack.mini i{width:120px;height:26px}.lx-stack.mini .b1{bottom:6px}.lx-stack.mini .b2{bottom:34px}.lx-stack.mini .b3{bottom:62px}

.lx-set{padding:4px 18px;margin-bottom:10px}.lx-set>summary{display:flex;align-items:center;gap:10px;padding:12px 0;cursor:pointer;list-style:none}.lx-set>summary::-webkit-details-marker{display:none}
.lx-set>summary em{margin-left:auto;font-style:normal;font-size:22px;color:#6d4aff;transition:transform .2s}.lx-set[open]>summary em{transform:rotate(90deg)}.lx-set[open]{padding-bottom:16px}
.lx-storage{display:block;text-align:center;margin:6px 0 20px}
@media(prefers-reduced-motion:reduce){.lx-hero::before,.lx-stack,.lx-orb{animation:none}}
@media(max-width:520px){.lx-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;padding:14px 10px 20px}.lx-book{width:80%}.lx-ttl{font-size:12px}.lx-read{font-size:12px;padding:8px 4px}.lx-ic{width:32px;height:32px}}
