:root{--bg:#e8ebe4;--panel:#f7f8f4;--panel2:#eff1ea;--hair:#dde2d8;--ink:#1f2a24;--soft:#66746a;--accent:#2f6b4f;--on-accent:#ffffff;--accent-soft:#e1ebe3;--lire:#3b6ea5;--cours:#b3652e;--lu:#2f6b4f;--aband:#8b9389;--danger:#b3402e;--shadow:0 1px 3px rgba(20,40,30,0.12);--shadow-lg:0 6px 24px rgba(20,40,30,0.14)}[data-theme=night]{--bg:#191d1a;--panel:#20261f;--panel2:#282f26;--hair:#2e362d;--ink:#e6eae2;--soft:#93a297;--accent:#7fb99a;--on-accent:#14231c;--accent-soft:#263528;--lire:#7ba3cc;--cours:#d09055;--lu:#7fb99a;--aband:#7e8a80;--danger:#e07b6a;--shadow:0 1px 3px rgba(0,0,0,0.3);--shadow-lg:0 8px 28px rgba(0,0,0,0.4)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14.5px;line-height:1.55;background:var(--bg);color:var(--ink);min-height:100vh;transition:background .2s,color .2s}::selection{background:rgba(47,107,79,.22)}button,input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3{letter-spacing:-.2px}.ic{display:inline-flex;vertical-align:-2px}.shell{display:flex;min-height:100vh}.sidebar{width:218px;flex:none;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:20px 12px 16px;background:var(--panel);border-right:1px solid var(--hair)}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:6px 10px 18px;font-weight:700;font-size:13.5px;letter-spacing:-.2px}.sidebar-nav{flex:1 1;display:flex;flex-direction:column;gap:2px}.sidebar-bottom{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;grid-gap:12px;gap:12px}.sidebar-bottom>*{min-width:0}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;color:var(--soft);text-decoration:none;font-size:13px;font-weight:500;transition:background .12s,color .12s}.nav-link:hover{color:var(--ink);background:var(--panel2)}.nav-link.active{color:var(--on-accent);background:var(--accent);font-weight:600}.sidebar-user{position:relative;padding:12px 6px 0;border-top:1px solid var(--hair)}.sidebar-user,.user-chip{display:flex;align-items:center;gap:9px}.user-chip{width:100%;min-width:0;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.user-chip:hover{background:var(--panel2)}.user-chip .chev{flex:none;display:inline-flex;color:var(--soft);transition:transform .15s ease}.user-chip[aria-expanded=true] .chev{transform:rotate(180deg)}.user-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:60;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;box-shadow:0 12px 32px rgba(15,20,16,.16)}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:12.5px;text-align:left;text-decoration:none;cursor:pointer}.user-menu-item:hover{background:var(--panel2)}.user-menu-item.danger:hover{color:var(--danger)}.user-menu-item .menu-value{margin-left:auto;font-size:11px;color:var(--soft)}.menu-chip{flex:none;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;font-size:8.5px;font-weight:700;letter-spacing:-.3px}.menu-divider{height:1px;margin:4px 6px;background:var(--hair)}.avatar{width:30px;height:30px;flex:none;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.avatar.lg{width:52px;height:52px;font-size:20px}.user-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:0}.user-meta strong{font-size:12.5px}.user-meta span,.user-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta span{font-size:10.5px;color:var(--soft)}.icon-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--soft);background:transparent;border:1px solid var(--hair);border-radius:8px;cursor:pointer}.icon-btn:hover{color:var(--ink);border-color:var(--soft)}.content{flex:1 1;min-width:0;padding:28px 36px 36px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.page-head h1{margin:0;font-size:20px}.page-head .count{font-weight:400}.page-head .count,.page-sub{color:var(--soft);font-size:13px}.page-sub{margin:2px 0 0}.page-head.with-action{align-items:center}.muted{color:var(--soft)}.search-panel{display:flex;gap:8px;margin:0 0 8px}#search-input{flex:1 1;padding:10px 14px;font-size:14px;color:var(--ink);background:var(--panel);border:1px solid var(--hair);border-radius:10px;outline:none}#search-input::placeholder{color:var(--soft)}#search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.14)}.search-panel .btn-icon,.search-panel button[type=submit]{padding:10px 16px;font-size:13px;font-weight:600;color:var(--on-accent);background:var(--accent);border:1px solid var(--accent);border-radius:10px;cursor:pointer}.search-panel .btn-icon{color:var(--soft);background:var(--panel);border-color:var(--hair);display:inline-flex;align-items:center}.search-panel .btn-icon:hover{color:var(--accent);border-color:var(--accent)}.search-panel button[type=submit]:hover:not(:disabled){filter:brightness(1.08)}.search-panel button:disabled{opacity:.6;cursor:wait}.hint{color:var(--soft);font-size:12px;margin:2px 2px 0;display:flex;align-items:center;gap:6px}.results{display:flex;flex-direction:column;gap:12px;margin-top:18px}.results-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.results-count{color:var(--soft);font-size:12.5px}.results-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.close-results-btn,.page-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--panel);border:1px solid var(--hair);border-radius:9px;cursor:pointer}.close-results-btn:hover:not(:disabled),.page-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.page-btn:disabled{opacity:.4;cursor:default}.close-results-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:12px;gap:12px}.book-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 14px 14px;background:var(--panel);border:1px solid var(--hair);border-radius:14px;transition:transform .12s,box-shadow .15s,border-color .15s}.book-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent)}.cover{width:84px;height:124px;object-fit:cover;border-radius:8px;background:var(--panel2);flex:none;box-shadow:0 1px 3px rgba(20,40,30,.18)}.cover-empty,.thumb-empty{display:flex;align-items:center;justify-content:center;color:var(--soft)}.cover-empty{width:84px;height:124px}.book-info{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:2px}.book-info h3{font-size:14px;font-weight:700;line-height:1.35}.book-info h3,.book-info p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-info p{font-size:12px;color:var(--soft);line-height:1.45}.book-card .add-btn{width:100%;justify-content:center;margin-top:auto}.add-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:none;border-radius:8px;cursor:pointer}.add-btn:hover:not(:disabled){filter:brightness(.96)}.add-btn:disabled{color:var(--lu);cursor:not-allowed}.list-panel{margin:26px 0 0}.list-head{align-items:center;justify-content:space-between;gap:12px}.list-head,.list-tools{display:flex;flex-wrap:wrap}.list-tools{gap:8px}.ghost-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--panel);border:1px solid var(--hair);border-radius:9px;cursor:pointer}.ghost-btn:hover{border-color:var(--accent);color:var(--accent)}.ghost-btn.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.tabs{display:flex;gap:4px;background:var(--panel2);padding:4px;border-radius:12px;margin:16px 0 14px;width:-moz-fit-content;width:fit-content;max-width:100%;flex-wrap:wrap}.tabs button{padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--soft);background:transparent;border:none;border-radius:9px;cursor:pointer}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--ink);background:var(--panel);box-shadow:var(--shadow)}.tabs button i{font-style:normal;opacity:.65;font-size:11px;margin-left:4px}.my-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}.list-item{display:flex;align-items:center;gap:14px;padding:12px 15px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;transition:box-shadow .15s,border-color .15s}.list-item:hover{box-shadow:var(--shadow)}.list-item.read{opacity:.62}.list-item.read strong{text-decoration:line-through}.thumb{width:42px;height:62px;object-fit:cover;border-radius:7px;background:var(--panel2);flex:none;box-shadow:0 1px 3px rgba(20,40,30,.18);transition:transform .16s ease,box-shadow .16s ease}.list-item img.thumb:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 4px 10px rgba(20,40,30,.22)}.book-cover-image{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.book-cover-image:hover{transform:scale(1.03);filter:brightness(1.04)}.thumb-empty{width:42px;height:62px}.list-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-meta strong{font-size:14px}.list-meta span{font-size:12px}.badge{font-size:11.5px;font-weight:600;padding:3px 11px;border-radius:999px;flex:none;white-space:nowrap}.bd-lire{background:rgba(59,110,165,.13);color:var(--lire)}.bd-cours{background:rgba(179,101,46,.14);color:var(--cours)}.bd-lu{background:rgba(47,107,79,.14);color:var(--lu)}.bd-aband{background:rgba(139,147,137,.18);color:var(--aband)}.chips{display:flex;gap:5px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;font-size:11px;color:var(--soft);background:var(--panel2);border-radius:999px;white-space:nowrap}.chip-collection{color:var(--accent);background:var(--accent-soft)}.chip-x{border:none;background:none;color:var(--soft);font-size:12px;line-height:1;padding:0;cursor:pointer;display:inline-flex}.chip-x:hover{color:var(--danger)}.notes summary,.summary summary{font-size:12px;font-weight:600;color:var(--accent);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.summary p{margin:6px 0 0;font-size:12.5px;color:var(--soft);line-height:1.55}.notes textarea{width:100%;margin-top:6px;padding:9px 11px;font-size:13px;line-height:1.55;color:var(--ink);background:var(--panel2);border:1px solid var(--hair);border-radius:9px;outline:none;resize:vertical;min-height:60px}.notes textarea:focus{border-color:var(--accent)}.reallife-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px}.owned-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--soft);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.owned-toggle input{accent-color:var(--accent);cursor:pointer}.owned-toggle:has(input:checked){color:var(--lu);font-weight:600}.loan-row{display:inline-flex;align-items:center;gap:6px}.loan-input{width:110px;padding:4px 9px;font-size:12px;color:var(--ink);background:var(--panel2);border:1px solid var(--hair);border-radius:7px;outline:none}.loan-input:focus{border-color:var(--accent)}.buy-links a{color:var(--accent);text-decoration:none;font-weight:600}.buy-links a:hover{text-decoration:underline}.progress-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-input{width:62px;padding:4px 8px;font-size:12.5px;color:var(--ink);background:var(--panel2);border:1px solid var(--hair);border-radius:7px;outline:none}.page-input:focus{border-color:var(--accent)}.progress{flex:1 1;min-width:80px;max-width:200px;height:6px;background:var(--panel2);border-radius:999px;overflow:hidden}.progress>div{height:100%;width:100%;transform-origin:left;background:var(--accent);border-radius:999px;transition:transform .25s ease-out}.goal-progress{height:8px;max-width:240px}.list-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.stars{display:flex;gap:1px}.stars button{padding:0 1px;font-size:15px;line-height:1;color:var(--hair);background:none;border:none;cursor:pointer}.stars button.on{color:#e8a33d}.stars button:hover{transform:scale(1.15)}.remove-btn{display:inline-flex;align-items:center;justify-content:center;color:var(--soft);background:transparent;border:1px solid transparent;padding:7px;border-radius:8px;cursor:pointer}.remove-btn:hover{color:var(--danger);background:rgba(179,64,46,.08)}.collections-bar{display:flex;align-items:center;gap:8px;margin:14px 0 0;flex-wrap:wrap}.collections-bar .remove-btn{color:var(--danger);border-color:var(--hair)}.collections-bar .remove-btn:hover{border-color:var(--danger);background:rgba(179,64,46,.06)}.stats-panel{display:flex;flex-direction:column;gap:14px;margin-top:4px}.goal-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px}.goal-row strong{font-size:17px}.goal-input{width:64px;padding:6px 9px;font-size:13px;color:var(--ink);background:var(--panel2);border:1px solid var(--hair);border-radius:8px;outline:none}.goal-input:focus{border-color:var(--accent)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.stat-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--panel);border:1px solid var(--hair);border-radius:12px}.stat-card strong{font-size:22px;letter-spacing:-.5px}.stat-card span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--soft)}.chart{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px}.chart-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}.bars{display:flex;align-items:flex-end;gap:10px;height:110px}.bar-col{flex:1 1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.bar-count{font-size:11px;color:var(--soft);min-height:13px}.bar{width:100%;max-width:42px;background:var(--accent);border-radius:6px 6px 2px 2px;opacity:.85}.bar-month{font-size:11px;color:var(--soft);text-transform:capitalize}.settings-grid{gap:14px;max-width:620px;margin-left:auto;margin-right:auto;width:100%}.card,.settings-grid{display:flex;flex-direction:column}.card{gap:10px;padding:18px 20px;background:var(--panel);border:1px solid var(--hair);border-radius:14px}.card h2{font-size:13px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:7px}.card .small,.card h2{margin:0;color:var(--soft)}.card .small{font-size:12px}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.account-row{display:flex;align-items:center;gap:14px}.account-meta{display:flex;flex-direction:column;gap:2px}.account-meta strong{font-size:16px}.account-meta .small{font-size:11px}.goal-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-error{margin:0;font-size:13px;color:var(--danger)}.modal-overlay{position:fixed;inset:0;background:rgba(20,30,24,.5);align-items:center;justify-content:center;z-index:50}.modal,.modal-overlay{display:flex;padding:20px}.modal{width:100%;max-width:480px;background:var(--panel);border:1px solid var(--hair);border-radius:16px;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 40px);overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head strong{font-size:14.5px}.modal p{margin:0;font-size:13.5px;color:var(--soft)}.scanner-wrap{position:relative}.scanner-video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#000;display:block}.scanner-frame{left:15%;right:15%;top:25%;bottom:25%;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 200vmax rgba(0,0,0,.35)}.scanner-frame,.scanner-overlay{position:absolute;border-radius:10px;pointer-events:none}.scanner-overlay{inset:0;width:100%;height:100%}.zoom-controls{position:absolute;right:10px;bottom:10px;gap:4px;background:rgba(0,0,0,.55);border-radius:999px;padding:3px 8px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-user-select:none;-moz-user-select:none;user-select:none}.zoom-controls,.zoom-controls button{display:flex;align-items:center;color:#fff}.zoom-controls button{width:26px;height:26px;border:none;border-radius:50%;background:rgba(255,255,255,.18);font-size:15px;line-height:1;cursor:pointer;justify-content:center}.zoom-controls button.on{background:#fbbf24;color:#111}.modal input[type=file]{font-size:13px;color:var(--soft)}.placeholder{padding:26px;text-align:center;color:var(--soft);border:1.5px dashed var(--hair);border-radius:12px}.placeholder,.toast{font-size:13.5px;background:var(--panel)}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);padding:12px 20px;color:var(--ink);border:1px solid var(--hair);border-radius:12px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:var(--shadow-lg)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;padding:30px 28px;background:var(--panel);border:1px solid var(--hair);border-radius:18px;box-shadow:var(--shadow-lg)}.auth-card h1{margin:0 0 10px;font-size:18px;text-align:center;letter-spacing:-.2px}.auth-tabs{display:flex;gap:4px;background:var(--panel2);padding:4px;border-radius:11px;margin-bottom:8px}.auth-tabs button{flex:1 1;padding:8px;font-size:12.5px;font-weight:600;color:var(--soft);background:transparent;border:none;border-radius:8px;cursor:pointer}.auth-tabs button.active{color:var(--ink);background:var(--panel);box-shadow:var(--shadow)}.auth-card input{padding:11px 14px;font-size:14px;color:var(--ink);background:var(--panel2);border:1px solid var(--hair);border-radius:10px;outline:none}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.14)}.auth-submit{padding:12px;font-size:14px;font-weight:600;color:var(--on-accent);background:var(--accent);border:none;border-radius:10px;cursor:pointer}.auth-submit:hover:not(:disabled){filter:brightness(1.05)}.auth-submit:disabled{opacity:.6}.auth-link{color:var(--accent);font-size:12.5px;text-align:center;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-description,.auth-success{margin:-2px 0 2px;font-size:13px;line-height:1.45;text-align:center}.auth-success{color:var(--accent)}.auth-legal{margin:-2px 0 0;font-size:11px;line-height:1.5;text-align:center}.auth-legal a{color:var(--accent)}.legal-page{min-height:100vh;padding:22px 20px 34px;background:var(--bg);color:var(--ink)}.legal-card,.legal-footer,.legal-nav{width:min(900px,100%);margin-inline:auto}.legal-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.legal-brand,.legal-home{color:var(--ink);text-decoration:none}.legal-brand{display:inline-flex;align-items:center;gap:9px;font-size:14px}.legal-actions{display:flex;align-items:center;gap:14px}.legal-lang{padding:5px 8px;border:1px solid var(--hair);border-radius:7px;color:var(--soft);background:var(--panel);font-size:11px;font-weight:700;cursor:pointer}.legal-home:hover,.legal-lang:hover{color:var(--accent)}.legal-home{font-size:12.5px;font-weight:600}.legal-card{padding:clamp(24px,5vw,52px);background:var(--panel);border:1px solid var(--hair);border-radius:18px;box-shadow:var(--shadow-lg)}.legal-eyebrow{margin:0 0 8px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.legal-card h1{margin:0;font-size:clamp(26px,4vw,38px);letter-spacing:-.8px}.legal-intro{max-width:700px;margin:12px 0 4px;color:var(--soft);font-size:15px}.legal-updated{margin:0 0 20px;color:var(--soft);font-size:11px}.legal-section{padding:22px 0;border-top:1px solid var(--hair)}.legal-section h2{margin:0 0 12px;font-size:18px;letter-spacing:-.3px}.legal-detail,.legal-section li,.legal-section p{font-size:14px;line-height:1.65}.legal-section p{margin:0 0 10px}.legal-section p:last-child{margin-bottom:0}.legal-section ul{margin:0;padding-left:22px}.legal-section li+li{margin-top:8px}.legal-details{display:grid;grid-gap:10px;gap:10px;margin:14px 0 0}.legal-detail{display:grid;grid-template-columns:minmax(145px,.32fr) 1fr;grid-gap:14px;gap:14px}.legal-detail dt{color:var(--soft);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.legal-detail dd{margin:0}.legal-footer a,.legal-section a{color:var(--accent);text-underline-offset:3px}.legal-footer{display:flex;justify-content:space-between;gap:16px;padding-top:22px;color:var(--soft);font-size:11px}.legal-footer nav{text-align:right}@media (max-width:600px){.legal-page{padding-inline:12px}.legal-nav{margin-bottom:18px}.legal-card{padding:22px 18px;border-radius:14px}.legal-detail{grid-template-columns:1fr;gap:2px}.legal-footer{flex-direction:column}.legal-footer nav{text-align:left}}@media (max-width:860px){.shell{flex-direction:column}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:40;width:100%;height:auto;flex-direction:row;align-items:center;gap:8px;padding:10px 14px;border-right:none;border-bottom:1px solid var(--hair);overflow-x:auto}.sidebar-brand{padding:0 6px 0 0;white-space:nowrap}.sidebar-brand span:not(.brand-icon){display:none}.sidebar-nav{flex-direction:row}.sidebar-bottom{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.nav-link{padding:8px 10px;white-space:nowrap}.nav-label{display:none}.sidebar-user{border-top:none;padding:0 0 0 8px;margin-left:0}.user-menu{bottom:auto;top:calc(100% + 8px);left:auto;right:0;width:220px}.user-meta{display:none}.content{padding:20px 16px 80px}}@media (max-width:560px){.search-panel{flex-direction:column}.search-panel .btn-icon{justify-content:center}.list-item,.row{flex-wrap:wrap}.list-actions{justify-content:flex-start}}.title-link{background:none;border:none;padding:0;text-align:left;font:inherit;font-weight:600;font-size:14px;color:var(--ink);cursor:pointer}.title-link:hover{color:var(--accent);text-decoration:underline}.stars-ro{color:#e8a33d;font-size:11.5px;letter-spacing:1.5px;flex:none;white-space:nowrap}.prog-mini{display:flex;align-items:center;gap:7px;width:96px;flex:none}.prog-mini .progress{min-width:0;max-width:none}.prog-mini small{font-size:10.5px;color:var(--soft);white-space:nowrap}.drawer-overlay{position:fixed;inset:0;background:rgba(15,24,19,.45);z-index:60;animation:drawer-fade .2s ease-out}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);z-index:61;background:var(--bg);border-left:1px solid var(--hair);box-shadow:-10px 0 40px rgba(20,40,30,.2);display:flex;flex-direction:column;animation:drawer-in .25s ease-out}@keyframes drawer-in{0%{transform:translateX(60px);opacity:0}to{transform:none;opacity:1}}.drawer-head{display:flex;align-items:center;padding:10px 18px}.drawer-head .icon-btn{margin-left:auto}.drawer-body{flex:1 1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:var(--soft) var(--panel2)}.drawer-body::-webkit-scrollbar{width:10px}.drawer-body::-webkit-scrollbar-track{background:var(--panel2);border-radius:8px}.drawer-body::-webkit-scrollbar-thumb{background:var(--soft);border-radius:8px;border:2px solid var(--panel2)}.drawer-body::-webkit-scrollbar-thumb:hover{background:var(--ink)}.d-head{display:flex;gap:16px;align-items:flex-start}.d-cover{width:96px;height:142px;flex:none;border-radius:10px;object-fit:cover;background:var(--panel);box-shadow:0 3px 12px rgba(20,40,30,.22)}.d-cover:not(.cover-empty),.drawer-compact-cover:not(.cover-empty){transition:transform .16s ease,box-shadow .16s ease}.d-cover:not(.cover-empty):hover,.drawer-compact-cover:not(.cover-empty):hover{transform:translateY(-2px) scale(1.03);box-shadow:0 5px 14px rgba(20,40,30,.24)}.d-title{margin:0 0 4px;font-size:18px;line-height:1.25;letter-spacing:-.3px}.d-sub{margin:0 0 8px;font-size:12.5px;color:var(--soft)}.d-rate-hint{margin-top:4px}.d-section{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--panel);border:1px solid var(--hair);border-radius:12px}.d-section h4{margin:0;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);display:flex;align-items:center;gap:6px}.d-label{font-size:12px;color:var(--soft)}.d-summary{margin:0;font-size:13px;line-height:1.6;color:var(--ink);opacity:.85}.d-section .status-select{width:-moz-fit-content;width:fit-content}.kv{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:3px 0}.kv span{color:var(--soft)}.muted.small{font-size:12px;margin:0}.drawer-remove{align-self:stretch;justify-content:center;display:inline-flex;align-items:center;gap:7px;padding:10px 12px;font-size:12.5px;font-weight:600;border:1px solid var(--hair);border-radius:10px}.d-section textarea{width:100%;padding:9px 11px;font-size:13px;line-height:1.55;color:var(--ink);background:var(--panel2);border:1px solid var(--hair);border-radius:9px;outline:none;resize:vertical;min-height:84px}.d-section textarea:focus{border-color:var(--accent)}.public-page{max-width:860px;margin:0 auto;padding:56px 24px 80px}.public-head{text-align:center;margin-bottom:34px}.public-head .ic{color:var(--accent)}.public-head h1{margin:10px 0 4px;font-size:26px;letter-spacing:-.3px}.public-head p{margin:0;color:var(--soft);font-size:14px}.public-empty{text-align:center;color:var(--soft);padding:40px 0}.public-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:16px;gap:16px}.public-card{background:var(--panel);border:1px solid var(--hair);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}.public-cv{position:relative;width:100%;aspect-ratio:2/3;border-radius:9px;overflow:hidden;background:var(--panel2);display:flex;align-items:center;justify-content:center;margin-bottom:6px}.public-cv span{font-weight:700;color:var(--soft);font-size:20px}.public-cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.public-card strong{font-size:13.5px;line-height:1.3}.public-card span{font-size:11.5px;color:var(--soft)}.public-card em{font-style:normal;color:#e8a33d;font-size:11.5px;letter-spacing:1.5px}.public-foot{text-align:center;margin-top:44px;color:var(--soft);font-size:12.5px}.public-foot b{color:var(--accent)}.resume-block{display:flex;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--hair);border-radius:14px;padding:14px 18px;margin-bottom:18px}.resume-block .cv{position:relative;width:46px;height:68px;flex:none;border-radius:8px;overflow:hidden;background:var(--panel2);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(20,40,30,.18)}.resume-block .cv span{font-weight:700;color:var(--soft);font-size:12px}.resume-block .cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.resume-meta{flex:1 1;min-width:0}.resume-meta small{display:flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--soft);font-weight:600}.resume-meta strong{display:block;font-size:15px;margin:1px 0}.resume-quick{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.qbtn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;font-size:12.5px;font-weight:600;color:var(--on-accent);background:var(--accent);border:none;border-radius:9px;cursor:pointer}.qbtn:hover{filter:brightness(1.08)}.qbtn.ghost{color:var(--ink);background:var(--panel);border:1px solid var(--hair)}.qbtn.ghost:hover{border-color:var(--accent);color:var(--accent)}.scan-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}.scan-log li{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 9px;background:var(--panel2);border-radius:8px}.scan-log li.ok{color:var(--lu)}.scan-log li.ko{color:var(--soft)}.scan-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.scan-toggle input{accent-color:var(--accent)}.timeline{max-width:640px;margin-left:auto;margin-right:auto;width:100%}.page-head.centered{text-align:center;justify-content:center}.tl-day{margin-bottom:22px}.tl-date{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);font-weight:700;margin-bottom:8px}.tl-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair)}.tl-item:last-child{border-bottom:none}.tl-item .ic{margin-top:2px;color:var(--accent)}.tl-item.removed .ic{color:var(--danger)}.tl-item p{margin:0;font-size:13.5px}.tl-item time{margin-left:auto;font-size:11px;color:var(--soft);white-space:nowrap}.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.adv-card{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px}.adv-card h4{margin:0 0 10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}.adv-line{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.adv-line b{margin-left:auto;color:var(--accent)}.adv-big{font-size:22px;letter-spacing:-.5px}.adv-card p{margin:4px 0 0;font-size:12px;color:var(--soft)}.adv-line.adv-link{text-decoration:none;color:inherit;border-radius:6px;padding:4px 6px;margin:0 -6px}.adv-line.adv-link:hover{background:var(--panel2)}.adv-series{display:flex;flex-direction:column;min-width:0}.adv-series>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adv-missing{font-size:11px;color:var(--soft)}.plan{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px}.plan input[type=date]{padding:5px 9px;font-size:12.5px;color:var(--ink);background:var(--panel2);border:1px solid var(--hair);border-radius:7px;outline:none}.plan input[type=date]:focus{border-color:var(--accent)}.plan-note{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px}.plan-note.late{color:var(--danger);background:rgba(179,64,46,.1)}.hm-card{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px}.hm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.hm-head h4{margin:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}.hm-year{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px}.hm-year button{border:1px solid var(--hair);background:var(--panel2);color:var(--ink);border-radius:7px;padding:3px 8px;cursor:pointer;font-size:12px}.hm-year button:hover{border-color:var(--accent);color:var(--accent)}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);grid-gap:3px;gap:3px;overflow-x:auto;padding-bottom:4px}.hl{width:12px;height:12px;border-radius:3px;background:var(--panel2)}.hl.l1{background:color-mix(in srgb,var(--accent) 28%,var(--panel2))}.hl.l2{background:color-mix(in srgb,var(--accent) 52%,var(--panel2))}.hl.l3{background:color-mix(in srgb,var(--accent) 78%,var(--panel2))}.hl.l4{background:var(--accent)}.hl.today{outline:1.5px solid var(--ink);outline-offset:1px}.hm-legend{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;color:var(--soft)}.hm-legend .hl{width:10px;height:10px}.remind-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;padding:12px 16px;margin-bottom:14px;color:var(--ink)}.remind-block>span{flex:1 1;min-width:200px;font-size:13px}.list-item.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.16)}.serie-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.serie-row input[type=text]{flex:1 1;min-width:140px}.quote-item{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;background:var(--panel2);border-radius:9px}.quote-item p{margin:0;font-size:12.5px;font-style:italic;line-height:1.5;flex:1 1}.quote-item small{color:var(--soft);font-style:normal;font-size:11px;margin-left:4px;white-space:nowrap}.session-live{display:inline-flex;align-items:center;gap:7px;font-size:16px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:10px;padding:8px 14px}.revue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.revue-card{background:var(--panel);border:1px solid var(--hair);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;gap:4px}.revue-big{font-size:34px;font-weight:800;letter-spacing:-1px;color:var(--accent);line-height:1.1;overflow:hidden;text-overflow:ellipsis}.revue-label{font-size:13px;color:var(--ink);font-weight:600}.revue-sub{font-size:12px;color:var(--soft)}.danger-card{border-color:rgba(179,64,46,.4)}.danger-btn{padding:9px 14px;font-size:12.5px;font-weight:600;color:var(--danger);background:transparent;border:1.5px solid var(--danger);border-radius:9px;cursor:pointer}.danger-btn:hover:not(:disabled){color:white;background:var(--danger)}.danger-btn:disabled{opacity:.4;cursor:default}.actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;color:var(--on-accent);background:var(--accent);border:1px solid var(--accent);border-radius:10px;cursor:pointer}.primary-btn:hover{filter:brightness(1.08)}.filters-row{margin:0}.books-search{display:flex;align-items:center;gap:10px;min-width:0;height:40px;box-sizing:border-box;padding:0 12px;color:var(--soft);background:var(--panel);border:1px solid var(--hair);border-radius:9px;transition:border-color .15s,box-shadow .15s;cursor:text}.books-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.12)}#filter-input{width:100%;min-width:0;height:100%;padding:0;font-size:13px;color:var(--ink);background:transparent;border:0;outline:none}#filter-input:focus{border-color:transparent;box-shadow:none}.books-filter-select .popover-select-trigger{width:100%;min-height:40px;font-size:13px}.books-filter-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;grid-gap:10px 12px;gap:10px 12px;margin-top:10px}.books-toolbar-field{display:grid;grid-gap:5px;gap:5px;min-width:0;color:var(--soft);font-size:12px}.books-toolbar-field .select-wrap{width:100%}@media (max-width:680px){.books-filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.library-saved-view-control{grid-column:1/-1}.books-filter-select,.books-filter-select .popover-select-trigger{width:100%}}.add-modal{max-width:640px}.tabs{margin-bottom:12px}.search-hero{max-width:720px;margin:0 auto 24px}.search-hero form{display:flex;gap:8px}.search-hero input{flex:1 1;font-size:16px;padding:15px 17px;color:var(--ink);background:var(--panel);border:1px solid var(--hair);border-radius:12px;outline:none}.search-hero input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.14)}.search-hero .btn-icon{display:inline-flex;align-items:center;padding:0 16px;font-size:17px;color:var(--soft);background:var(--panel);border:1px solid var(--hair);border-radius:12px;cursor:pointer}.search-hero .btn-icon:hover{color:var(--accent);border-color:var(--accent)}.search-hero button[type=submit]{padding:15px 22px;font-size:14px;font-weight:600;color:var(--on-accent);background:var(--accent);border:none;border-radius:12px;cursor:pointer}.search-hero button[type=submit]:disabled{opacity:.6;cursor:wait}.search-hero .hint{margin-top:8px}.search-tips{max-width:720px;margin:8px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.tip{display:flex;flex-direction:column;gap:3px;padding:16px;background:var(--panel);border:1px solid var(--hair);border-radius:12px}.tip .ic,.tip>svg{color:var(--accent);margin-bottom:4px}.tip b{font-size:13.5px}.tip span{font-size:12.5px;color:var(--soft);line-height:1.5}.modal-wide{max-width:780px}.modal-wide #add-search-input{font-size:15.5px;padding:13px 15px}.modal-wide .results-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.add-modal-foot{border-top:1px solid var(--hair);padding-top:12px;text-align:center}.add-modal-foot a{color:var(--accent);text-decoration:none;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.add-modal-foot a:hover{text-decoration:underline}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-sub{margin-top:4px}.select-wrap{position:relative;display:inline-flex;min-width:0}.select-wrap .popover-select-trigger{font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.select-wrap .popover-select-trigger:hover:not(:disabled){border-color:var(--soft)}.select-wrap .popover-select-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,79,.14)}.select-wrap .popover-select-trigger:disabled{opacity:.5;cursor:not-allowed}.select-wrap.dashed .popover-select-trigger{border-style:dashed;color:var(--soft)}.select-wrap.dashed .popover-select-trigger:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.popover-select{position:relative;display:flex;width:100%;min-width:0}.popover-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;box-sizing:border-box;min-height:40px;padding:8px 12px;color:var(--ink);background:var(--panel);border:1px solid var(--hair);border-radius:9px;font-family:inherit;font-size:12.5px;font-weight:600;text-align:left;cursor:pointer}.popover-select-trigger:hover:not(:disabled){border-color:var(--soft)}.popover-select-trigger:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(47,107,79,.14)}.popover-select-trigger:disabled{opacity:.5;cursor:default}.popover-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-select-chevron{flex:none;color:var(--soft);transition:transform .18s ease}.popover-select-trigger[aria-expanded=true] .popover-select-chevron{transform:rotate(180deg)}.popover-select-panel{position:absolute;z-index:1000;top:calc(100% + 6px);inset-inline-start:0;width:100%;min-width:0;box-sizing:border-box;padding:6px;color:var(--ink);background:var(--panel);border:1px solid var(--hair);border-radius:12px;box-shadow:0 14px 36px rgba(18,34,25,.18)}.popover-select-panel :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.popover-select-options{display:grid;max-height:min(280px,45vh);grid-gap:2px;gap:2px;overflow-y:auto}.popover-select-option{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;min-height:38px;box-sizing:border-box;padding:8px 10px;color:var(--ink);background:transparent;border:0;border-radius:8px;font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.popover-select-option:hover,.popover-select-option[aria-pressed=true]{background:var(--panel2)}.popover-select-option:disabled{opacity:.5;cursor:not-allowed}.empty-state{flex-direction:column;gap:8px;text-align:center;padding:40px 26px;background:var(--panel);border:1.5px dashed var(--hair);border-radius:14px}.empty-icon,.empty-state{display:flex;align-items:center}.empty-icon{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent);justify-content:center;margin-bottom:4px}.empty-state h3{margin:0;font-size:16px}.empty-state p{margin:0;font-size:13px;color:var(--soft);max-width:46ch;line-height:1.6}.empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.welcome-hero{background:linear-gradient(135deg,var(--accent-soft),var(--panel));border:1px solid var(--hair);border-radius:16px;padding:30px 26px 26px;text-align:center;margin-bottom:20px}.welcome-hero .wh-icon{width:64px;height:64px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.welcome-hero h2{margin:0 0 6px;font-size:22px;letter-spacing:-.3px}.welcome-hero>p{margin:0 0 20px;color:var(--soft);font-size:14px}.wh-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;max-width:640px;margin:0 auto}.wh-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 12px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;cursor:pointer;transition:transform .12s,border-color .12s}.wh-card:hover{transform:translateY(-2px);border-color:var(--accent)}.wh-card .ic{color:var(--accent);margin-bottom:4px}.wh-card b{font-size:13.5px}.wh-card span{font-size:11.5px;color:var(--soft)}.onboard-card{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px;margin-bottom:16px}.onboard-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.onboard-head h4{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);flex:1 1}.onboard-head .icon-btn{width:26px;height:26px}.onboard-steps{display:flex;flex-direction:column;gap:7px}.onboard-step{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--soft)}.onboard-step.done{color:var(--lu)}.onboard-step .obox{width:17px;height:17px;flex:none;border-radius:5px;border:1.5px solid var(--hair);display:inline-flex;align-items:center;justify-content:center;color:transparent}.onboard-step.done .obox{background:var(--lu);border-color:var(--lu);color:#fff}.book-card .cover{width:118px;height:177px;object-fit:cover;border-radius:8px;background:var(--panel2);box-shadow:0 4px 14px rgba(20,40,30,.22)}.book-card .cover-empty{width:118px;height:177px;font-size:30px}@media (max-width:560px){.book-card{flex-wrap:nowrap}}.book-card.clickable{cursor:pointer}.book-card.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeleton{border-radius:6px;background:linear-gradient(90deg,var(--panel2) 25%,var(--hair) 50%,var(--panel2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:12px;margin:9px 0}.skeleton-line.w60{width:60%}.skeleton-line.w80{width:80%}.skeleton-line.w40{width:40%}.skeleton-chip{width:64px;height:20px;border-radius:999px;display:inline-block;margin-right:5px}.skeleton-block{border:1px solid var(--hair);border-radius:12px;background:var(--panel);padding:14px 16px;margin-bottom:10px}.drawer-head{min-height:46px;transition:border-color .2s,background .2s}.drawer-head.scrolled{background:var(--bg);border-bottom:1px solid var(--hair)}.drawer-compact{display:flex;align-items:center;gap:9px;min-width:0;animation:drawer-fade .2s ease-out}@keyframes drawer-fade{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.drawer-compact-cover{width:26px;height:38px;object-fit:cover;border-radius:4px;background:var(--panel2);box-shadow:0 1px 2px rgba(20,40,30,.2);flex:none}.drawer-compact-title{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.landing{min-height:100vh;background:radial-gradient(1000px 500px at 80% -10%,rgba(47,107,79,.12),transparent 60%),var(--bg);color:var(--ink)}.l-nav{justify-content:space-between;max-width:1000px;margin:0 auto;padding:20px 24px}.l-nav,.l-nav-actions{display:flex;align-items:center}.l-nav-actions{gap:10px}.l-hero{max-width:860px;margin:0 auto;padding:46px 24px 0;text-align:center}.l-hero h1{font-size:46px;line-height:1.08;letter-spacing:-1.5px;margin:0 0 16px;white-space:pre-line}.l-sub{font-size:17px;color:var(--soft);line-height:1.6;max-width:56ch;margin:0 auto 26px}.l-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.l-features,.l-final,.l-steps{max-width:900px;margin:0 auto;padding:60px 24px 0}.l-features h2,.l-final h2,.l-steps h2{text-align:center;font-size:26px;letter-spacing:-.5px;margin:0 0 30px}.l-steps ol{list-style:none;padding:0;display:flex;flex-direction:column;gap:16px;max-width:560px;margin:0 auto}.l-steps li{display:flex;gap:16px;align-items:flex-start}.l-stepnum{flex:none;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}.l-stepnum,.l-steps b{font-size:15px}.l-steps p{margin:2px 0 0;font-size:13px;color:var(--soft);line-height:1.6}.l-final{text-align:center;background:var(--panel);border:1px solid var(--hair);border-radius:20px;padding:44px 26px;margin-top:40px}.l-final p{color:var(--soft);margin:0 0 20px;font-size:14.5px}.l-footer{max-width:900px;margin:0 auto;padding:26px 24px 40px;display:flex;justify-content:space-between;gap:10px;color:var(--soft);font-size:12.5px}.l-footer,.l-footer-links{align-items:center;flex-wrap:wrap}.l-footer-links{display:inline-flex;gap:12px}@media (max-width:640px){.l-hero h1{font-size:34px}}.marketing-nav{gap:18px}.marketing-nav-links{flex:1 1}.product-hero{padding-top:55px}.product-hero h1{max-width:800px}.product-overview-hero{max-width:1100px;padding-bottom:16px;text-align:left}.product-overview-hero .l-sub{margin-left:0}.product-overview-hero .l-cta{justify-content:flex-start}.product-index{max-width:1100px;padding:42px 0 0}.product-index>h2{max-width:1040px;margin:0 auto 12px;padding:0 24px;text-align:left}.product-index>.product-section-intro{margin:0 0 28px;padding:0 24px;text-align:left}.product-section-intro{max-width:660px;margin:-16px auto 26px;color:var(--soft);text-align:center;line-height:1.65;font-size:14px}.product-demo-section{max-width:900px;margin:0 auto;padding:44px 24px 0}.product-demo-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}.product-demo-heading h2{margin:4px 0 0;font-size:18px}.product-window-mark{color:var(--soft);font-size:12px;font-weight:700}.product-details{padding-top:78px}.product-details h2{margin-bottom:28px}.product-steps{padding-top:76px}.product-steps>h2{max-width:680px;margin:0 auto 28px;text-align:center}.product-related{padding-top:74px}.product-related-links{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px 16px;gap:8px 16px}.product-final{max-width:900px}@media (max-width:640px){.marketing-nav{gap:10px}.product-overview-hero{padding:40px 20px 10px}.product-index>.product-section-intro,.product-index>h2{padding-right:20px;padding-left:20px}.product-demo-section{padding-top:32px}.product-related-links{grid-template-columns:repeat(2,1fr)}.product-demo-heading{align-items:start;flex-direction:column}}