@font-face{font-family:Inter;src:url(/fonts/Inter.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono.woff2)format("woff2");font-weight:400;font-display:swap}:root{--bg:#0e110f;--surface:#171d19;--elevated:#212a24;--ink:#f5f4ec;--muted:#aeb6ae;--yellow:#f1d94e;--yellow-hover:#dac13a;--on-yellow:#15180f;--sage:#a9c9b7;--green:var(--sage);--danger:#e4a69b;--line:#f5f4ec1f;--line-strong:#f5f4ec38;--soft:#1c231e;--pale:#f1d94e24;--green-pale:#a9c9b724;--danger-pale:#e4a69b24;--glass:#19201be6;--backdrop:#0000009e;--shadow:0 12px 32px #0000002e;--shadow-lift:0 16px 40px #00000052;--halo:radial-gradient(60% 80% at 85% 0%, #f1d94e14, transparent 70%);--ivoire:var(--bg);--encre:var(--ink);--jaune:var(--yellow);--jaune-doux:var(--pale);--vert:var(--green);--gris:var(--muted);--blanc:var(--surface);--bordure:var(--line);--font:"Inter", system-ui, sans-serif;--font-serif:var(--font);--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--scale:1;--body:16px;--reading:calc(17px * var(--scale));--reading-lh:1.6;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:48px;--s10:64px;--pad:24px;--r-control:16px;--r-card:20px;--r-feature:20px;--r-sheet:28px;--r-nav:28px;--r-pill:999px;--rayon:var(--r-card);--marge:var(--pad);--cible:44px;--cible-ideale:48px;--btn-h:48px;--header:64px;--bottomnav:72px;--rootnav:84px;--readerbar:84px;--rail:84px;--sidebar:0px;--t-press:.11s;--t-release:.16s;--t-route:.2s;--t-tab:.18s;--t-panel:.24s;--t-loop:1.8s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (max-width:359px){:root{--pad:16px}}:root[data-mode=light]{--bg:#f5f4ec;--surface:#fff;--elevated:#efeee6;--ink:#1b1f1c;--muted:#565c56;--yellow:#f1d94e;--yellow-hover:#dac13a;--on-yellow:#15180f;--sage:#3f6b55;--danger:#a23b2a;--line:#1b1f1c1f;--line-strong:#1b1f1c3d;--soft:#ebeae2;--pale:#faefb4;--green-pale:#e3ede6;--danger-pale:#f7e4e0;--glass:#ffffffeb;--backdrop:#1b1f1c6b;--shadow:0 12px 32px #1b1f1c1a;--shadow-lift:0 16px 40px #1b1f1c29;--halo:radial-gradient(60% 80% at 85% 0%, #f1d94e2e, transparent 70%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-mode=dark]):not([data-mode=light]){--bg:#f5f4ec;--surface:#fff;--elevated:#efeee6;--ink:#1b1f1c;--muted:#565c56;--yellow:#f1d94e;--yellow-hover:#dac13a;--on-yellow:#15180f;--sage:#3f6b55;--danger:#a23b2a;--line:#1b1f1c1f;--line-strong:#1b1f1c3d;--soft:#ebeae2;--pale:#faefb4;--green-pale:#e3ede6;--danger-pale:#f7e4e0;--glass:#ffffffeb;--backdrop:#1b1f1c6b;--shadow:0 12px 32px #1b1f1c1a;--shadow-lift:0 16px 40px #1b1f1c29;--halo:radial-gradient(60% 80% at 85% 0%, #f1d94e2e, transparent 70%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-text=petit]{--scale:.92}:root[data-text=grand]{--scale:1.12}:root[data-text=tres-grand]{--scale:1.25}:root[data-contrast=fort]{--muted:#d6dbd4;--line:#f5f4ec57}:root[data-contrast=fort][data-mode=light]{--muted:#3a3f3a;--line:#1b1f1c66}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + var(--s3))}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);font-size:var(--body);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.5;overflow-x:hidden}img,svg,video,canvas{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:8px}[hidden]{display:none!important}h1,h2,h3,p,figure,blockquote{margin:0}h1{letter-spacing:-.9px;margin:var(--s2) 0 var(--s2);overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;text-wrap:balance;font-size:32px;font-weight:600;line-height:36px}h2{letter-spacing:-.4px;margin:var(--s3) 0;font-size:22px;font-weight:600;line-height:28px}h3{letter-spacing:-.2px;margin:var(--s3) 0 var(--s2);font-size:17px;font-weight:600;line-height:23px}p{margin:0 0 var(--s4)}p:last-child{margin-bottom:0}a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover,:root[data-contrast=fort] a{text-decoration-thickness:2px}code,kbd,.mono{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.92em}.num{font-variant-numeric:tabular-nums}.lead,.lede{color:var(--muted);margin:0 0 var(--s6);font-size:16px;line-height:24px}.muted{color:var(--muted)}.small{font-size:13px;line-height:18px}.micro{font-size:11px;line-height:16px}.center{text-align:center}.eyebrow,.sectionlabel{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:var(--s6) 0 var(--s3);font-size:11px;font-weight:600;line-height:16px;display:block}.eyebrow:first-child,.sectionlabel:first-child{margin-top:var(--s2)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--s2);z-index:100;background:var(--ink);color:var(--bg);padding:var(--s2) var(--s4);border-radius:10px;position:absolute;top:-100px}.skip-link:focus{top:var(--s2)}@keyframes route-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes panel-in{0%{opacity:.4;transform:translate(32px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.18)}to{transform:scale(1)}}@keyframes celebrate{0%{transform:scale(.9)rotate(-4deg)}45%{transform:scale(1.08)rotate(2deg)}to{transform:none}}@keyframes pulse-ring{0%{box-shadow:0 0 #f2d94eb3}to{box-shadow:0 0 0 12px #f2d94e00}}@keyframes shimmer{0%{background-position:-320px 0}to{background-position:320px 0}}@keyframes breathe{0%,to{transform:translateY(0);box-shadow:0 0 #f2d94e00}50%{transform:translateY(-4px);box-shadow:0 10px 26px #f2d94e59}}@keyframes page-turn{0%,12%{opacity:1;transform:rotateY(0)}45%{opacity:.85;transform:rotateY(-165deg)}55%,to{opacity:0;transform:rotateY(-180deg)}}@keyframes highlight-sweep{0%{transform:scaleX(.05)}55%{transform:scaleX(1)}80%,to{opacity:.25;transform:scaleX(1)}}@keyframes line-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes stripes{0%{background-position:0 0}to{background-position:28px 0}}@keyframes wiggle{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.page-enter{animation:route-in var(--t-route) var(--ease-out) backwards}.stagger>*{animation:rise-in var(--t-route) var(--ease-out) backwards}.stagger>:nth-child(2){animation-delay:30ms}.stagger>:nth-child(3){animation-delay:60ms}.stagger>:nth-child(n+4){animation-delay:90ms}.skeleton{background:linear-gradient(90deg, var(--surface) 0, var(--elevated) 120px, var(--surface) 240px);color:#0000;background-size:640px 100%;border-radius:12px;animation:1.2s linear infinite shimmer;display:block}.skeleton-title{width:72%;height:34px;margin:var(--s3) 0 var(--s4)}.skeleton-line{height:14px;margin:10px 0}.skeleton-line.short{width:58%}.skeleton-card{border-radius:var(--r-card);height:120px;margin:var(--s5) 0}.skeleton-row{height:64px;margin:6px 0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}:root[data-motion=reduit] *,:root[data-motion=reduit] :before,:root[data-motion=reduit] :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}
.app{min-height:100dvh}.app-content{min-width:0}.appbar{z-index:15;align-items:center;gap:var(--s1);min-height:calc(var(--header) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--s3) 0;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);transition:border-color var(--t-route) ease;border-bottom:1px solid #0000;display:flex;position:sticky;top:0}.appbar.scrolled{border-bottom-color:var(--line)}.appbar-end{align-items:center;gap:var(--s1);margin-left:auto;display:flex}.appbar .avatar{width:34px;height:34px;font-size:12px}.brand{color:var(--ink);align-items:center;gap:9px;line-height:1;text-decoration:none;display:inline-flex}.brand b{letter-spacing:-1.3px;font-size:25px;font-weight:760}.brand-link{min-height:var(--cible);padding:0 var(--s2);border-radius:12px;align-items:center;text-decoration:none;display:inline-flex}.ib{width:var(--cible);height:var(--cible);flex:0 0 var(--cible);border-radius:var(--r-control);color:var(--ink);transition:background var(--t-press) ease, transform var(--t-press) var(--ease-spring);background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:inline-grid}.ib:hover{background:var(--soft)}.ib:active{transform:scale(.92)}.ib[aria-current=page]{background:var(--pale)}.page{width:100%;max-width:760px;padding:var(--s2) var(--pad) var(--s8);min-width:0;margin:0 auto}.page-wide{max-width:1040px}.with-fab{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.drawer-panel{gap:var(--s1);height:100%;min-height:0;padding:var(--s3) var(--s3) var(--s4);flex-direction:column;display:flex}.drawer-head{align-items:center;gap:var(--s1);min-height:var(--cible);margin-bottom:var(--s2);display:flex}.drawer-nav{gap:2px;display:grid}.drawer-link{align-items:center;gap:var(--s3);min-height:46px;padding:0 var(--s3);color:var(--ink);transition:background var(--t-press) ease, transform var(--t-press) var(--ease-spring);border-radius:14px;font-size:15px;font-weight:560;text-decoration:none;display:flex}.drawer-link:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);text-decoration:none}.drawer-link:active{transform:scale(.98)}.drawer-link[aria-current=page]{background:var(--pale);font-weight:680}.drawer-link .icon{width:20px;height:20px;color:var(--green);flex:none}.drawer-title{margin:var(--s4) var(--s3) var(--s1);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:720;text-decoration:none;display:flex}.drawer-title:hover{color:var(--ink);text-decoration:none}.drawer-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.drawer-list a{align-items:center;gap:var(--s2);min-height:42px;padding:0 var(--s3);color:var(--ink);border-radius:12px;font-size:14px;text-decoration:none;display:flex}.drawer-list a:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);text-decoration:none}.drawer-list a[aria-current=page]{background:var(--pale);font-weight:650}.drawer-list .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.drawer-list .dot{background:var(--yellow);border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s ease-in-out infinite breathe}.drawer-list .dot.ko{background:var(--danger);animation:none}.drawer-empty{margin:var(--s2) var(--s3);color:var(--muted);font-size:13px}.drawer-foot{border-top:1px solid var(--line);padding-top:var(--s2);margin-top:var(--s2)}.drawer-foot .drawer-link{font-size:13px;font-weight:500}.drawer-foot .drawer-link span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}dialog.drawer{background:var(--soft);max-width:none;max-height:none;color:var(--ink);border:0;margin:0;padding:0}dialog.drawer[open]{width:min(320px,86vw);height:100dvh;padding-top:env(safe-area-inset-top);box-shadow:var(--shadow-lift);animation:drawer-in var(--t-panel) var(--ease-out) both;border-radius:0 20px 20px 0;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}dialog.drawer::backdrop{background:var(--backdrop);animation:fade-in var(--t-panel) ease both}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}.sidebar{display:none}.fab{right:var(--s4);bottom:calc(var(--s5) + env(safe-area-inset-bottom));z-index:20;align-items:center;gap:var(--s2);background:var(--yellow);height:58px;color:var(--on-yellow);animation:pop .42s var(--ease-spring) both;transition:transform var(--t-press) var(--ease-spring), background var(--t-press) ease;border-radius:20px;padding:0 22px 0 18px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 10px 26px #20211f38}.fab:hover{background:var(--yellow-hover);text-decoration:none}.fab:active{transform:scale(.95)}.fab .icon{width:24px;height:24px}@media (max-width:379px){.fab{justify-content:center;width:58px;padding:0}.fab .fab-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}:is(.app:has(.reader-immersive) .appbar,.app:has(.reader-immersive) .sidebar,.app:has(.reader-immersive) .fab){display:none}.app:has(.reader-immersive) .app-content{margin-left:0}.avatar{background:var(--pale);width:40px;height:40px;color:var(--ink);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:650;display:inline-grid}.avatar-lg{width:56px;height:56px;font-size:18px}.connectivity{left:50%;bottom:calc(var(--rootnav) + var(--s4) + env(safe-area-inset-bottom));z-index:40;width:min(420px,100% - 32px);padding:var(--s3) var(--s4);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lift);align-items:center;gap:var(--s3);animation:rise-in var(--t-panel) var(--ease-spring) both;border-radius:14px;font-size:14px;line-height:1.45;display:flex;position:fixed;transform:translate(-50%)}.connectivity .btn{width:auto;min-height:40px;padding:0 var(--s3);margin:0 0 0 auto;font-size:13px}.app:has(.reader-immersive) .connectivity{bottom:calc(var(--readerbar) + var(--s3) + env(safe-area-inset-bottom))}.drawer-folders{flex:none;max-height:32vh}.drawer-folders a .icon{color:var(--muted);flex:none}.drawer-label{cursor:default}.drawer-state{color:var(--muted);flex:none;place-items:center;display:inline-grid}.unread-dot{background:var(--danger);vertical-align:2px;border-radius:50%;flex:none;width:9px;height:9px;margin-left:8px;display:inline-block}.toasts{z-index:60;left:50%;bottom:calc(var(--s5) + env(safe-area-inset-bottom));gap:var(--s2);pointer-events:none;width:min(440px,100% - 32px);display:grid;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--s2);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lift);pointer-events:auto;animation:rise-in var(--t-panel) var(--ease-spring) both;border-radius:14px;padding:10px 8px 10px 14px;font-size:14px;line-height:1.4;display:flex}.toast span{overflow-wrap:anywhere;flex:1;min-width:0}.toast .ib{color:inherit;width:36px;min-width:36px;height:36px}.toast-error .icon:first-child{color:#f0a493}.toast-ok .icon:first-child{color:var(--yellow)}.app:has(.fab)~.toasts{bottom:calc(96px + env(safe-area-inset-bottom))}.app:has(.reader-immersive)~.toasts{bottom:calc(132px + env(safe-area-inset-bottom))}.toast-action{min-height:36px;color:var(--yellow);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:0 10px;font-weight:700}.toast-action:hover{background:#ffffff1a}.wallet-chip{min-height:var(--cible);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-size:14px;text-decoration:none;display:inline-flex}.wallet-chip:hover{border-color:var(--ink)}.wallet-n{font-variant-numeric:tabular-nums;font-weight:720}.wallet-plan,.wallet-chip.pending{color:var(--muted);font-size:12px}@media (max-width:380px){.wallet-plan{display:none}}
.btn{border:1px solid var(--line);border-radius:var(--r-control);min-height:50px;color:var(--ink);text-align:center;cursor:pointer;transition:background var(--t-press) ease, transform var(--t-press) var(--ease-spring), box-shadow var(--t-press) ease, border-color var(--t-press) ease;background:0 0;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:15px;font-weight:650;line-height:1.35;text-decoration:none;display:inline-flex}.btn:hover{background:var(--soft);text-decoration:none}.btn:active{transform:scale(.975)}.btn-primary{background:var(--yellow);color:var(--on-yellow);border-color:#0000}.btn-primary:hover{background:var(--yellow-hover);box-shadow:0 6px 18px #f2d94e59}.btn-dark{background:var(--ink);color:var(--bg);border-color:#0000}.btn-dark:hover{background:var(--ink);opacity:.92}.btn-block{width:100%;margin:var(--s3) 0;display:flex}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.btn-danger:hover{background:var(--danger);opacity:.92}:root[data-mode=dark] .btn-danger{color:#1b0f0c}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn .icon{width:20px;height:20px}.btn-link{min-height:var(--cible);padding:0 var(--s1);text-underline-offset:4px;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:15px;font-weight:600;text-decoration:underline;display:inline-flex}.btn-icon{min-width:var(--cible);min-height:var(--cible);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:transform var(--t-press) var(--ease-spring), background var(--t-press) ease;border-radius:12px;place-items:center;font-size:20px;display:inline-grid}.btn-icon:active{transform:scale(.92)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.actions-row{gap:var(--s2);margin:var(--s4) 0;flex-wrap:wrap;display:flex}.actions-row .btn{flex:160px;margin:0}.busy:after{content:"";text-align:left;width:1.2em;animation:1.2s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s5);margin:var(--s5) 0;min-width:0}.card>:first-child{margin-top:0}.feature{border-radius:var(--r-feature);background:var(--pale);color:var(--ink);min-height:196px;transition:transform var(--t-panel) var(--ease-spring), box-shadow var(--t-panel) ease;padding:22px;text-decoration:none;display:block;position:relative;overflow:hidden}.feature:hover{box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}.feature h2{margin:var(--s4) 0 var(--s2);max-width:15ch;font-size:25px;line-height:1.12}.feature .meta{color:var(--muted);font-size:13px;display:block}.feature-head{justify-content:space-between;align-items:flex-start;gap:var(--s3);display:flex}:root[data-mode=dark] .feature .meta{color:#ded9b7}.feature .go{margin-top:var(--s5);align-items:center;gap:7px;font-size:14px;font-weight:650;display:flex}.feature .go .icon{transition:transform var(--t-panel) var(--ease-spring)}.feature:hover .go .icon{transform:translate(4px)}.feature-art{width:56px;height:auto;transition:transform var(--t-panel) var(--ease-spring);flex:none;transform:rotate(-6deg)}.feature:hover .feature-art{transform:rotate(0)scale(1.06)}.note,.notice{margin:var(--s5) 0;border-radius:var(--r-control);background:var(--pale);border-left:3px solid var(--yellow);overflow-wrap:anywhere;padding:16px 18px;font-size:15px;line-height:1.55}.note b,.notice>strong:first-child{margin-bottom:6px;font-size:14px;display:block}.note p,.notice p{margin:6px 0 0;font-size:15px}.note-green,.notice-ok{background:var(--green-pale);border-left-color:var(--green)}.note-danger,.notice-error{background:var(--danger-pale);border-left-color:var(--danger)}.notice-warn{background:var(--pale);border-left-color:var(--yellow)}.notice ul{margin:var(--s2) 0 0;padding-left:var(--s5)}.chip,.badge{border:1px solid var(--line);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;color:var(--ink);background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.chip-yellow,.badge{background:var(--pale);border-color:#0000}.chip-green{background:var(--green-pale);color:var(--green);border-color:#0000}.badge-demo{background:var(--ink);color:var(--bg)}.rows{margin:0;padding:0;list-style:none}.row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;transition:background var(--t-press) ease;background:0 0;align-items:center;gap:14px;padding:14px 0;text-decoration:none;display:flex}.row:hover{text-decoration:none}.row:hover .row-chevron{transform:translate(3px)}.row-icon{width:28px;color:var(--green);flex:none;place-items:center;display:grid}.row-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.row-text b{overflow-wrap:anywhere;font-size:15px;font-weight:620;line-height:1.35}.row-text small{color:var(--muted);font-size:13px;line-height:1.4}.row-chevron{color:var(--muted);width:18px;height:18px;transition:transform var(--t-press) var(--ease-spring)}.row.error .row-icon{color:var(--danger)}.row.running .row-icon{color:var(--green);animation:1.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.seg,.tabs{margin:var(--s5) 0;border:1px solid var(--line);background:var(--soft);border-radius:13px;gap:3px;padding:3px;display:flex}.seg>*,.tabs button{min-height:42px;color:var(--muted);padding:0 var(--s2);transition:background var(--t-panel) var(--ease-out), color var(--t-press) ease, box-shadow var(--t-panel) ease;background:0 0;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:520;text-decoration:none;display:inline-flex}.seg>[aria-current=page],.seg>[aria-selected=true],.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);font-weight:650;box-shadow:0 1px 4px #0000000f}label{margin:var(--s4) 0 var(--s2);font-size:14px;font-weight:600;display:block}input[type=text],input[type=url],input[type=email],input[type=number],input[type=password],input[type=search],textarea,select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:51px;color:var(--ink);transition:border-color var(--t-press) ease, box-shadow var(--t-press) ease;border-radius:12px;padding:13px 14px;font-size:16px;line-height:1.5;display:block}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 18%, transparent);outline:none}textarea{resize:vertical;min-height:180px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);margin-bottom:var(--s3);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-right:40px}.searchbox{margin:var(--s4) 0;position:relative}.searchbox .icon{color:var(--muted);pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.searchbox input{min-height:48px;padding-left:42px}.consent{gap:var(--s3);margin:var(--s4) 0 0;cursor:pointer;text-align:left;align-items:flex-start;font-weight:500;display:flex}.consent input{width:22px;height:22px;accent-color:var(--green);flex:none;margin:2px 0 0}.consent-actions{gap:var(--s3);flex-wrap:wrap;display:flex}.consent-actions .btn{flex:160px}.setting{align-items:center;gap:var(--s4);border-bottom:1px solid var(--line);cursor:pointer;margin:0;padding:16px 0;font-weight:400;display:flex}.setting>span:not(.switch){flex:1;min-width:0}.setting b{font-size:15px;font-weight:620;line-height:1.4;display:block}.setting small{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.45;display:block}.switch{flex:none;width:50px;height:30px;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch i{transition:background var(--t-panel) ease;pointer-events:none;background:#b6b9b1;border-radius:20px;position:absolute;inset:0}.switch i:after{content:"";width:24px;height:24px;transition:transform var(--t-panel) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000038}.switch input:checked+i{background:var(--green)}.switch input:checked+i:after{transform:translate(20px)}.switch input:focus-visible+i{outline:3px solid var(--green);outline-offset:3px}.choices{gap:var(--s3);margin:var(--s4) 0;border:0;min-width:0;padding:0;display:grid}.choice,.option{align-items:center;gap:var(--s3);border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);cursor:pointer;min-height:60px;transition:border-color var(--t-press) ease, background var(--t-press) ease, transform var(--t-press) var(--ease-spring);margin:0;padding:14px 16px;font-weight:520;display:flex}.choice:active,.option:active{transform:scale(.99)}:is(.choice:has(input:checked),.option:has(input:checked)){border:2px solid var(--green);background:var(--green-pale);padding:13px 15px}.choice input,.option input{width:22px;height:22px;accent-color:var(--green);flex:none;margin:0}:is(.choice:has(input:focus-visible),.option:has(input:focus-visible)){outline:3px solid var(--green);outline-offset:2px}.option strong,.choice strong{display:block}.option-desc{color:var(--muted);font-size:14px;font-weight:400;display:block}.sizes{justify-content:space-between;align-items:center;gap:var(--s2);border:1px solid var(--line);border-radius:var(--r-control);background:var(--soft);padding:4px;display:flex}.sizes button{background:var(--surface);width:54px;height:46px;transition:transform var(--t-press) var(--ease-spring);border:0;border-radius:10px;font-size:19px;font-weight:500}.sizes button:active{transform:scale(.92)}.sizes button:disabled{opacity:.4}.sizes span{text-align:center;flex:1;font-size:14px}.modecards{gap:var(--s3);margin:var(--s3) 0 var(--s5);grid-template-columns:repeat(3,1fr);display:grid}.modecards label{justify-content:center;align-items:center;gap:var(--s2);border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);cursor:pointer;min-height:92px;transition:box-shadow var(--t-press) ease, transform var(--t-press) var(--ease-spring);flex-direction:column;margin:0;font-size:13px;font-weight:600;display:flex;position:relative}.modecards input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.modecards label:has(input:checked){box-shadow:inset 0 0 0 2px var(--ink)}.modecards label:has(input:focus-visible){outline:3px solid var(--green);outline-offset:2px}.modecards label:active{transform:scale(.97)}.upload,.dropzone{width:100%;margin:var(--s3) 0 var(--s5);text-align:center;border-radius:var(--r-card);background:var(--surface);transition:border-color var(--t-press) ease, background var(--t-press) ease, transform var(--t-panel) var(--ease-spring);border:1.5px dashed #b7bbaf;flex-direction:column;align-items:center;gap:10px;padding:28px 14px;display:flex}.upload.dragging{border-color:var(--green);background:var(--green-pale);transform:scale(1.01)}.upload-icon{background:var(--yellow);width:56px;height:56px;color:var(--on-yellow);transition:transform var(--t-panel) var(--ease-spring);border-radius:16px;place-items:center;display:grid}.upload:hover .upload-icon{transform:rotate(90deg)scale(1.05)}.upload h2{margin:4px 0 0;font-size:18px}.upload p{color:var(--muted);margin:0;font-size:14px}.file-name{margin:var(--s2) 0 0;overflow-wrap:anywhere;animation:rise-in var(--t-panel) var(--ease-spring) both;font-weight:600}.filetile{background:var(--pale);width:48px;height:56px;color:var(--ink);border-radius:10px;flex:none;place-items:center;display:grid}.filecard{gap:var(--s3);flex-direction:column;display:flex}.filecard h2{margin:var(--s2) 0 0;overflow-wrap:anywhere;font-size:25px}.submit-status{margin:var(--s4) 0}.submit-status p{margin:0;font-weight:600}progress{appearance:none;background:var(--line);border:0;border-radius:999px;width:100%;height:8px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:repeating-linear-gradient(-45deg, var(--yellow) 0 10px, var(--yellow-hover) 10px 20px);transition:width var(--t-panel) var(--ease-out);background-size:28px 100%}progress::-moz-progress-bar{background:var(--yellow)}.loader-book{width:88px;height:88px;margin:var(--s3) 0 var(--s6);background:var(--pale);animation:breathe var(--t-loop) ease-in-out infinite;perspective:300px;border-radius:24px;place-items:center;display:grid}.loader-book svg{width:56px;height:46px;color:var(--ink);overflow:visible}.loader-book .hl{transform-origin:4px 15px;animation:highlight-sweep var(--t-loop) var(--ease-out) infinite}.loader-book .leaf{transform-origin:20px 16px;transform-box:view-box;animation:page-turn var(--t-loop) ease-in-out infinite}.loader-inline{align-items:center;gap:var(--s2);display:inline-flex}.loader-inline .dot{background:var(--yellow);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite breathe}.loader-inline .dot:nth-child(2){animation-delay:.15s}.loader-inline .dot:nth-child(3){animation-delay:.3s}.steps{margin:var(--s6) 0;padding:0;list-style:none}.step{min-height:66px;color:var(--muted);align-items:flex-start;gap:14px;display:flex;position:relative}.step-mark{border:1px solid var(--line);z-index:1;background:var(--bg);width:32px;height:32px;transition:background var(--t-panel) ease, border-color var(--t-panel) ease;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.step:not(:last-child):after{content:"";border-left:1px solid var(--line);position:absolute;top:36px;bottom:-2px;left:15.5px}.step:not(:last-child).step-done:after{border-left:2px solid var(--green);transform-origin:top;animation:line-fill .42s var(--ease-out) both;left:15px}.step strong,.step b{color:inherit;font-size:15px;font-weight:580;display:block}.step-detail{color:var(--muted);margin-top:3px;font-size:13px;display:block}.step-done{color:var(--green)}.step-done .step-mark{background:var(--green);border-color:var(--green);color:#fff;animation:pop .42s var(--ease-spring) both}:root[data-mode=dark] .step-done .step-mark{color:#10200f}.step-current{color:var(--ink)}.step-current .step-mark{background:var(--yellow);border-color:var(--yellow);color:var(--on-yellow);animation:1.4s ease-out infinite pulse-ring}.step-current strong{font-weight:700}.step-todo strong{font-weight:560}dialog.sheet{background:var(--surface);max-width:none;max-height:none;color:var(--ink);border:0;margin:0;padding:0}dialog.sheet[open]{width:100%;max-height:88dvh;padding:var(--s3) var(--pad) calc(var(--s6) + env(safe-area-inset-bottom));animation:sheet-up var(--t-panel) var(--ease-out) both;border-radius:20px 20px 0 0;position:fixed;inset:auto 0 0;overflow-y:auto}dialog.sheet::backdrop{background:var(--backdrop);animation:fade-in var(--t-panel) ease both}.sheet-grip{background:var(--line);width:40px;height:4px;margin:0 auto var(--s3);border-radius:4px}.sheet-head{align-items:center;gap:var(--s2);min-height:var(--cible);margin-bottom:var(--s2);display:flex}.sheet-head h2{flex:1;margin:0;font-size:17px}@media (min-width:1200px){dialog.sheet.side[open]{border-left:1px solid var(--line);width:420px;height:100dvh;max-height:none;padding:var(--s5) var(--s6);animation:panel-in var(--t-panel) var(--ease-out) both;border-radius:0;inset:0 0 0 auto}dialog.sheet.side .sheet-grip{display:none}}@media (min-width:700px){dialog.sheet.center[open]{width:min(560px,100% - 48px);height:fit-content;max-height:86dvh;animation:rise-in var(--t-panel) var(--ease-spring) both;border-radius:20px;margin:auto;inset:0}dialog.sheet.center .sheet-grip{display:none}}.toast{left:50%;bottom:calc(var(--rootnav) + var(--s5) + env(safe-area-inset-bottom));z-index:50;background:var(--ink);width:min(380px,100% - 32px);color:var(--bg);box-shadow:var(--shadow-lift);animation:rise-in var(--t-panel) var(--ease-spring) both;border-radius:13px;padding:14px 17px;font-size:14px;line-height:1.5;position:fixed;transform:translate(-50%)}.empty{text-align:center;padding:var(--s6) 0}.empty-art{aspect-ratio:1.2;width:220px;max-width:70%;margin:var(--s5) auto var(--s6);background:var(--pale);border-radius:50% 50% 45% 45%;place-items:center;animation:3.6s ease-in-out infinite breathe;display:grid}.empty-art svg{width:64px;height:52px}.shake{animation:.32s both wiggle}.progress{background:var(--line);height:6px;margin:var(--s2) 0 var(--s5);border-radius:6px;overflow:hidden}.progress>span,.progress i{background:var(--yellow);height:100%;transition:width var(--t-panel) var(--ease-out);border-radius:6px;display:block}.progress .w-1{width:16.66%}.progress .w-2{width:33.33%}.progress .w-3{width:50%}.progress .w-4{width:66.66%}.progress .w-5{width:83.33%}.progress .w-6{width:100%}meter{width:100%;height:10px;margin:var(--s2) 0 var(--s4);display:block}.danger-zone,.logout{margin-top:var(--s8)}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.divider{align-items:center;gap:var(--s3);color:var(--muted);margin:var(--s4) 0;font-size:14px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--line);flex:1}details>summary{cursor:pointer;min-height:var(--cible);align-items:center;font-weight:600;display:flex}.usage{margin:var(--s5) 0;grid-template-columns:1fr auto;gap:12px 8px;font-size:14px;line-height:1.5;display:grid}.usage dt{color:var(--muted)}.usage dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;margin:0}.bar{background:var(--line);height:8px;margin:var(--s3) 0;border-radius:8px;overflow:hidden}.bar>i{background:var(--yellow);transform-origin:0;height:100%;animation:highlight-sweep .9s var(--ease-out) both;border-radius:8px;animation-iteration-count:1;display:block}button.row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0}.row-static{cursor:default}.row-danger .row-icon,.row-danger .row-text b{color:var(--danger)}.choices legend{margin:var(--s4) 0 var(--s2);padding:0;font-size:14px;font-weight:650}
.toc{margin:var(--s5) 0}.toc ol{counter-reset:toc;margin:0;padding:0;list-style:none}.toc li{counter-increment:toc;border-bottom:1px solid var(--line)}.toc a{gap:var(--s3);align-items:baseline;min-height:52px;padding:14px 0;font-weight:560;text-decoration:none;display:flex}.toc a:before{content:counter(toc, decimal-leading-zero);font-family:var(--font-mono);color:var(--muted);min-width:22px;font-size:12px}.toc a:hover{color:var(--green)}.block{margin:0 0 var(--s5);overflow-wrap:break-word}.block-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:720;display:block}.block-definition dfn{font-style:normal;font-weight:700}.block-analogy,.block-example{border-radius:var(--r-control);background:var(--pale);border-left:3px solid var(--yellow);padding:16px 18px}.block-analogy p,.block-example p{margin:0 0 var(--s2)}.block-analogy .limit{color:var(--muted);margin:var(--s2) 0 0;font-size:15px}:root[data-mode=dark] .block-analogy .limit{color:#ded9b7}.block-example{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--green)}.block-caution{border-left:3px solid var(--ink);padding:4px 0 4px 18px}.term{font:inherit;color:inherit;background:var(--pale);box-shadow:inset 0 -2px 0 var(--yellow);cursor:pointer;transition:background var(--t-press) ease, box-shadow var(--t-press) ease;border:0;border-radius:3px;margin:0 -1px;padding:0 3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.term:hover,.term[aria-expanded=true]{background:var(--yellow);color:var(--on-yellow)}.ref{border:1px solid color-mix(in srgb, var(--green) 35%, transparent);background:var(--green-pale);min-width:30px;min-height:30px;color:var(--green);font-family:var(--font-mono);vertical-align:1px;cursor:pointer;transition:transform var(--t-press) var(--ease-spring);border-radius:8px;justify-content:center;align-items:center;margin-left:3px;padding:0 7px;font-size:12px;font-weight:600;display:inline-flex}.ref:hover{transform:translateY(-1px)}.citation{min-height:36px;color:var(--green);background:0 0;border:0;align-items:center;gap:6px;padding:6px 0;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.citation .icon{width:15px;height:15px}.quote{margin:var(--s4) 0;border-left:3px solid var(--yellow);font-family:var(--font-serif);padding:4px 0 4px 18px;font-size:19px;line-height:1.55}.quote mark{background:var(--pale);color:inherit}figure.visual{margin:var(--s6) 0;padding:var(--s5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}figure.visual svg{width:100%;height:auto;display:block}figure.visual figcaption{color:var(--muted);margin-top:var(--s3);font-size:14px}figure.visual details{margin-top:var(--s2);font-size:14px}.chart-bar{fill:var(--yellow)}.chart-label{fill:var(--ink);font-family:var(--font-mono)}.flow-box{fill:var(--surface);stroke:var(--ink)}.flow-box-first{fill:var(--yellow)}.flow-text{fill:var(--ink)}.flow-line{stroke:var(--ink)}.flow-cycle{stroke:var(--green);fill:none}.flow-cycle-text{fill:var(--green)}.flow-arrow{fill:var(--ink)}.flow-box-first+.flow-text,.flow-box-first~.flow-text{fill:var(--on-yellow)}table.compare{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}table.compare caption{caption-side:bottom;text-align:left;color:var(--muted);padding-top:var(--s3);font-size:13px}table.compare th,table.compare td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 8px 12px 0}table.compare thead th{color:var(--muted);font-size:12px;font-weight:600}figure.illustration{background:var(--soft);border:0;border-radius:6px;padding:0;overflow:hidden}figure.illustration img{object-fit:cover;width:100%;max-height:420px;display:block}figure.illustration figcaption{padding:var(--s3) var(--s4) var(--s4)}.credit{font-size:12px}.glossary dt{margin-top:var(--s4);font-weight:700}.glossary dd{color:var(--muted);margin:4px 0 0}.notion-term{letter-spacing:-1.6px;margin:var(--s2) 0 var(--s4);overflow-wrap:anywhere;font-size:44px;line-height:1.05}.notion-def{font-size:var(--reading);line-height:var(--reading-lh)}.notion-sheet .citation{flex-wrap:wrap}.source-sheet-title{margin:var(--s1) 0 var(--s2);overflow-wrap:anywhere;font-size:20px}.toc a[aria-current=location]{color:var(--green)}.toc a[aria-current=location]:before{color:var(--green);font-weight:700}.toc-check a:before{content:"✓"}.reader-expiry{gap:var(--s2);margin-top:var(--s7);align-items:flex-start;display:flex}.reader-expiry .icon{flex:none;margin-top:3px}.prep-compact{margin:var(--s3) auto;max-width:680px}.sheet-sub{align-items:flex-start;gap:var(--s1);margin-bottom:var(--s3);flex-direction:column;display:flex}.sheet-sub h3{margin:0;font-size:18px}.small-lede{margin-bottom:var(--s3);font-size:16px}.quiz-sheet[open],.ask-sheet[open]{min-height:70dvh}.quiz-loading{text-align:center;padding:var(--s6) 0}.quiz-loading .loader-book{margin:0 auto var(--s4)}.quiz{animation:rise-in var(--t-panel) var(--ease-spring) both}.quiz-progress{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s2);font-size:12px;font-weight:700}.quiz progress{margin-bottom:var(--s3)}.quiz-section{margin:0 0 var(--s1)}.quiz-question{margin:0 0 var(--s3);padding:0;font-size:19px;font-weight:680;line-height:1.35}.quiz-options{gap:var(--s2);margin-top:0}.quiz-option{align-items:flex-start}.quiz-option>span{flex:1;min-width:0}.quiz-why{margin-top:var(--s2);color:var(--muted);animation:fade-in var(--t-panel) ease both;font-size:14px;font-weight:400;display:block}.quiz-options .quiz-option.is-answer{border:2px solid var(--green);background:var(--green-pale);animation:celebrate .52s var(--ease-spring) both;padding:13px 15px}.quiz-options .quiz-option.is-picked{border:2px dashed var(--muted);background:var(--soft);padding:13px 15px}.quiz-options .quiz-option.is-other{opacity:.6}.quiz-verdict{align-items:center;gap:var(--s2);margin:var(--s2) 0;border-radius:999px;padding:8px 14px;font-weight:700;display:inline-flex}.quiz-verdict.ok{background:var(--green-pale);color:var(--green);animation:celebrate .52s var(--ease-spring) both}.quiz-verdict.again{background:var(--pale);color:var(--ink);animation:.32s both wiggle}.quiz-score{padding:var(--s6) var(--s4);margin:var(--s3) 0 var(--s4);border-radius:var(--r-card);background:var(--pale);text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;display:flex}.quiz-score .big{letter-spacing:-2px;animation:pop .52s var(--ease-spring) both;font-size:64px;font-weight:760;line-height:1}.quiz-score .of{color:var(--muted);font-size:26px;font-weight:650}.quiz-score .lbl{margin-top:var(--s2);flex-basis:100%;font-size:15px}.test-choices .row-text small{overflow-wrap:anywhere}.ask-panel{gap:var(--s3);flex-direction:column;min-height:0;display:flex}.ask-scope{align-items:center;gap:var(--s2);flex-wrap:wrap;margin:0;display:flex}.ask-scope .chip{text-transform:none;letter-spacing:0;white-space:normal;text-align:left;cursor:pointer;gap:6px;max-width:100%;font-size:13px}.ask-suggest,.ask-follow{gap:var(--s2);flex-wrap:wrap;display:flex}.ask-suggest .filterchip,.ask-follow .filterchip{text-align:left;cursor:pointer;height:auto;padding:8px 12px;line-height:1.35}.ask-thread{gap:var(--s4);display:grid}.ask-turn{gap:var(--s2);animation:rise-in var(--t-panel) var(--ease-spring) both;display:grid}.ask-q{background:var(--ink);max-width:88%;color:var(--bg);overflow-wrap:anywhere;border-radius:16px 16px 4px;justify-self:end;margin:0;padding:10px 14px}.ask-a{background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;max-width:100%;padding:12px 14px}.ask-a>p{margin:0 0 var(--s2)}.ask-a .chip{text-transform:none;letter-spacing:0}.ask-wait{align-items:center;gap:var(--s2);color:var(--muted);display:flex}.ask-quote{margin:var(--s2) 0;font-size:16px}.ask-quote .citation{font-family:var(--font);font-style:normal;display:flex}.ask-form{align-items:flex-end;gap:var(--s2);padding:var(--s2) 0;background:var(--surface);display:flex;position:sticky;bottom:0}.ask-form textarea{resize:none;field-sizing:content;border-radius:25px;min-height:50px;max-height:160px;padding:13px 18px}.ask-send{background:var(--yellow);width:50px;height:50px;color:var(--on-yellow);cursor:pointer;transition:transform var(--t-press) var(--ease-spring);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.ask-send:disabled{opacity:.45;cursor:not-allowed}.ask-send:not(:disabled):active{transform:scale(.92)}.ask-private{margin:0}.reader-immersive{--rtop:52px;--rbar:64px;--gutter:16px;--deck-top:12px;--deck-bottom:16px;--fab-strip:64px;z-index:30;background:var(--bg);position:fixed;inset:0}@media (min-width:600px){.reader-immersive{--gutter:32px}}@media (min-width:1100px){.reader-immersive{--fab-strip:0px}}.rtop{z-index:2;align-items:center;gap:var(--s3);height:calc(var(--rtop) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--gutter) 0 max(4px, calc(var(--gutter) - 12px));background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);display:flex;position:absolute;inset:0 0 auto}.rtop-close{min-height:var(--cible);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.rtop-close:hover{background:var(--soft);color:var(--ink)}.rtop-chapter{min-width:0;color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:13px;font-weight:600;overflow:hidden}.deck{left:0;right:0;top:calc(var(--rtop) + env(safe-area-inset-top));bottom:calc(var(--rbar) + var(--fab-strip) + env(safe-area-inset-bottom));overscroll-behavior:contain;scroll-snap-type:y mandatory;scroll-padding-top:var(--deck-top);padding:var(--deck-top) var(--gutter) var(--deck-bottom);position:absolute;overflow-y:auto}.deck:focus-visible{outline:3px solid var(--green);outline-offset:-3px;border-radius:0}.deck.continuous,.deck.no-snap{scroll-snap-type:none}.deck-col{max-width:680px;margin:0 auto}.deck:not(.continuous) .view-start{scroll-snap-align:start;scroll-snap-stop:always}.piece{margin:0 0 var(--s5);overflow-wrap:break-word;transition-property:none}.piece>:first-child{margin-top:0}.piece>:last-child{margin-bottom:0}.deck:not(.continuous) .turn-in{animation:turn-in .22s var(--ease-out) backwards}@keyframes turn-in{0%{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:none}}.lim{font-size:var(--reading);line-height:var(--reading-lh);letter-spacing:-.12px}.lim p{margin:0 0 var(--s3)}.lim strong{font-weight:680}.cover{padding-top:var(--s4)}.cover-eyebrow{margin-bottom:var(--s3)}.cover-title{letter-spacing:-1.3px;margin:0 0 var(--s5);overflow-wrap:anywhere;font-size:34px;font-weight:720;line-height:1.12}.cover .notice{font-size:15px;line-height:1.5}.keypoints{margin:var(--s5) 0;padding:var(--s5);border-radius:var(--r-card);background:var(--pale)}.keypoints-title{letter-spacing:1.2px;text-transform:uppercase;margin:0 0 var(--s2);font-size:13px}.keypoints ul{padding-left:var(--s5);margin:0}.keypoints li{margin:6px 0;line-height:1.55}.keypoints-cont ul{counter-reset:none}@media (max-width:359px){.cover-title{letter-spacing:-.8px;font-size:28px}}.section-head{padding-top:var(--s2)}.section-n{font-family:var(--font-mono);margin-bottom:var(--s2)}.section-head h2{letter-spacing:-.7px;overflow-wrap:anywhere;margin:0;font-size:25px;line-height:1.2}.lim .block p{margin-bottom:0}.block-key{border-radius:var(--r-control);background:var(--green-pale);padding:14px 16px}.block-key p{font-weight:560}.block-inference{border-left:3px solid var(--line);padding-left:16px}.block-complement{border-radius:var(--r-control);border:1px dashed var(--line);padding:12px 16px}.block-complement .block-label{color:var(--muted)}.block-list ol,.block-list ul{margin:var(--s2) 0 0;padding-left:1.4em}.block-list li{margin:6px 0}.block-list .list-intro{margin-bottom:0}.list-steps li::marker{font-family:var(--font-mono);color:var(--green);font-weight:600}.list-numbers li::marker{font-family:var(--font-mono);color:var(--green);font-weight:600}.list-steps li{padding-left:4px}.block-formula .formula{font-family:var(--font-mono);font-size:calc(18px * var(--scale));background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;margin-bottom:var(--s3);border-radius:12px;padding:12px 16px;overflow-x:auto}.symbols{margin:0 0 var(--s3);gap:4px;font-size:15px;display:grid}.symbols div{gap:var(--s3);display:flex}.symbols dt{font-family:var(--font-mono);min-width:2.5em;font-weight:600}.symbols dd{color:var(--muted);margin:0}.refs{white-space:nowrap}.lim .ref,.annex-glossary .ref{min-width:0;min-height:0;color:var(--green);font-family:var(--font);vertical-align:super;background:0 0;border:0;border-radius:3px;margin-left:1px;padding:0 2px;font-size:.68em;font-weight:700;line-height:1;text-decoration:none;position:relative}.lim .ref+.ref,.annex-glossary .ref+.ref{margin-left:0;padding-left:0}.lim .ref+.ref:before,.annex-glossary .ref+.ref:before{content:",";color:var(--muted);margin-right:2px;position:static}.lim .ref:after,.annex-glossary .ref:after{content:"";width:32px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lim .ref:hover,.annex-glossary .ref:hover{background:var(--pale);transform:none}.lim .ref:focus-visible,.annex-glossary .ref:focus-visible{outline:2px solid var(--green);outline-offset:1px}.example-head{justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:6px;display:flex}.example-head .block-label{margin:0}.example-next{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.example-stack{display:grid}.example-variant{visibility:hidden;grid-area:1/1}.example-variant.is-shown{visibility:visible;animation:.2s both fade-in}.example-count{margin:var(--s2) 0 0}.piece-visual figure.visual{margin:0}.visual-compact figure.visual,.visual-thumb figure.visual{max-width:440px;margin-inline:auto}.visual-thumb figure.illustration img{max-height:200px}.visual-compact figure.illustration img{max-height:300px}.pair{gap:var(--s4);display:grid}@media (min-width:720px){.pair{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}.pair .block{margin:0}}.checkpoint{padding:var(--s5);border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line)}.checkpoint-eyebrow{color:var(--green);align-items:center;gap:6px;display:inline-flex}.checkpoint-title{margin:var(--s2) 0 var(--s4);font-size:19px;line-height:1.3}.checkpoint-foot{gap:var(--s2);margin-top:var(--s4);justify-items:center;display:grid}.checkpoint-foot .btn-link{min-height:var(--cible)}.checkpoint-score{margin:0;font-weight:700}.exercise{padding:var(--s4) 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5}.exercise:first-of-type{border-top:0;padding-top:0}.exercise-head{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s2);font-size:12px;font-weight:700}.exercise-prompt{margin:0 0 var(--s3);font-size:18px;font-weight:650;line-height:1.4}.exercise-hint{color:var(--muted);margin:0 0 var(--s2);font-size:14px}.exercise-options{gap:var(--s2);margin:0 0 var(--s3)}.exercise-option{align-items:flex-start}.exercise-option>span{flex:1;min-width:0}.exercise-options .exercise-option.is-answer{border:2px solid var(--green);background:var(--green-pale);padding:13px 15px}.exercise-options .exercise-option.is-picked{border:2px dashed var(--muted);background:var(--soft);padding:13px 15px}.exercise-options .exercise-option.is-other{opacity:.65}.exercise-why{margin-top:var(--s2);color:var(--muted);font-size:14px;font-weight:400;display:block}.exercise-result{margin-top:var(--s3);animation:rise-in var(--t-panel) var(--ease-spring) both}.exercise-explain{margin:var(--s2) 0 0}.tf{gap:var(--s2);margin-bottom:var(--s3);grid-template-columns:1fr 1fr;display:grid}.tf-btn{margin:0}.tf-btn.is-on{border:2px solid var(--green);background:var(--green-pale)}.order-list{margin:0 0 var(--s3);gap:var(--s2);counter-reset:ord;padding:0;list-style:none;display:grid}.order-list li{counter-increment:ord;align-items:center;gap:var(--s2);border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);padding:8px 8px 8px 12px;display:flex}.order-list li:before{content:counter(ord);font-family:var(--font-mono);color:var(--muted);min-width:18px;font-size:13px}.order-list li.is-answer{border-color:var(--green);background:var(--green-pale)}.order-list li.is-picked{border-style:dashed}.order-text{flex:1;min-width:0}.order-moves{flex:none;gap:2px;display:flex}.rot-up{transform:rotate(-90deg)}.rot-down{transform:rotate(90deg)}.match-list{gap:var(--s3);margin-bottom:var(--s3);display:grid}.match-row{border:1px solid var(--line);border-radius:var(--r-control);gap:6px;padding:10px 12px;display:grid}.match-row label{margin:0;font-weight:600}.match-row.is-answer{border-color:var(--green);background:var(--green-pale)}.match-row.is-picked{border-style:dashed}.cloze-input{width:9em;max-width:100%;min-height:40px;font:inherit;vertical-align:baseline;margin:2px 4px;padding:4px 8px;display:inline-block}.short-answer{min-height:110px;margin-bottom:var(--s3)}.end{padding-top:var(--s5)}.end-title{margin:var(--s2) 0 var(--s5);overflow-wrap:anywhere;font-size:25px;line-height:1.2}.end-actions{gap:var(--s3);display:grid}.end-cta{align-items:center;gap:var(--s3);border-radius:var(--r-card);background:var(--yellow);width:100%;min-height:72px;color:var(--on-yellow);font:inherit;text-align:left;cursor:pointer;transition:transform var(--t-press) var(--ease-spring);border:0;padding:14px 16px;display:flex}.end-cta .row-icon,.end-cta .row-text small,.end-cta .row-chevron{color:inherit}.end-cta:active{transform:scale(.99)}.end-cta-quiet{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.end-cta-quiet .row-text small{color:var(--muted)}.end-annexes{margin-top:var(--s3);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 6px;font-size:14px;display:flex}.end-annexes a{min-height:var(--cible);color:var(--green);align-items:center;padding:0 6px;font-weight:600;display:inline-flex}.annex-page{max-width:720px;margin:0 auto}.annex-top{top:calc(var(--header) + 4px);z-index:3;margin:0 0 var(--s4);position:sticky}.annex-top .annex-back{box-shadow:var(--shadow);background:var(--surface)}.annex-bottom{margin:var(--s7) 0 0;position:static}.annex-head h1{margin:var(--s1) 0 var(--s2);overflow-wrap:anywhere;-webkit-hyphens:manual;hyphens:manual;text-wrap:balance;font-size:clamp(26px,7vw,34px);line-height:1.15}.annex-nav{gap:var(--s2);margin:var(--s4) 0 0;flex-wrap:wrap;display:flex}.annex-nav a{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);min-height:40px;color:var(--ink);align-items:center;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.annex-section{margin-top:var(--s8)}.annex-section h2{margin:0 0 var(--s3);font-size:clamp(24px,6vw,28px);line-height:1.2}.annex-section h3{margin:var(--s5) 0 var(--s2);font-size:17px}.annex-section ul{padding-left:1.3em}.annex-section li{margin:6px 0;font-size:17px;line-height:1.55}.annex-target{scroll-margin-top:calc(var(--header) + 72px)}.annex-target:target{border-radius:10px;animation:1.6s ease-out both annex-flash}@keyframes annex-flash{0%{background:var(--pale);box-shadow:0 0 0 6px var(--pale)}to{background:0 0;box-shadow:0 0 0 6px #0000}}@media (prefers-reduced-motion:reduce){.annex-target:target{background:var(--pale);box-shadow:0 0 0 6px var(--pale);animation:none}}.annex-filter{margin:0 0 var(--s3)}.annex-glossary>div{padding:var(--s2) 0;border-bottom:1px solid var(--line)}.annex-glossary dt{margin-top:0;font-size:17px}.annex-glossary dd{font-size:16px;line-height:1.55}.annex-doc+.annex-doc{margin-top:var(--s6)}.annex-doc-head{justify-content:space-between;align-items:baseline;gap:4px var(--s3);padding-bottom:var(--s2);border-bottom:2px solid var(--ink);flex-wrap:wrap;display:flex}.annex-doc-title{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;margin:0;font-weight:700;display:flex}.annex-doc-head p.muted{margin:0}.annex-sources{margin:0;padding:0;list-style:none}.annex-sources li{gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line);display:flex}.annex-sources li>div{min-width:0}.annex-sources .src-n{padding-top:3px}.annex-loc{color:var(--muted);overflow-wrap:anywhere;margin:0 0 4px;font-size:14px}.annex-quote{font-family:var(--font-serif);overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.55}.annex-quote mark{background:var(--pale);color:inherit}.notion-glossary{min-height:var(--cible);margin-top:var(--s2);align-items:center;gap:6px;display:inline-flex}.sources-list{padding-left:1.4em}.sources-list small{color:var(--muted);display:block}.sources-list q{font-family:var(--font-serif)}ol.sources-list:not([start]){padding:0;list-style:none}.src-n{font-family:var(--font-mono);color:var(--green);min-width:24px;font-size:12px;font-weight:700}.sheet .sources-list li{gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line);font-size:15px;display:flex}.rbar{z-index:2;align-items:center;gap:var(--s2);height:calc(var(--rbar) + env(safe-area-inset-bottom));padding:0 max(4px, calc(var(--gutter) - 12px)) env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;display:grid;position:absolute;inset:auto 0 0}.rb{min-height:var(--cible);font:inherit;white-space:nowrap;color:var(--ink);cursor:pointer;transition:background var(--t-press) ease, transform var(--t-press) var(--ease-spring);background:0 0;border:0;border-radius:12px;align-items:center;gap:7px;padding:0 12px;font-size:14px;font-weight:620;display:inline-flex}.rb:hover{background:var(--soft)}.rb:active{transform:scale(.95)}.rprogress{justify-items:center;gap:6px;min-width:0;display:grid}.rprogress-n{font-family:var(--font-mono);color:var(--muted);font-size:12px}.rprogress-bar{background:var(--soft);border-radius:4px;width:min(160px,100%);height:4px;display:block;overflow:hidden}.rprogress-bar i{background:var(--green);width:0;height:100%;transition:width var(--t-panel) var(--ease-out);border-radius:4px;display:block}@media (max-width:359px){.rb span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.discuss{z-index:3;right:var(--gutter);bottom:calc(var(--rbar) + env(safe-area-inset-bottom) + 8px);background:var(--yellow);height:48px;color:var(--on-yellow);font:inherit;cursor:pointer;transition:transform var(--t-press) var(--ease-spring);border:0;border-radius:24px;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:700;display:inline-flex;position:absolute;box-shadow:0 6px 18px #20211f38}.discuss:hover{background:var(--yellow-hover)}.discuss:active{transform:scale(.96)}@media (min-width:1100px){.discuss{right:max(var(--gutter), calc((100vw - 680px) / 2 - 200px));bottom:calc(var(--rbar) + 24px)}}.attempts{margin:var(--s3) 0;gap:var(--s2);padding:0;list-style:none;display:grid}.attempts li{justify-content:space-between;gap:var(--s3);background:var(--soft);border-radius:12px;padding:10px 12px;font-size:14px;display:flex}.actions-row{gap:var(--s2);flex-wrap:wrap;display:flex}.actions-row .btn{flex:160px}@media (max-height:520px) and (max-width:1099px){.reader-immersive{--rtop:44px;--rbar:56px;--fab-strip:0px;--deck-top:8px;--deck-bottom:8px}.rbar{padding-right:calc(var(--gutter) + 150px)}.discuss{bottom:calc(env(safe-area-inset-bottom) + 4px);height:48px;box-shadow:none}}svg.drawing{width:100%;height:auto;display:block;overflow:visible}.drawing .dr{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.drawing .dr-ink{stroke:var(--ink)}.drawing .dr-accent{stroke:#c9a800}.drawing .dr-green{stroke:var(--green)}.drawing .dr-muted{stroke:var(--muted)}.drawing .dr-soft{stroke:var(--line)}.drawing .dr-fill.dr-ink{fill:var(--ink)}.drawing .dr-fill.dr-accent{fill:var(--yellow);stroke:var(--yellow)}.drawing .dr-fill.dr-green{fill:var(--green)}.drawing .dr-fill.dr-muted{fill:var(--muted)}.drawing .dr-fill.dr-soft{fill:var(--pale);stroke:var(--pale)}.drawing .dr-text{font-family:var(--font);fill:var(--ink);font-size:7px;font-weight:600}.drawing .dr-t-green{fill:var(--green)}.drawing .dr-t-muted{fill:var(--muted)}figure.visual-drawing{background:0 0;border:0;max-width:320px;margin-inline:auto;padding:0}.wrap-host{display:flow-root}.wrap-fig{width:38%;min-width:104px;max-width:200px;margin:4px 0 8px}.wrap-fig.wrap-compact{width:46%;max-width:280px}.wrap-right{float:right;margin-left:14px}.wrap-left{float:left;margin-right:14px}.wrap-fig img{width:100%;height:auto;display:block}.wrap-fig figcaption{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.35}.wrap-fig .credit{font-size:11px}@media (min-width:600px){.wrap-fig{width:34%}.wrap-fig.wrap-compact{width:42%}}.annex-doc-head .btn-link{min-height:var(--cible);align-items:center;display:inline-flex}.lim figure.visual svg{max-height:max(150px, calc(100dvh - var(--rtop) - var(--rbar) - var(--fab-strip,0px) - 190px))}@media (max-height:500px){.lim figure.visual{padding:var(--s3)}.lim figure.visual svg{max-height:max(130px, calc(100dvh - var(--rtop) - var(--rbar) - var(--fab-strip,0px) - 150px))}}
.hero h1{letter-spacing:-1.4px;max-width:14ch;font-size:34px;line-height:1.1}.hero .lede{margin-bottom:var(--s5)}.hero .btn-primary{font-size:16px}.filters{gap:var(--s2);margin:var(--s2) 0 var(--s4);flex-wrap:wrap;display:flex}.filterchip{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);transition:background var(--t-press) ease, transform var(--t-press) var(--ease-spring);border-radius:10px;align-items:center;padding:0 14px;font-size:14px;font-weight:550;text-decoration:none;display:inline-flex}.filterchip:active{transform:scale(.95)}.filterchip[aria-current=true],.filterchip[aria-pressed=true]{background:var(--pale);border-color:#0000;font-weight:700}.lib-empty{text-align:center}.report-list{margin:0;padding:0;list-style:none}.profile{align-items:center;gap:var(--s4);margin:var(--s5) 0;min-width:0;display:flex}.profile>div{flex:1;min-width:0}.profile h2{overflow-wrap:anywhere;margin:0 0 4px;font-size:20px}.profile p{color:var(--muted);margin:0;font-size:13px}.usage-card .head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.usage-card .big{letter-spacing:-.6px;margin:var(--s3) 0 0;font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.app-icon{width:88px;height:88px;margin:var(--s7) auto;box-shadow:var(--shadow);border-radius:22px;display:block}.login-page{max-width:460px}.password-field{position:relative}.password-field input{padding-right:104px}.password-toggle{min-height:var(--cible);text-underline-offset:3px;min-width:88px;color:var(--ink);background:0 0;border:0;border-radius:8px;font-size:15px;text-decoration:underline;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login label{margin-top:var(--s4)}.login-forgot{text-align:right;margin:var(--s1) 0 var(--s3);font-size:15px}.login-forgot a{min-height:var(--cible);align-items:center;display:inline-flex}.login-or{align-items:center;gap:var(--s3);color:var(--muted);margin:var(--s4) 0;display:flex}.login-or:before,.login-or:after{content:"";border-top:1px solid var(--line);flex:1}.source-card{align-items:center;gap:var(--s3);display:flex}.source-card-text{flex:1;min-width:0}.source-card-text p{margin:0}.source-card-title{overflow-wrap:anywhere;font-weight:600}.source-ok{background:var(--green);color:#fff;width:32px;height:32px;animation:pop .42s var(--ease-spring) both;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.approach{gap:var(--s3);padding:var(--s4) 0;border-bottom:1px solid var(--line);align-items:flex-start;display:flex}.approach .icon{color:var(--green);margin-top:2px}.approach b{font-size:15px;display:block}.approach small{color:var(--muted);font-size:13px}.preview{margin:var(--s5) 0}.preview-head{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.preview-head h2{margin:0;font-size:17px}.preview-nav{align-items:center;gap:var(--s2);white-space:nowrap;flex:none;display:flex}.preview-body{margin-top:var(--s3);max-height:320px;font-size:15px;overflow-y:auto}.prepare h1{letter-spacing:-1.3px;font-size:34px;line-height:1.1}.prepare-foot{color:var(--muted);margin-top:var(--s3);font-size:13px}.admin-section{margin-bottom:var(--s8)}.stats{gap:var(--s3);margin:0 0 var(--s4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stats div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control);padding:var(--s3) var(--s4);min-width:0}.stats dt{color:var(--muted);font-size:13px}.stats dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:700}.stats dd .muted{font-size:14px;font-weight:400;display:block}.quota-row label{font-weight:500}.admin-form{gap:var(--s2);margin-bottom:var(--s4);display:grid}.admin-form .btn{justify-self:start}.admin-table{border-collapse:collapse;width:100%;margin-bottom:var(--s3);font-size:14px}.admin-table th,.admin-table td{text-align:left;padding:var(--s2);border-bottom:1px solid var(--line);vertical-align:top}.allow-list,.audit-list{margin:0 0 var(--s4);padding:0;list-style:none}.allow-list li{align-items:center;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.allow-email{overflow-wrap:anywhere;flex:200px;font-weight:500}.audit-list li{padding:var(--s1) 0;overflow-wrap:anywhere}.diag-list{margin:var(--s3) 0 0;padding:0;list-style:none}.diag-list li{padding:var(--s2) 0 var(--s2) 28px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;animation:rise-in var(--t-panel) var(--ease-out) both;position:relative}.diag-list li:before{font-weight:700;position:absolute;left:0}.diag-ok:before{content:"✓";color:var(--green)}.diag-ko:before{content:"✗";color:var(--danger)}.account-delete{border:1px solid var(--danger);border-radius:var(--r-card);padding:var(--s3) var(--s4);background:var(--surface)}.account-delete summary{color:var(--danger)}.offline-art{width:120px;height:120px;margin:var(--s7) auto var(--s5);background:var(--soft);color:var(--muted);border-radius:30px;place-items:center;display:grid}.offline-art .icon{width:44px;height:44px}h1.display,.prep h1{letter-spacing:-1.3px;max-width:14ch;font-size:34px;line-height:1.1}.filetile-sm{border-radius:12px;width:52px;height:52px}.source-reading{align-items:center;gap:var(--s2);margin:0;font-size:14px;display:flex}.source-reading .source-ok{width:24px;height:24px}.filecard .btn-block{margin:var(--s2) 0 0}.approach>span{min-width:0;display:block}.prep .phase{animation:rise-in var(--t-panel) var(--ease-spring) both}.prep .step-current .step-detail{color:var(--ink)}.prep-error .icon-badge{background:var(--danger-pale);width:64px;height:64px;color:var(--danger);margin:var(--s3) 0 var(--s5);border-radius:18px;place-items:center;display:grid}.prep-compact{align-items:center;gap:var(--s3);display:flex}.prep-compact p{margin:0}.lib-tabs{margin:var(--s3) 0 var(--s4)}.recover{gap:var(--s2);display:grid}.recover>.icon{color:var(--danger)}.recover h3{margin:0;font-size:20px}.recover p{margin:0}.lib-empty h2{margin:0 0 var(--s2);font-size:24px}.usage-card h2{margin:0;font-size:15px}.usage-card progress{margin:var(--s3) 0}.logout-form{margin-top:var(--s6)}.retention-list{margin:var(--s4) 0}.retention-list>div{border-bottom:1px solid var(--line);padding:14px 0}.retention-list dt{font-size:15px;font-weight:620}.retention-list dd{color:var(--muted);margin:4px 0 0;font-size:14px}.modecards-field{margin:var(--s4) 0 0;border:0;min-width:0;padding:0}.login-page{padding-top:var(--s7)}.login-brand{margin-bottom:var(--s6)}.login-brand .brand b{font-size:30px}.install-steps{margin:var(--s2) 0 0;padding-left:var(--s5)}.install-steps li{margin:var(--s2) 0}.page-loading{padding-top:calc(var(--header) + var(--s4))}.settings-block{margin-top:var(--s6)}.add-page h1{letter-spacing:-1px;margin:var(--s3) 0 var(--s4);font-size:30px;line-height:1.15}.import-tabs{margin:0 0 var(--s4)}.import-tabs button{gap:6px}.import-panel{min-height:120px}.upload-title{font-size:17px;font-weight:700}.fileline{align-items:center;gap:var(--s3);border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);animation:rise-in var(--t-panel) var(--ease-spring) both;min-width:0;padding:12px 8px 12px 14px;display:flex}.fileline-icon{background:var(--pale);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.fileline-text{flex:1;gap:2px;min-width:0;display:grid}.fileline-text b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.fileline-text small{color:var(--muted);font-size:13px}.fileline-text progress{margin-top:6px}.fileline-replace{flex:none;font-size:14px}.text-count{text-align:right;margin:4px 0 0}.filelist{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.fileline.is-error{border-color:var(--danger);background:var(--danger-pale)}.fileline.is-error .fileline-icon{color:var(--danger);background:0 0}.fileline-error{color:var(--danger);overflow-wrap:anywhere;font-size:13px}.fileline-actions{flex:none;display:flex}.fileline-actions .ib{width:40px;height:40px}.add-more{margin-top:var(--s3);cursor:pointer;border-style:dashed}.add-more[aria-disabled=true]{opacity:.5;pointer-events:none}.add-limits{margin:var(--s2) 0 0}.output-choice{margin:var(--s5) 0 0}.modes{margin:var(--s5) 0 var(--s4);border:0;min-width:0;padding:0}.modes legend{margin-bottom:var(--s2);padding:0;font-size:14px;font-weight:700}.mode-grid{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.mode-card{border:1.5px solid var(--line);border-radius:var(--r-card);background:var(--surface);min-width:0;box-shadow:var(--shadow);cursor:pointer;transition:border-color var(--t-press) ease, transform var(--t-press) var(--ease-spring), box-shadow var(--t-press) ease;flex-direction:column;gap:4px;margin:0;padding:14px 12px 12px;display:flex;position:relative}.mode-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.mode-card:active{transform:scale(.985)}.mode-card.is-selected{border-color:var(--green);background:var(--green-pale)}.mode-card:has(input:focus-visible){outline:3px solid var(--green);outline-offset:2px}.mode-card strong{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:15px;line-height:1.25}.mode-desc{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.4}.mode-check{background:var(--green);width:22px;height:22px;color:var(--surface);opacity:0;transition:opacity var(--t-press) ease, transform var(--t-press) var(--ease-spring);border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px;transform:scale(.6)}.mode-card.is-selected .mode-check{opacity:1;transform:none}.mode-icon{filter:drop-shadow(0 2px #20211f1a);width:44px;height:44px;margin-bottom:4px;overflow:visible}.mode-icon .mi-soft{fill:var(--pale);transform:translate(1.5px,1.5px)}.mode-icon .mi-ink{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.mode-icon .mi-accent{fill:none;stroke:var(--green);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.mode-icon rect.mi-ink{fill:var(--surface)}.mode-icon path.mi-accent[d$=Z]{fill:var(--green);stroke:none}@media (max-width:359px){.mode-card{padding:12px 10px 10px}.mode-icon{width:38px;height:38px}.mode-card strong{font-size:14px}}.add-privacy{margin:var(--s3) 0 0}.add-foot{margin-top:var(--s7);text-align:center}.powered{margin:var(--s4) 0 0;color:var(--muted);font-size:13px}.lib-head{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.lib-head h1{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.lib-search-toggle{position:relative}.lib-search-toggle.is-active{background:var(--pale)}.lib-search-dot{background:var(--green);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.lib-search{animation:rise-in var(--t-panel) var(--ease-out) both;flex-basis:100%}.lib-search[hidden]{display:none}.lib-search .searchbox{margin:var(--s2) 0}.recent-searches{margin-bottom:var(--s3)}.recent-searches ul{margin:0;padding:0;list-style:none}.recent-searches li button{align-items:center;gap:var(--s2);width:100%;min-height:44px;padding:0 var(--s2);font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;display:flex}.recent-searches li button:hover{background:var(--soft)}.recent-searches li button span{overflow-wrap:anywhere;flex:1;min-width:0}.recent-searches .icon{color:var(--muted);flex:none}.active-search{align-items:center;gap:var(--s2);margin:var(--s3) 0 0;color:var(--muted);flex-wrap:wrap;font-size:14px;display:flex}.active-search .chip{text-transform:none;letter-spacing:0;gap:4px;min-height:36px;font-size:13px;text-decoration:none}.lib-filters{margin-top:var(--s3);flex-wrap:nowrap;gap:6px}.lib-filters .filterchip{white-space:nowrap;flex:auto;justify-content:center;padding:0 10px}@media (max-width:359px){.lib-filters .filterchip{padding:0 6px;font-size:13px}}.lib-section-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.lib-section-head .eyebrow{margin:0}.lib-newfolder{min-height:40px;padding:0 12px;font-size:14px}.lib-folders{margin-bottom:var(--s4)}.crumbs{margin:0 0 var(--s1);font-size:14px}.crumbs a{color:var(--muted)}.folder-actions{gap:var(--s4);margin:var(--s1) 0 var(--s2);display:flex}.btn-link.danger{color:var(--danger)}.lib-row{list-style:none}.lib-row-main{align-items:center;gap:2px;display:flex}.lib-row-main>.row{flex:1;min-width:0}.lib-row-main .row-text{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.lib-more{color:var(--muted);flex:none}.lib-failure{padding-bottom:var(--s3);border-bottom:1px solid var(--line)}.lib-failure .row{border-bottom:0}.lib-failure-body{padding:0 0 0 44px}.lib-failure-body p{margin:0 0 var(--s2)}.lib-failure-body .actions-row .btn{flex:130px;min-height:44px}.lib-failures-intro{margin:0 0 var(--s3)}.lib-extra{margin-top:var(--s5)}.app-foot{margin-top:var(--s8);padding-top:var(--s4);border-top:1px solid var(--line);text-align:center}.app-foot .powered{margin:0}.with-fab .app-foot{margin-bottom:var(--s4)}.lib-row.is-selected .row{background:var(--green-pale);border-radius:10px}.lib-select{cursor:pointer}.lib-select input{opacity:0;width:1px;height:1px;position:absolute}.lib-select:has(input:focus-visible){outline:3px solid var(--green);outline-offset:2px;border-radius:10px}.lib-selbar{left:var(--s4);right:var(--s4);bottom:calc(var(--s4) + env(safe-area-inset-bottom));z-index:30;align-items:center;gap:var(--s2);max-width:640px;padding:var(--s2) var(--s3);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-lift);animation:rise-in var(--t-panel) var(--ease-spring) both;flex-wrap:wrap;margin:0 auto;display:flex;position:fixed}@media (min-width:1200px){.lib-selbar{left:calc(var(--sidebar) + var(--s6))}}.app:has(.lib-selbar) .fab{display:none}.lib-selbar-space{height:128px}.lib-selbar-n{flex:100%;font-size:14px;font-weight:650}.lib-selbar .btn{flex:140px;min-height:44px}@media (min-width:480px){.lib-selbar-n{flex:auto}.lib-selbar .btn{flex:none}}.searchbox .searchbox-clear{width:40px;height:40px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.searchbox .searchbox-clear .icon{pointer-events:none;position:static;transform:none}.searchbox input[type=search]::-webkit-search-cancel-button{display:none}.searchbox input{padding-right:46px}.move-panel .move-dest{margin:var(--s2) 0 var(--s4)}.move-dest .choice.is-current{opacity:.6}.move-new{margin:0 0 var(--s4)}.move-new-row{gap:var(--s2);display:flex}.move-new-row input{flex:1;min-width:0}.job-cards{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}@media (min-width:900px){.job-cards{grid-template-columns:1fr 1fr}}.job-card{padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);min-width:0}.job-card.job-failed,.job-card.job-uncertain{border-color:var(--danger)}.job-head{align-items:center;gap:4px var(--s2);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.job-head b{flex:1;min-width:0}.job-status{border-radius:var(--r-pill);background:var(--soft);align-items:center;min-height:26px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.job-status-running,.job-status-queued{background:var(--pale)}.job-status-succeeded{background:var(--green-pale);color:var(--green)}.job-status-failed,.job-status-uncertain{background:var(--danger-pale);color:var(--danger)}.job-facts{gap:6px var(--s3);grid-template-columns:1fr 1fr;margin:0;font-size:14px;display:grid}.job-facts div{min-width:0}.job-facts dt{color:var(--muted);font-size:12px}.job-facts dd{overflow-wrap:anywhere;margin:0}.job-actions{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.job-actions form{flex:140px}.job-actions .btn{width:100%;min-height:44px}.mfa-step{gap:12px;display:grid}.mfa-qr{background:#fff;border-radius:8px;width:200px;max-width:100%;height:200px;margin:0 auto;padding:8px;display:block}.mfa-secret{overflow-wrap:anywhere;font-family:var(--font-mono,monospace);margin-top:8px;display:block}.lib-more:not(:focus-visible){clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lib-section-title{margin:var(--s6) 0 var(--s3)}.lib-section-head .lib-section-title{margin:0}.lib-toggle{min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-left:-4px;padding:0 8px 0 0;display:inline-flex}.lib-toggle-chevron{width:16px;height:16px;transition:transform .16s;transform:rotate(90deg)}.lib-toggle[aria-expanded=false] .lib-toggle-chevron{transform:none}.lib-toggle-count{font-variant-numeric:tabular-nums;opacity:.8}@media (prefers-reduced-motion:reduce){.lib-toggle-chevron{transition:none}}.period-switch{margin:var(--s2) 0 var(--s5);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);gap:4px;padding:4px;display:inline-flex}.period-switch button{min-height:var(--cible);border-radius:var(--r-pill);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}.period-switch button.on{background:var(--ink);color:var(--bg)}.badge-soft{border-radius:var(--r-pill);background:var(--pale);color:var(--ink);padding:2px 8px;font-size:11px;font-weight:700}.period-switch button.on .badge-soft{background:var(--yellow);color:var(--on-yellow)}.offers{margin:0 0 var(--s5);gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:0;list-style:none;display:grid}.offer{padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);flex-direction:column;gap:6px;display:flex;position:relative}.offer h2{margin:0;font-size:20px}.offer p{margin:0}.offer.featured{border:2px solid var(--ink)}.offer-badge{top:-12px;left:var(--s5);border-radius:var(--r-pill);background:var(--yellow);color:var(--on-yellow);padding:2px 10px;font-size:12px;font-weight:700;position:absolute}.offer-price{font-variant-numeric:tabular-nums;font-size:26px;font-weight:760;margin-top:var(--s2)!important}.offer-price .small{margin-left:4px;font-weight:500}.offer-credits{font-weight:700}.offer-features{margin:var(--s2) 0 var(--s4);flex:1;padding-left:1.1em}.offer-features li{margin:4px 0}.topups{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:0;list-style:none;display:grid}.topup{flex-direction:column;gap:6px;display:flex}.topup p{margin:0}.compare summary,.faq summary{cursor:pointer;min-height:var(--cible);align-items:center;display:flex}.compare summary h2{margin:0;font-size:18px}.compare table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}.compare th,.compare td{text-align:left;border-bottom:1px solid var(--line);padding:8px}.compare td{font-variant-numeric:tabular-nums}.price-list{padding:0;list-style:none}.price-list li{justify-content:space-between;gap:var(--s3);border-bottom:1px solid var(--line);padding:8px 0;display:flex}.price-list b{white-space:nowrap}.faq{border-bottom:1px solid var(--line)}.faq summary{font-weight:650}.faq p{margin:0 0 var(--s3)}.recap{gap:8px var(--s4);grid-template-columns:auto 1fr;display:grid}.recap dt{color:var(--muted)}.recap dd{overflow-wrap:anywhere;margin:0}.recap-total{font-size:20px;font-weight:760}.checkout-form{margin-top:var(--s4);gap:6px;display:grid}.checkout-form label{margin-top:var(--s2);font-weight:600}.checkout-form .btn{margin-top:var(--s3)}.pay-state .big{margin-top:0}.pay-succeeded{border-color:var(--green)}.pay-failed,.pay-review{border-color:var(--danger)}.billing-cta{gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.stack-form{margin:var(--s3) 0;gap:6px;display:grid}.stack-form .btn{margin-top:var(--s2);justify-self:start}.stack-form .check{align-items:flex-start;gap:10px;display:flex}.quota-list{margin:var(--s2) 0;color:var(--muted);padding:0;font-size:14px;list-style:none}.device-row{gap:var(--s3);align-items:center;display:flex}.oauth-buttons{flex-direction:column;gap:.6rem;margin:1rem 0 .5rem;display:flex}.oauth-buttons p{margin:.25rem 0 0}.copy-email{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.copy-email code{overflow-wrap:anywhere}.login-signup{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--line);text-align:center}.login-signup h2{margin:0 0 10px}.login-signup p{margin:8px 0 0}
