@font-face{font-family:Barlow Condensed;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2")}:root{--bg:#f6f4ee;--surface:#fff;--text:#14234b;--muted:#5b6886;--line:#dce2ee;--accent:#e0243c;--accent-ink:#fff;--side:#14234b;--side-text:#fff;--side-muted:#c9d2ea;--hero:#081230;--hero-text:#fff;--ok:#1e8a55;--ko:#b3261e;--radius:14px;--font:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--mono:"IBM Plex Mono", Consolas, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.5 var(--font);margin:0}h1,h2,h3{margin:0}h1,h2,h3,.k,.num,.brand-name,.logo,th{font-family:var(--display)}h1,h2,h3,.num,.logo{font-weight:700}.num,.count,.chapters button span,.tag.num{font-family:var(--mono);font-weight:500}.mod-title,.brand-lg h1{font-family:var(--display);font-size:21px}a{color:var(--accent)}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.k{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.mt{margin-top:12px}.h{margin:6px 0 8px;font-size:clamp(26px,5vw,36px);line-height:1.1}.big{margin:.4em 0;font-size:clamp(18px,3.4vw,22px);line-height:1.35}.error{color:var(--ko);font-weight:600}.splash{min-height:100vh;color:var(--muted);place-items:center;display:grid}.btn{border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--text);border-color:var(--line);background:0 0}.btn.block{width:100%;margin-top:12px}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;min-height:24px;padding:0;text-decoration:underline}.link.inv{color:var(--side-muted);font-size:13px}input,select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:0 12px}.field{margin:14px 0 0;font-size:14px;font-weight:600;display:block}.field input,.field select{margin-top:6px}.check{align-items:flex-start;gap:10px;margin-top:14px;font-size:14px;display:flex}.check input{width:22px;min-height:22px;margin-top:2px}.row{align-items:center;gap:10px;margin:10px 0;display:flex}.row.wrap{flex-wrap:wrap}.row input{flex:180px}.login{background-image:var(--wallpaper,none);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;width:100%;max-width:440px;padding:26px}.brand-lg{align-items:center;gap:14px;margin-bottom:6px;display:flex}.brand-lg h1{font-size:22px;line-height:1.15}.brand-lg p{color:var(--muted);margin:2px 0 0;font-size:14px}.logo{background:var(--accent);min-width:46px;height:46px;color:var(--accent-ink);letter-spacing:.04em;border-radius:12px;place-items:center;padding:0 8px;font-weight:800;display:grid}.logo.sm{min-width:34px;height:34px;font-size:13px}.space-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px;display:grid}.space-card{background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--card-accent,var(--accent));border-radius:16px;align-content:start;gap:12px;padding:18px;display:grid}.space-card h3{margin:0;font-size:18px;line-height:1.2}.space-card p{margin:2px 0 0;font-size:14px}.space-logo{background:var(--card-accent,var(--accent));min-width:48px;height:48px;color:var(--card-ink,var(--accent-ink));letter-spacing:.04em;border-radius:12px;place-items:center;padding:0 8px;font-weight:800;display:grid}.login-card.demo{max-width:620px}.login-card.demo h2{margin:0 0 4px;font-size:18px}.demo-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:12px;display:grid}.demo-btn{text-align:left;background:var(--bg);border:1px solid var(--line);cursor:pointer;font:inherit;color:inherit;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.demo-btn:hover{border-color:var(--accent)}.demo-btn small{color:var(--muted)}.demo-btn .pill{background:var(--accent);color:var(--accent-ink);border-radius:999px;justify-self:start;padding:1px 8px;font-size:12px}.devnote{background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:8px 12px;font-size:14px}.foot,.signature{color:var(--muted);font-size:12px}.shell{min-height:100vh}.topbar{z-index:20;background:var(--side);color:var(--side-text);align-items:center;gap:10px;padding:8px 12px;display:flex;position:sticky;top:0}.menu-btn{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:22px}.side{z-index:15;background:var(--side);color:var(--side-text);flex-direction:column;gap:14px;padding:16px;display:none;position:fixed;top:52px;bottom:0;left:0;right:0;overflow:auto}.side.open{display:flex}.side .brand{display:none}.side ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.side ul button{text-align:left;width:100%;min-height:46px;color:var(--side-text);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 14px;font-weight:600}.side ul button.on{background:var(--accent);color:var(--accent-ink)}.side .field,.side-check{color:var(--side-muted)}.side select{color:var(--side-text);background:#ffffff14;border-color:#fff3}.side select option{color:#111}.who{background:#ffffff12;border-radius:12px;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.avatar{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.signature{color:var(--side-muted);text-align:center}.content{max-width:1100px;margin:0 auto;padding:16px}@media (min-width:900px){.topbar{display:none}.side{width:270px;display:flex;top:0;bottom:0;left:0;right:auto}.side .brand{align-items:center;gap:12px;padding:4px 4px 8px;display:flex}.brand-name{font-weight:800;line-height:1.15}.brand-sub{color:var(--side-muted);font-size:12px}.content{max-width:none;margin-left:270px;padding:28px 36px}.content>*{max-width:1240px}}.hero{background:var(--hero);background-image:var(--hero-image,none);color:var(--hero-text);border-radius:var(--radius);background-position:50%;background-size:cover;margin-bottom:16px;padding:24px;overflow:hidden}.hero h1{margin:6px 0;font-size:clamp(28px,6vw,40px)}.hero p{opacity:.85;margin:0 0 14px}.hero .k{color:var(--hero-text);opacity:.7}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card.pad{margin:12px 0;padding:18px}.card.pad>h2.k{margin-bottom:14px}.kpi{border-top:3px solid var(--accent);padding:16px}.num{font-size:40px;font-weight:800;line-height:1.1}.prog-row{margin:14px 0}.prog-head{justify-content:space-between;display:flex}progress{-webkit-appearance:none;appearance:none;background:var(--line);border:0;border-radius:5px;width:100%;height:10px;overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.tabs{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.tabs button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:44px;padding:0 16px;font-weight:600}.tabs button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.mod{text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:16px;display:flex}.mod:hover{border-color:var(--accent)}.mod-title{font-size:17px;font-weight:700;line-height:1.25}.tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tag{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.dossier{border-top:1px solid var(--line);margin:14px 0;padding-top:12px}.doclist{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.tag.late{background:color-mix(in srgb,var(--ko) 14%,transparent);color:var(--ko);border-color:#0000}.tag.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok);border-color:#0000}.tag.off{opacity:.8;font-style:italic}.tag.inline{margin:8px 0}.empty{text-align:center;padding:40px 18px}.big-ico{color:var(--accent);font-size:40px}.tbl-wrap{margin:12px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:520px}th{letter-spacing:.1em;text-transform:uppercase;text-align:left;border-bottom:2px solid var(--line);color:var(--muted);padding:10px 14px;font-size:12px}td{border-bottom:1px solid var(--line);padding:12px 14px}.ex-list{margin:0;padding:0;list-style:none}.fb{border:1px solid #0000;border-radius:10px;margin:10px 0 0;padding:10px 14px}.fb.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.fb.ko{background:color-mix(in srgb,var(--ko) 10%,transparent);color:var(--ko)}.pdf{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;height:min(80vh,780px)}.player .stage{border-radius:var(--radius);aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.player video{background:#000;width:100%;height:100%;display:block}.overlay{color:#fff;background:#081230;place-items:center;padding:14px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.ov-body{width:min(620px,100%)}.overlay .k{color:#fff;opacity:.7}.overlay input{color:#111;background:#fff}.overlay .fb.ok{color:#a8f5cc;background:#0f3d2b;border-color:#1e7a52}.overlay .fb.ko{color:#ffd0d7;background:#4a1520;border-color:#8f2a3c}.overlay .fb button{margin-top:10px}.overlay .btn.ghost{color:#fff;border-color:#fff6}.count{color:var(--accent);margin:6px 0;font-size:56px;font-weight:800}.bar-tools{flex-wrap:wrap;align-items:end;gap:16px;margin:12px 0;display:flex}.bar-tools label{gap:4px;font-size:13px;font-weight:600;display:grid}.bar-tools select{min-width:130px}.cols{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:800px){.cols{grid-template-columns:1fr 1fr}}.chapters{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.chapters button{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;display:flex}.chapters button span{font-variant-numeric:tabular-nums;color:var(--muted);min-width:40px}.chapters button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.notes{margin:8px 0;padding:0;list-style:none}.notes li{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;padding:8px 0;display:flex}.notes .x{color:var(--muted);cursor:pointer;background:0 0;border:0;min-width:32px;min-height:32px;margin-left:auto;font-size:20px}@media (prefers-reduced-motion:no-preference){.btn,.card{transition:border-color .15s,background .15s}}.dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;display:inline-block}.plain{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.chip{cursor:pointer;font:inherit;font-size:12px}.lvl{align-items:center;gap:8px;font-size:14px;display:flex}.lvl select{width:auto;min-width:150px}textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:10px 12px}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.day{min-height:150px;padding:10px}.day.today{border:2px solid var(--accent)}.day h2{margin-bottom:8px}.slot{border-left:4px solid var(--accent);background:var(--bg);border-radius:8px;margin:6px 0;padding:6px 8px;font-size:13px}.slot.revision{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}@media (max-width:1100px){.week{grid-template-columns:1fr}.day{min-height:0}}.note{border-left:3px solid var(--accent);margin:14px 0;padding:2px 0 2px 12px}.note p{white-space:pre-wrap;margin:4px 0}.chap{gap:10px;margin:10px 0;padding:0;list-style:none;display:grid}.chap li{border-bottom:1px solid var(--line);padding-bottom:10px}.quiz .big{font-size:22px}.quiz textarea{margin:10px 0}.row select{flex:170px;width:auto;min-width:0}.row input[type=date],.row input[type=time]{flex:0 170px}.row textarea{flex:300px}.hero .row.wrap{align-items:center}fieldset{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:10px 14px}legend{padding:0 6px;font-weight:600}.passage{background:var(--bg);border-left:4px solid var(--accent);border-radius:8px;margin:12px 0;padding:10px 16px}.passage p{margin:6px 0}.audio-box{border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:12px 14px}.audio-box audio{width:100%;margin-top:8px}.assess textarea{margin:10px 0}.q .check,.rubric fieldset{margin:8px 0}.spark{align-items:flex-end;gap:4px;height:56px;margin:8px 0;display:flex}.spark .bar{background:var(--accent);border-radius:3px 3px 0 0;flex:1;min-width:8px}details{margin:10px 0}summary{cursor:pointer;font-weight:600}.skills legend{font-size:14px}.skills input[type=checkbox],.rubric input[type=radio],.q input[type=radio]{flex:0 0 22px;width:22px;min-height:22px;margin:0}.skills .check{align-items:center}.row .field{flex:200px;margin:6px 0}.level-banner{border-radius:var(--radius);color:#fff;background:var(--hero);min-height:150px;margin:12px 0 16px;padding:22px;position:relative;overflow:hidden}.level-banner img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.level-banner>div{max-width:520px;position:relative}.level-banner h2{font-family:var(--display);margin:2px 0 6px;font-size:clamp(24px,5vw,32px);line-height:1.1}.level-banner p{opacity:.92;margin:0 0 10px;font-size:15px}.level-banner .k{color:#fff;opacity:.8}.level-banner progress{width:100%;max-width:340px}.kind-ico{color:#fff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:inline-grid}.kind-ico svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.mod-head{align-items:center;gap:10px;display:flex}.secure-pdf{-webkit-user-select:none;user-select:none}.secure-bar{z-index:5;background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex;position:sticky;top:0}.secure-pages{background:var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:14px;padding:14px;display:flex;overflow:auto}.secure-page{-webkit-user-drag:none;background:#fff;border-radius:4px;max-width:none;box-shadow:0 2px 14px #0000002e}.secure-note{margin-top:8px;font-size:13px}@media print{.secure-pdf,.shell{display:none!important}body:before{content:"Impression non autorisée : les supports de cours se lisent dans SAVIX.";padding:40px;font:16px sans-serif;display:block}}.side ul button{align-items:center;gap:12px;display:flex}.ico{opacity:.9;flex:none;place-items:center;width:24px;font-size:17px;display:inline-grid}.side-profile{width:100%;color:var(--side-text);text-align:left;cursor:pointer;font:inherit;background:#ffffff12;border:0;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.side-profile:hover{background:#ffffff1f}.avatar.photo{object-fit:cover;border:2px solid var(--accent);width:56px;height:56px}.side-profile .avatar{width:56px;height:56px;font-size:18px}.sp-info{flex:1;min-width:0}.sp-name{overflow-wrap:anywhere;font-weight:800;line-height:1.2}.sp-id{color:var(--side-muted);letter-spacing:.04em;font-size:12px}.sp-row{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:8px;width:100%;padding-top:10px;display:flex}.sp-tag{text-transform:uppercase;letter-spacing:.05em;color:#33445f;background:#fff;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:800}.sp-tag.ok{background:var(--ok,#4fcf8b);color:#06210f}.sp-tag.info{background:var(--accent);color:var(--accent-ink)}.sp-balance{font-size:17px;font-weight:800}.side-toggle{display:none}.who .link{color:var(--side-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:6px 4px;display:flex}.signature small{opacity:.85;margin-top:4px;font-size:11px;display:block}@media (min-width:900px){.side{transition:width .18s}.content{transition:margin-left .18s}.side-toggle{background:var(--side);width:28px;height:28px;color:var(--side-text);cursor:pointer;z-index:2;border:1px solid #ffffff40;border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;top:14px;right:-14px}.side{overflow:visible}.side ul{overflow:auto}.side.collapsed{width:76px;padding:16px 10px}.side.collapsed .brand>div:last-child,.side.collapsed .side-field,.side.collapsed .side-check,.side.collapsed .signature,.side.collapsed .lbl{display:none}.side.collapsed .brand{justify-content:center}.side.collapsed ul button{justify-content:center;padding:0}.side.collapsed .side-profile{justify-content:center;padding:8px}.side.collapsed .who .link{justify-content:center;width:100%}.shell.side-collapsed .content{margin-left:76px}}.signature .unlicensed{color:var(--accent);margin-top:6px;font-weight:700}.foot{text-align:center}.side{overflow:hidden auto}.side>*{flex-shrink:0}.side ul{overflow:visible}.side-profile{gap:10px;padding:10px 12px}.sp-row{padding-top:8px}.signature small{font-size:10.5px;line-height:1.3}.side ul button{min-height:40px}@media (min-width:900px){.side{overflow:hidden auto}.side-toggle{position:fixed;top:14px;left:256px;right:auto}.side.collapsed .side-toggle{left:62px}.side.collapsed{overflow-x:hidden}}.content{background-image:var(--user-wallpaper,none);background-attachment:fixed}[data-wall=points] .content,[data-wall=vagues] .content,[data-wall=nuit] .content{background-repeat:repeat}[data-wall=aurore] .content{background-repeat:no-repeat;background-size:cover}[data-calm="1"] *,[data-calm="1"] :before{scroll-behavior:auto!important;transition:none!important;animation:none!important}.prefs fieldset{border:0;margin:14px 0;padding:0}.prefs legend{margin-bottom:6px;padding:0;font-weight:700}.seg{flex-wrap:wrap;gap:6px;display:inline-flex}.seg button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;font:inherit;border-radius:10px;padding:0 14px}.seg button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{border:3px solid var(--surface);width:38px;height:38px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%}.swatch.on{box-shadow:0 0 0 3px var(--text)}.walls{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.wall{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;text-align:center;border-radius:12px;gap:6px;padding:6px;display:grid}.wall.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.wall-sample{border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:8px;height:54px;display:block}.lang-switch .on{font-weight:800;text-decoration:underline}.foot .link{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}.vgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px 16px;margin-top:12px;display:grid}.vcard{flex-direction:column;gap:8px;min-width:0;display:flex}.vthumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--hero),color-mix(in srgb,var(--accent) 40%,var(--hero)));cursor:pointer;border:0;border-radius:12px;width:100%;padding:0;transition:transform .18s,box-shadow .18s;display:block;position:relative;overflow:hidden}.vthumb:hover{z-index:2;transform:scale(1.03);box-shadow:0 10px 26px #00000047}.vthumb:focus-visible{z-index:2;transform:scale(1.03);box-shadow:0 10px 26px #00000047}.vthumb img,.vthumb video{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.vthumb video{opacity:0;transition:opacity .25s}.vthumb video.on{opacity:1}.vfallback{place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.vfallback>*{transform:scale(1.6)}.vlevel,.vdur,.vlock,.vdone{color:#fff;background:#000000b8;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;position:absolute}.vlevel{background:var(--accent);color:var(--accent-ink);top:8px;left:8px}.vdur{bottom:8px;right:8px}.vlock{bottom:8px;left:8px}.vdone{background:var(--ok,#1f9d6b);top:8px;right:8px}.vplay{color:#fff;text-shadow:0 2px 10px #0009;opacity:0;place-items:center;font-size:30px;transition:opacity .18s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.vthumb:hover .vplay{opacity:.9}.vbar{background:var(--accent);height:4px;position:absolute;bottom:0;left:0}.vmeta{min-width:0}.vtitle{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;-webkit-line-clamp:2;background:0 0;border:0;-webkit-box-orient:vertical;padding:0;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.vtitle:hover{text-decoration:underline}.vmeta .muted{font-size:13px}.landing{background:var(--bg);min-height:100vh;color:var(--text);background-image:radial-gradient(1200px 500px at 50% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent);flex-direction:column;display:flex}.l-nav{z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:12px clamp(16px,5vw,56px);display:flex;position:sticky;top:0}.l-brand{align-items:center;gap:10px;display:flex}.l-brand .logo{width:38px;height:38px;font-size:15px}.l-nav nav{gap:6px;margin-left:12px;display:flex}.l-nav nav .link{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;padding:8px 10px}.l-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.l-hero{width:100%;max-width:1100px;margin:0 auto;padding:clamp(40px,9vw,110px) clamp(16px,5vw,56px) clamp(28px,5vw,56px)}.l-hero h1{max-width:880px;margin:0 0 16px;font-size:clamp(32px,6vw,58px);line-height:1.05}.l-hero p{max-width:720px;color:var(--muted);margin:0 0 22px;font-size:clamp(16px,2vw,20px)}.l-points{color:var(--muted);flex-wrap:wrap;gap:10px 22px;margin:26px 0 0;padding:0;list-style:none;display:flex}.l-points li:before{content:"✓ ";color:var(--accent);font-weight:800}.l-section{width:100%;max-width:1100px;margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,5vw,56px);scroll-margin-top:70px}.l-section h2{margin:0 0 8px;font-size:clamp(24px,3.4vw,34px)}.l-offers{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:16px;display:grid}.l-offer{border:1px solid var(--line);border-top:4px solid var(--card-accent,var(--line));background:var(--surface);border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;display:flex}.l-offer h3{margin:0;font-size:18px}.l-offer p{flex:1;margin:0}.l-ico{background:color-mix(in srgb,var(--accent) 18%,transparent);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;font-size:20px;display:inline-grid}.l-needs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:18px;display:grid}.l-need{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;transition:transform .15s,border-color .15s;display:flex}.l-need:hover{border-color:var(--accent);transform:translateY(-3px)}.l-need:focus-visible{border-color:var(--accent);transform:translateY(-3px)}.l-need strong{font-size:18px;line-height:1.25}.l-go{color:var(--accent);margin-top:auto;font-weight:700}.l-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:auto;padding:22px clamp(16px,5vw,56px);font-size:13px;display:flex}.l-foot .link{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:10px}.lp{background:var(--bg);min-height:100vh;color:var(--text);background-image:radial-gradient(1000px 420px at 70% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent);flex-direction:column;display:flex}.lp-nav{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:12px clamp(16px,4vw,48px);display:flex}.lp-nav .l-actions{margin-left:auto}.lp-main{flex:1;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(20px,3.5vw,56px);padding:clamp(14px,2.5vh,32px) clamp(16px,4vw,48px);display:grid}.lp-intro h1{margin:0 0 12px;font-size:clamp(28px,3.6vw,50px);line-height:1.06}.lp-intro>p{color:var(--muted);max-width:560px;margin:0 0 18px;font-size:clamp(15px,1.4vw,18px)}.lp-login{gap:8px;margin-bottom:16px;display:grid}.lp-chips{flex-wrap:wrap;gap:8px;display:flex}.lp-chip{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.lp-chip:hover{border-color:var(--chip,var(--accent))}.lp-chip:focus-visible{border-color:var(--chip,var(--accent))}.lp-dot{background:var(--chip,var(--accent));border-radius:50%;width:10px;height:10px}.lp-needs h2{margin:0 0 10px;font-size:clamp(18px,2vw,24px)}.lp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lp-tile{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;border-radius:14px;flex-direction:column;gap:8px;padding:14px;transition:transform .15s,border-color .15s;display:flex}.lp-tile:hover{border-color:var(--accent);transform:translateY(-2px)}.lp-tile:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.lp-tile .l-ico{width:34px;height:34px;font-size:17px}.lp-tile-body{flex:1;gap:3px;display:grid}.lp-tile-body strong{font-size:clamp(14px,1.25vw,16px);line-height:1.25}.lp-tile-body .muted{font-size:clamp(12px,1.05vw,13.5px);line-height:1.35}.lp-tile-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lp-tile-foot .l-go{font-size:13px}.lp-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px clamp(16px,4vw,48px);font-size:12px;display:flex}.lp-foot .link{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}@media (min-width:900px) and (min-height:520px){.lp{height:100vh;overflow:hidden}}@media (max-width:899px){.lp-main,.lp-grid{grid-template-columns:1fr}}@media (min-width:900px) and (max-height:760px){.lp-nav{padding:8px clamp(16px,4vw,48px)}.lp-main{gap:clamp(16px,3vw,40px);padding-top:8px;padding-bottom:8px}.lp-intro h1{margin-bottom:8px;font-size:clamp(24px,3vw,38px)}.lp-intro>p{margin-bottom:10px;font-size:14px}.lp-login{margin-bottom:8px}.l-points{display:none}.lp-needs h2{margin-bottom:6px}.lp-grid{gap:8px}.lp-tile{gap:4px;padding:9px 11px}.lp-tile .l-ico{width:28px;height:28px;font-size:14px}.lp-tile-body .muted{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lp-foot{padding:6px clamp(16px,4vw,48px)}}@media (min-width:1500px) and (min-height:900px){.lp-intro h1{font-size:clamp(44px,3.4vw,64px)}.lp-intro>p{max-width:620px;font-size:20px}.lp-chip{min-height:46px;font-size:17px}.lp-needs h2{font-size:28px}.lp-grid{gap:16px}.lp-tile{gap:12px;padding:20px}.lp-tile .l-ico{width:42px;height:42px;font-size:21px}.lp-tile-body strong{font-size:19px}.lp-tile-body .muted{font-size:15.5px}.lp-tile-foot .l-go{font-size:15px}.l-points{font-size:17px}}.preview-bar{z-index:30;background:var(--accent);color:var(--accent-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:-16px -16px 14px;padding:10px 16px;font-size:14px;display:flex;position:sticky;top:0}.preview-bar select{color:#14213a;background:#ffffffe6;border:0;border-radius:8px;min-height:36px;padding:0 8px}.preview-bar .btn{color:#fff;background:#14213a;min-height:36px}@media (min-width:900px){.preview-bar{margin:-28px -36px 16px;padding:10px 36px}}.avail-grid{grid-template-columns:minmax(80px,1fr) repeat(3,minmax(70px,1fr));align-items:center;gap:6px 10px;max-width:460px;margin:8px 0;display:grid}.avail-grid strong{text-align:center;font-size:13px}.avail-cell{justify-content:center;align-items:center;min-height:40px;display:flex}.avail-cell input{width:22px;height:22px}.grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 14px;display:grid}.grid2 legend{grid-column:1/-1}.gsearch{align-items:center;width:100%;display:flex;position:relative}.gs-ico{opacity:.7;pointer-events:none;font-size:19px;position:absolute;left:12px}.gsearch input[type=search]{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:12px;padding:0 12px 0 38px}.gs-list{z-index:60;background:var(--surface);max-height:60vh;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:4px 0;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #00000047}.gs-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 12px 2px;font-size:11px}.gs-item{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:8px 12px;display:flex}.gs-item.on{background:color-mix(in srgb,var(--accent) 20%,transparent)}.gs-t{font-weight:600}.gs-s{color:var(--muted);font-size:12px}.gs-empty{color:var(--muted);padding:12px}.top-search{max-width:680px;margin:0 0 16px}.side-search{margin:8px 0}.side-search .gsearch input[type=search]{color:var(--side-text);background:#ffffff14;border-color:#ffffff2e}.side-search .gsearch input::placeholder{color:var(--side-muted)}.side-search .gs-list{max-height:40vh;box-shadow:none;margin-top:6px;position:static}.side-search-btn{width:44px;height:44px;color:var(--side-text);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:12px;margin:8px auto;font-size:20px;display:block}:root{--side-w:304px;--side-w-c:88px}.side{background:linear-gradient(180deg,var(--side) 0%,color-mix(in srgb,var(--side) 84%,#000) 100%);border-right:1px solid #ffffff12;gap:16px;padding:18px;font-size:16px}.side-head{display:none}.side ul{gap:6px}.side ul button{letter-spacing:.005em;border-radius:12px;gap:14px;min-height:52px;padding:0 14px;font-size:17px;font-weight:600}.side ul button .ico{opacity:1;width:28px;font-size:21px}.side ul button.on{box-shadow:0 6px 18px #00000047}.side ul button:hover:not(.on){background:#ffffff1c}.side .brand-name{font-size:19px}.side .brand-sub{font-size:14px}.side .logo{min-width:50px;height:50px;font-size:17px}.side .field,.side-check{font-size:14.5px}.side select{min-height:44px;font-size:16px}.side-profile{padding:14px}.side-profile .avatar,.avatar.photo{width:52px;height:52px;font-size:17px}.sp-name{font-size:17px}.sp-id{font-size:14px}.sp-tag{font-size:12.5px}.sp-balance,.who .link{font-size:16px}.signature{font-size:13px}.signature small{font-size:12px}.top-fold{display:none}@media (min-width:900px){.side{width:var(--side-w)}.content{margin-left:var(--side-w)}.side-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.side-head .brand{flex:1;min-width:0;padding:0}.side-fold{width:44px;height:44px;color:var(--side-text);cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:12px;flex:none;place-items:center;font-size:22px;display:grid}.side-fold:hover{background:#ffffff2e}.side-toggle{display:none!important}.side.collapsed{width:var(--side-w-c);padding:18px 12px}.side.collapsed .side-head{flex-direction:column;gap:14px}.side.collapsed .side-head .brand{flex:none}.side.collapsed .side-head .brand>div:last-child{display:none}.side.collapsed ul button{justify-content:center}.side.collapsed ul button .ico{width:auto;font-size:24px}.shell.side-collapsed .content{margin-left:var(--side-w-c)}.top-search{align-items:center;gap:10px;display:flex}.top-search .gsearch{flex:1}.top-fold{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--text);cursor:pointer;border-radius:12px;flex:none;place-items:center;font-size:20px;display:grid}.top-fold:hover{border-color:var(--accent)}}.side{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent}
