.import-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.feature-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.feature-chips span{background:var(--amber-soft);border-radius:999px;padding:10px 14px;font-size:13px}.import-panel{min-height:320px;border:1px dashed var(--amber);border-radius:24px;background:#fffaf0;display:grid;place-items:center;align-content:center;gap:10px;color:var(--muted)}.import-panel strong{color:var(--ink);font-size:18px}.drop-icon{width:52px;height:52px;border-radius:16px;background:var(--amber-soft);display:grid;place-items:center;color:var(--amber);font-size:28px}.auth-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:-8px 0 28px;padding-bottom:8px}.tab{border:0;background:transparent;padding:10px 12px;border-radius:8px;font:700 14px 'DM Sans';cursor:pointer;color:var(--muted)}.tab.active{background:var(--amber-soft);color:var(--ink)}.hidden{display:none}.form-message{font-size:13px;min-height:18px;color:var(--muted)}.form-message.success{color:#28734a}.form-message.error{color:#a13e43}.study-preview{position:relative;overflow:hidden}.study-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .7s ease,opacity .4s ease}.study-preview:hover>img{transform:scale(1.04);opacity:1}.study-preview .preview-card{position:relative;z-index:1;transition:transform .35s ease}.study-preview:hover .preview-card{transform:translateY(-8px) rotate(-1deg)}.device-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.device-copy h2{max-width:600px}.device-points{display:grid;gap:12px;margin:28px 0}.device-points span{padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--line)}.device-points b{display:inline-block;color:var(--olive);width:70px}.device-image{width:100%;height:420px;object-fit:cover;border-radius:28px;transition:transform .45s ease,box-shadow .45s ease}.device-image:hover{transform:translateY(-8px) rotate(.5deg);box-shadow:0 22px 44px #0002}.button{transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-3px);box-shadow:0 9px 20px #0002}.benefits article,.steps article{transition:transform .25s ease,background .25s ease}.benefits article:hover,.steps article:hover{transform:translateY(-6px)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.import-section,.device-section{grid-template-columns:1fr}.import-panel{min-height:240px}.device-image{height:260px}}
.recall-section{padding-top:36px}.session-label{color:var(--muted);font-size:13px;white-space:nowrap}.recall-stage{margin-top:48px;display:grid;justify-items:center;gap:24px}.recall-card{width:min(620px,100%);min-height:300px;padding:34px 38px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 40px #0000000d;cursor:grab;touch-action:pan-y;transition:transform .3s ease,opacity .3s ease}.recall-card:active{cursor:grabbing}.recall-card h3{font-size:38px;margin:52px 0 30px}.card-topic{color:var(--olive);font-size:11px;font-weight:700;letter-spacing:1px}.answer{max-height:0;overflow:hidden;opacity:0;color:var(--muted);line-height:1.6;border-top:1px solid transparent;transition:max-height .4s ease,opacity .35s ease,padding .35s ease}.answer.visible{max-height:130px;opacity:1;padding-top:20px;border-color:var(--line)}.swipe-hint{margin-top:34px;text-align:center;color:#aaa;font-size:12px}.recall-card.swipe-left{transform:translateX(-110px) rotate(-6deg);opacity:.35}.recall-card.swipe-right{transform:translateX(110px) rotate(6deg);opacity:.35}.recall-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.recall-actions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 17px;color:var(--muted);font:700 13px 'DM Sans';cursor:pointer;transition:transform .2s ease,background .2s ease}.recall-actions button:hover{transform:translateY(-2px);background:var(--amber-soft);color:var(--ink)}.recall-actions .reveal-answer{background:var(--olive);border-color:var(--olive);color:#fff}.analytics-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;margin-top:52px}.chart-panel{padding:24px 0;border-top:1px solid var(--line)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.chart-header span{font-size:12px;color:var(--muted)}.chart{width:100%;height:auto;overflow:visible}.chart line{stroke:#ddd;stroke-width:1}.chart text{fill:var(--muted);font:12px 'DM Sans'}.chart-area{fill:var(--amber-soft)}.chart-line{fill:none;stroke:var(--amber);stroke-width:3}.chart circle{fill:var(--olive)}.bar-chart{height:215px;display:flex;gap:14px;align-items:end;border-bottom:1px solid var(--line);padding:0 6px}.bar-chart span{position:relative;flex:1;min-width:18px;background:var(--olive-soft);border-radius:6px 6px 0 0;transition:height .4s ease,background .2s ease}.bar-chart span:hover{background:var(--amber)}.bar-chart b{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);font:12px 'DM Sans';font-weight:400;color:var(--muted)}.locked-card{text-align:center}.lock-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 24px;border-radius:18px;background:var(--amber-soft);color:var(--amber);font-size:30px}.locked-card .button{width:100%;margin-top:26px}.locked-card .subtle-link{margin-top:20px}@media(max-width:760px){.session-label{display:none}.recall-card{padding:26px;min-height:260px}.recall-card h3{font-size:31px;margin:42px 0 24px}.analytics-grid{grid-template-columns:1fr}.bar-chart{height:180px}}
.dashboard{background-image:url('assets/serlo-pc-review.png');background-size:cover;background-position:center top;font-size:0;min-height:420px}.completion-panel{text-align:center;width:min(620px,100%);padding:48px 32px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 40px #0000000d}.completion-mark{width:64px;height:64px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:#dff3e5;color:#28734a;font-size:34px;font-weight:700}.completion-panel h3{font-size:34px;margin:18px 0 10px}.completion-panel p:not(.eyebrow){max-width:430px;margin:0 auto 24px;color:var(--muted);line-height:1.55}.completion-panel .button{border:0}.recall-section{padding-top:36px}
.device-image{object-fit:contain;background:#171a21;object-position:center}.study-preview>img{object-position:center center}:root{--ink:#20242b;--muted:#55524c;--line:#d5d3ce;--amber:#d99b24;--amber-soft:#fff0c2;--stone:#e9e1d6;--olive:#b77d16;--olive-soft:#fff0c2;--dark:#171a21}.button-dark{background:#b77d16}.button-dark:hover{background:#d99b24}.button-light{background:#fff0c2;color:#20242b}.trusted,.muted{color:#817d75}.section-heading{border-color:#d5d3ce}.device-points span{background:#fff;border-color:#d5d3ce}.recall-card,.completion-panel,.flashcard,.auth-card{background:#fff;border-color:#d5d3ce}
.dashboard{background-image:url('assets/serlo-library.png'),linear-gradient(90deg,#f5f6f8 0%,#d7d6d1 8%,#171a21 20%,#171a21 80%,#d7d6d1 92%,#f5f6f8 100%);background-size:contain,100% 100%;background-position:center,center;background-repeat:no-repeat;font-size:0;min-height:420px;border-radius:28px;overflow:hidden}
.dashboard{background-image:url('assets/serlo-library.png'),radial-gradient(ellipse at center,#171a21 0%,#171a21 42%,rgba(23,26,33,.72) 58%,rgba(245,246,248,0) 82%);background-size:contain,100% 100%;background-position:center,center;background-repeat:no-repeat;background-color:transparent;border-radius:0;overflow:visible;min-height:420px;box-shadow:none}.recall-card,.flashcard,.preview-card{user-select:none;-webkit-user-select:none}.recall-actions button{user-select:none;-webkit-user-select:none}
.dashboard{background-image:url('assets/serlo-library.png');background-size:contain;background-position:center;background-repeat:no-repeat;background-color:transparent;border-radius:0;overflow:visible;box-shadow:none}
.split .dashboard{background-image:url('assets/serlo-library-crop.png');background-size:cover;background-position:center;position:relative;width:125%;min-height:430px;margin-top:44px;margin-right:-25%;border:1px solid #d5d3ce;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(32,36,43,.12);transition:transform .25s ease}.split .dashboard:hover{transform:translateY(-3px)}@media(max-width:760px){.split .dashboard{width:100%;min-height:280px;margin:24px 0 0;border-radius:20px}}
.split .dashboard{background-image:url('assets/serlo-library-final.png');background-size:cover;background-position:center}
.split .dashboard{background-image:url('assets/serlo-library-final2.png');background-size:cover;background-position:center}
.split .dashboard{background-size:contain;background-repeat:no-repeat;background-color:#171a21;background-position:center}
.device-image{object-fit:contain;transform:scale(.9)}.device-image:hover{transform:scale(.9) translateY(-3px)}
.recall-card.is-dragging{transition:none;cursor:grabbing}
.analytics-grid .chart-panel:first-child{background-image:none;background-color:transparent}
.bar-chart span{cursor:pointer;transform-origin:center bottom}
.bar-chart span:hover{transform:translateY(-4px) scaleX(1.04);background:var(--amber);box-shadow:0 8px 14px rgba(183,125,22,.2)}
.bar-chart span::after{content:attr(data-value);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);padding:6px 8px;border-radius:7px;background:var(--ink);color:#fff;white-space:nowrap;font:700 11px 'DM Sans';opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.bar-chart span:hover::after{opacity:1;transform:translate(-50%,0)}
.hero>a.button-dark{display:none}
.study-preview{background:transparent}
.study-preview .preview-card{border-color:#ffffff88;transition:border-color .35s ease,transform .35s ease}
.study-preview:hover .preview-card{border-color:var(--amber)}
.study-preview>img{display:none}
.study-preview .bars i{position:relative;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.study-preview .bars i:hover{transform:translateY(-6px) scaleX(1.08);background:var(--amber);box-shadow:0 8px 14px rgba(183,125,22,.2)}
.study-preview .bars i.bar-high{background:var(--amber)}
.study-preview .bars i::after{content:attr(data-value);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);padding:6px 8px;border-radius:7px;background:var(--ink);color:#fff;white-space:nowrap;font:700 11px 'DM Sans';opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.study-preview .bars i:hover::after{opacity:1;transform:translate(-50%,0)}
.hero>.eyebrow,.session-label{display:none}
.recall-actions[hidden]{display:none}
.device-image{object-fit:contain;object-position:center}
.study-preview .bars i:not(.bar-high){background:var(--stone)}
.chart-point circle{fill:var(--olive);cursor:pointer;transition:r .2s ease,fill .2s ease}
.chart-point text{fill:var(--ink);font:700 11px 'DM Sans';opacity:0;pointer-events:none;transition:opacity .2s ease}
.chart-point:hover circle{fill:var(--amber);r:7}
.chart-point:hover text{opacity:1}
.device-image{height:auto;aspect-ratio:1319 / 473}
.bar-chart{height:240px}
.download-button{margin-top:14px}
.installer-select{display:block;margin:32px auto 8px;color:var(--muted);font-size:12px;text-align:left;width:min(360px,100%)}#installer-type{display:block;width:min(360px,100%);margin:0 auto 16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:400 16px 'Plus Jakarta Sans',Arial,sans-serif;cursor:pointer}#installer-type:focus{outline:2px solid var(--amber);outline-offset:2px}.download-action{margin-top:8px}
.installer-select{font-weight:700}#installer-type optgroup{font-style:normal;font-weight:700}
.installer-select{text-align:center}.installer-platform-icons{display:inline-flex;gap:8px;margin-right:8px;color:var(--ink);font-size:16px;vertical-align:-1px}#installer-type{text-align:center;text-align-last:center;font-weight:700;letter-spacing:.1px}#installer-type optgroup{font-style:normal;font-weight:700;text-align:left}#installer-type option{font-weight:400;padding:8px}
.requirements-cta{text-align:center;border-top:1px solid var(--divider);padding:48px 0}.requirements-cta h2{font-size:40px;margin:16px 0 8px}.requirements-cta .muted{margin:0 auto 24px}.requirements-wrap{max-width:760px;padding:64px 0 96px}.requirements-wrap h1{font-size:56px;line-height:1;margin:24px 0 16px}.requirements-wrap .lede{margin:0 0 32px}.requirements-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 16px 36px rgba(32,36,43,.08)}.requirements-summary{display:flex;align-items:center;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--divider)}.requirements-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--amber-soft);color:var(--amber-pressed);font-size:24px;font-weight:700}.requirements-summary strong{font-size:18px}.requirements-summary p{margin:4px 0 0;color:var(--muted);font-size:13px}.requirements-list{display:grid;gap:0}.requirement-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--divider)}.requirement-row:last-child{border-bottom:0}.requirement-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--amber-soft);color:var(--amber-pressed);font-weight:700}.requirement-row small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.requirement-row>strong{font-size:12px;color:var(--amber-pressed)}.requirements-wrap>.subtle-link{margin-top:24px}@media(max-width:760px){.requirements-wrap{padding:48px 0 72px}.requirements-wrap h1{font-size:44px}.requirements-card{padding:20px}.requirements-cta h2{font-size:36px}.requirement-row{grid-template-columns:28px 1fr}.requirement-row>strong{grid-column:2}.requirements-summary{align-items:flex-start}}
.download-action{position:relative;overflow:hidden;background:var(--dark);color:#fff;border:2px solid var(--amber);box-shadow:0 10px 24px rgba(32,36,43,.2),0 0 0 0 rgba(217,155,36,.35);transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.download-action::before{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.24) 50%,transparent 75%);transition:transform .6s ease}.download-action i{position:relative;transition:transform .25s ease}.download-action:hover{background:var(--amber);color:var(--on-amber);transform:translateY(-3px) scale(1.03);box-shadow:0 14px 28px rgba(32,36,43,.22),0 0 0 7px rgba(217,155,36,.16)}.download-action:hover::before{transform:translateX(110%)}.download-action:hover i{transform:translateY(3px)}
.requirements-specs{display:grid;gap:24px;margin:48px 0}.requirements-specs article{padding:24px 0;border-top:1px solid var(--divider)}.requirements-specs h2{font-size:32px;margin:12px 0}.requirements-specs ul{margin:16px 0 0;padding-left:20px;color:var(--secondary);line-height:1.7}.requirements-table{display:grid;gap:16px;margin-top:16px}.requirements-table>div{display:grid;grid-template-columns:120px 1fr;gap:4px 16px;padding:16px;background:var(--elevated);border-radius:12px}.requirements-table b{grid-row:span 2;color:var(--amber-pressed)}.requirements-table span{font-weight:700;color:var(--ink)}.requirements-table small{color:var(--secondary);line-height:1.5}@media(max-width:760px){.requirements-specs{margin:32px 0}.requirements-specs h2{font-size:28px}.requirements-table>div{grid-template-columns:1fr}.requirements-table b{grid-row:auto}}
.nav-links{background:#fff;border:1px solid #e5dfd5;box-shadow:0 8px 20px rgba(32,36,43,.08);padding:16px 24px}.nav-links a{transition:color .2s ease,transform .2s ease}.nav-links a:hover{transform:translateY(-1px)}.download-note{display:none}
.brand-logo{display:block;width:40px;height:40px;object-fit:contain}.brand{display:flex;align-items:center}
@media(max-width:760px){
  body{overflow-x:hidden;padding-bottom:96px}
  .shell{width:calc(100% - 32px)}
  .nav{height:80px;gap:16px}
  .brand{font-size:24px}
  .nav>.button{padding:12px 16px;font-size:14px;margin-left:auto}
  .nav-links{display:flex;position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;justify-content:space-around;gap:8px;margin:0;padding:12px 16px;border:1px solid #e5dfd5;border-radius:999px;background:#fff;box-shadow:0 12px 28px rgba(32,36,43,.16);backdrop-filter:blur(14px)}
  .nav-links a{flex:1;text-align:center;padding:8px 4px;font-size:12px}
  .hero,.download-hero{padding-top:48px}
  .hero h1,.download-hero h1{font-size:48px;letter-spacing:-1.5px}
  .lede,.download-hero .lede{font-size:16px;line-height:1.5}
  .study-preview{height:240px;margin-top:48px;border-radius:24px}
  .preview-card{width:calc(100% - 32px);height:184px;padding:16px;border-radius:16px}
  .bars{height:116px;gap:5px;padding-top:16px}
  .section{padding:48px 0}
  .section h2,.cta h2,.mobile-download h2{font-size:40px;letter-spacing:-1px}
  .benefits,.split,.steps,.import-section,.device-section,.analytics-grid,.download-details{grid-template-columns:1fr}
  .benefits,.steps{gap:16px;margin-top:32px}
  .benefits article,.steps article{padding:24px 0 16px}
  .recall-section{padding-top:24px}
  .section-heading{display:block;padding-top:32px}
  .section-heading .button{margin-top:24px}
  .recall-stage{margin-top:32px;gap:16px}
  .recall-card{min-height:260px;padding:24px;border-radius:20px}
  .recall-card h3{font-size:28px;margin:40px 0 24px}
  .recall-actions{gap:8px}
  .recall-actions button{padding:12px 14px}
  .analytics-grid{gap:32px;margin-top:32px}
  .chart-panel{overflow:hidden}
  .chart{min-width:0;max-width:100%}
  .workload .bar-chart{height:200px}
  .device-image{width:100%;height:auto;aspect-ratio:1319 / 473;border-radius:20px}
  .device-points{gap:8px;margin:24px 0}
  .import-panel{min-height:240px}
  .split .dashboard{width:100%;min-height:280px;margin:24px 0 0}
  .download-preview{margin-top:8px;padding-top:8px}
  .download-app-image{width:100%;border-radius:20px}
  .download-details{gap:24px;padding:40px 0 56px}
  .mobile-download{padding:48px 0}
  .mobile-links{display:grid;gap:8px}
  .mobile-links .button{width:100%}
  .auth-wrap{padding:32px 16px 64px}
  .auth-card{padding:24px;border-radius:20px}
  .auth-card h1{font-size:40px}
  .form-row{grid-template-columns:1fr}
  .footer{display:grid;gap:16px;width:calc(100% - 32px)}
}
.mobile-download{text-align:center;border-top:1px solid var(--line);padding:64px 0}.mobile-download h2{font-size:48px;margin:16px 0}.mobile-download .muted{max-width:520px;margin:0 auto}.mobile-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:24px}.mobile-links .button{gap:10px}.mobile-links [hidden]{display:none}
.download-preview{margin-top:8px;min-height:0;padding-top:8px}.download-app-image{position:relative;z-index:1;display:block;width:min(1000px,100%);height:auto;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 36px rgba(32,36,43,.12)}.download-window{display:none}body,body *{font-family:'Plus Jakarta Sans',Arial,sans-serif}.brand,.hero h1,.section h2,.cta h2,.auth-card h1,h3,.download-hero h1,.download-window-content strong{font-family:'Plus Jakarta Sans',Arial,sans-serif!important;font-weight:700}.nav{height:96px;gap:24px}.nav-links{gap:24px;padding:16px 24px}.download-hero,.hero{padding-top:64px}.download-hero h1,.hero h1{font-size:72px;line-height:1}.download-hero .lede,.lede{font-size:16px}.eyebrow,.session-label,.download-note,.chart-header span{font-size:12px}.button{font-size:16px}.section h2,.cta h2{font-size:48px}.download-details,.analytics-grid,.benefits,.steps{gap:24px}.section{padding:64px 0}.download-details{padding:48px 0 80px}.download-preview .preview-orbit{display:none}
.download-page{background:#fcfcfa}.download-hero{text-align:center;padding:80px 0 30px}.download-hero h1{font:500 clamp(54px,8vw,92px)/.94 'Playfair Display',Georgia,serif;letter-spacing:-3px;margin:24px 0}.download-hero .lede{max-width:540px}.platform-picker{display:flex;justify-content:center;gap:10px;margin:34px auto 22px;flex-wrap:wrap}.platform{min-width:138px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 16px;color:var(--muted);font:700 13px 'DM Sans';cursor:pointer;text-align:left;transition:transform .2s ease,border-color .2s ease,background .2s ease}.platform span,.platform small{display:block;margin-left:22px}.platform small{font-size:11px;font-weight:400;margin-top:3px}.platform.active,.platform:hover{border-color:var(--amber);background:var(--amber-soft);color:var(--ink);transform:translateY(-2px)}.download-action{min-width:210px}.download-note{color:var(--muted);font-size:12px;margin:15px 0 0}.download-preview{position:relative;min-height:420px;margin-top:30px;display:grid;place-items:center;overflow:hidden}.preview-orbit{position:absolute;width:620px;height:260px;border-radius:50%;background:var(--amber-soft);filter:blur(1px);opacity:.75}.download-window{position:relative;width:min(850px,92%);height:330px;border:1px solid #d5d3ce;border-radius:22px;background:#171a21;overflow:hidden;box-shadow:0 20px 45px rgba(32,36,43,.14);transform:perspective(900px) rotateX(2deg);transition:transform .35s ease}.download-window:hover{transform:perspective(900px) rotateX(0) translateY(-4px)}.download-window-top{height:42px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;color:#f5f6f8;font-size:12px;border-bottom:1px solid #ffffff1c}.download-window-body{display:grid;grid-template-columns:110px 1fr;height:calc(100% - 42px)}.download-window-sidebar{background:#e9e1d6;padding:24px 18px;display:grid;align-content:start;gap:18px}.download-window-sidebar i{height:10px;border-radius:6px;background:#b77d16;opacity:.7}.download-window-sidebar i:nth-child(2){width:70%}.download-window-sidebar i:nth-child(3){width:82%;background:#766653}.download-window-sidebar i:nth-child(4){width:58%;background:#766653}.download-window-content{padding:48px 54px;color:#f5f6f8}.download-window-content strong{display:block;font:500 42px 'Playfair Display';color:#fff0c2}.download-window-content span{display:block;margin-top:10px;color:#b9b5ae}.download-window-bars{display:flex;align-items:end;gap:12px;height:115px;margin-top:34px}.download-window-bars b{display:block;flex:1;height:42%;border-radius:8px 8px 0 0;background:#766653}.download-window-bars b:nth-child(2){height:68%}.download-window-bars b:nth-child(3){height:54%;background:#d99b24}.download-window-bars b:nth-child(4){height:82%;background:#d99b24}.download-window-bars b:nth-child(5){height:64%}.download-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:60px 0 100px}.download-details>div{border-top:1px solid var(--line);padding-top:24px}.download-details h3{margin:16px 0 10px}.download-details p{color:var(--muted);line-height:1.55;margin:0}@media(max-width:760px){.download-hero{padding-top:56px}.download-hero h1{font-size:56px}.download-preview{min-height:300px}.download-window{height:230px}.download-window-body{grid-template-columns:65px 1fr}.download-window-sidebar{padding:18px 12px}.download-window-content{padding:28px 24px}.download-window-content strong{font-size:28px}.download-window-bars{height:80px;margin-top:20px}.download-details{grid-template-columns:1fr;padding-top:35px}}
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;700&display=swap');
.installer-dropdown{position:relative;width:min(360px,100%);margin:0 auto 16px;text-align:left}.installer-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--input);color:var(--ink);font:700 16px 'Plus Jakarta Sans',Arial,sans-serif;cursor:pointer;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}.installer-trigger:hover,.installer-dropdown.open .installer-trigger{border-color:var(--amber);background:var(--surface);box-shadow:0 8px 18px rgba(32,36,43,.08)}.installer-trigger i,.installer-menu i{margin-right:8px;color:var(--amber-pressed)}.installer-chevron{font-size:20px;line-height:.7;transition:transform .25s ease}.installer-dropdown.open .installer-chevron{transform:rotate(180deg)}.installer-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);padding:0 8px;background:var(--surface);border:1px solid transparent;border-radius:14px;box-shadow:0 16px 30px rgba(32,36,43,.14);transition:max-height .3s ease,opacity .2s ease,transform .3s ease,padding .3s ease,border-color .3s ease}.installer-dropdown.open .installer-menu{max-height:360px;opacity:1;transform:translateY(0);padding:8px;border-color:var(--border)}.installer-group{display:block;padding:8px 10px 4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.installer-menu button{display:flex;align-items:center;width:100%;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:400 14px 'Plus Jakarta Sans',Arial,sans-serif;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.installer-menu button:hover,.installer-menu button[aria-selected=true]{background:var(--amber-soft);color:var(--ink);transform:translateX(3px)}
.brand-logo{animation:logo-enter .8s cubic-bezier(.2,.8,.2,1) both}@keyframes logo-enter{0%{opacity:0;transform:scale(.72) rotate(-12deg)}70%{opacity:1;transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.requirements-specs article:nth-child(3){order:2}.requirements-specs article:nth-child(2){order:3}
.requirements-wrap>.lede:not(.requirements-intro){display:none}.requirements-intro{margin-bottom:32px}.requirements-mark i{font-size:18px}
.footer-brand{display:flex;align-items:center}
.feature-chips i{color:var(--amber-pressed);margin-right:4px}
/* Shared website design system: Plus Jakarta Sans, four type sizes, two weights, 8pt spacing. */
body,body *{font-family:'Plus Jakarta Sans',Arial,sans-serif!important;font-size:16px!important;font-weight:400!important}
h1,.hero h1,.download-hero h1,.requirements-wrap h1{font-size:72px!important;line-height:1!important;font-weight:700!important}
h2,.section h2,.cta h2,.mobile-download h2,.requirements-specs h2{font-size:48px!important;line-height:1.1!important;font-weight:700!important}
h3{font-size:24px!important;line-height:1.2!important;font-weight:700!important}
h4,h5,h6,strong,b,.button,.nav-links a,.eyebrow,.installer-select,.installer-group,.chart-header strong,.what-if-badge,label{font-weight:700!important}
.eyebrow,.session-label,.download-note,.chart-header span,small,.form-message,.footer,.installer-group,.what-if-badge,.heatmap-footer,.heatmap-header span{font-size:12px!important}
.nav{height:96px!important;gap:24px!important}.nav-links{gap:24px!important;padding:16px 24px!important}.section,.hero,.download-hero,.requirements-wrap{padding-block:64px!important}.grid,.benefits,.steps,.split,.device-section,.import-section,.analytics-grid,.download-details{gap:24px!important}.button{padding:16px 24px!important;border-radius:999px!important}.auth-card,.recall-card,.requirements-card,.heatmap-panel,.what-if,.import-panel{padding:24px!important;border-radius:24px!important}.device-points{gap:8px!important;margin-block:24px!important}.feature-chips{gap:8px!important;margin-block:24px!important}.download-details{padding-block:48px 80px!important}
@media(max-width:760px){h1,.hero h1,.download-hero h1,.requirements-wrap h1{font-size:48px!important}h2,.section h2,.cta h2,.mobile-download h2,.requirements-specs h2{font-size:48px!important}.nav{height:80px!important;gap:16px!important}.section,.hero,.download-hero,.requirements-wrap{padding-block:48px!important}.auth-card,.recall-card,.requirements-card,.heatmap-panel,.what-if,.import-panel{padding:24px!important}}
.fa,.fa-brands,.fa-regular,.fa-solid,[class^="fa-"],[class*=" fa-"]{font-family:"Font Awesome 7 Pro",sans-serif!important;font-size:16px!important;font-weight:400!important}
.button-dark{background:var(--amber);color:var(--on-amber);border:2px solid var(--amber)}.button-dark:hover{background:var(--amber-hover);border-color:var(--amber-hover)}.button-light{background:var(--amber-soft);color:var(--ink);border:1px solid var(--amber)}.button-light:hover{background:#FBE5A0;border-color:var(--amber-hover)}.download-button,.download-action{background:var(--dark);color:#fff;border:2px solid var(--amber)}.download-button:hover,.download-action:hover{background:var(--amber);color:var(--on-amber);border-color:var(--amber)}
.analytics-grid .chart-panel .chart{height:215px;display:block}.analytics-grid .workload .bar-chart{height:215px}
.analytics-grid{grid-template-columns:1fr}.analytics-grid .workload{display:none}.download-button,.download-action{background:#20242B!important;color:#fff!important;border:2px solid #D99B24!important}.download-button:hover,.download-action:hover{background:#D99B24!important;color:#1B1D24!important}.target-line{stroke:#A9A59E;stroke-width:2;stroke-dasharray:7 6}.target-label{fill:#817D75!important;font:700 11px 'Plus Jakarta Sans',Arial,sans-serif}.decay-curve{fill:none;stroke-width:3;stroke-linecap:round}.curve-1{stroke:#B77D16}.curve-2{stroke:#D99B24}.curve-3{stroke:#E8B846}.session-dot{fill:#20242B;stroke:#FFF0C2;stroke-width:3;cursor:pointer;transition:r .2s ease,fill .2s ease}.session-dot:hover{fill:#D99B24;r:7}
.analytics-grid .chart-panel .chart{height:320px}.interactive-chart-panel{position:relative}.chart-tooltip{position:absolute;z-index:5;pointer-events:none;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--dark);color:#fff;font:700 11px 'Plus Jakarta Sans',Arial,sans-serif;white-space:nowrap;box-shadow:0 8px 18px rgba(32,36,43,.18)}.chart-legend{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:16px;color:var(--secondary);font-size:12px}.chart-legend span{display:inline-flex;align-items:center;gap:7px}.legend-swatch{display:inline-block;width:24px;height:3px;border-radius:4px}.curve-one{background:#B77D16}.curve-two{background:#D99B24}.curve-three{background:#E8B846}.target-swatch{height:0;border-top:2px dashed #A9A59E}
.what-if{margin-top:28px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--elevated)}.what-if-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.what-if-heading .eyebrow{margin-bottom:8px}.what-if-heading strong{font-size:18px}.what-if-badge{padding:6px 9px;border-radius:999px;background:var(--amber-soft);color:var(--amber-pressed);font-size:11px;font-weight:700;white-space:nowrap}.what-if input{width:100%;margin:24px 0 8px;accent-color:var(--amber)}.what-if-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.what-if-result{margin:18px 0 0;color:var(--secondary);line-height:1.5}.what-if-result strong{color:var(--ink)}
.what-if-line{stroke:var(--amber-pressed);stroke-width:2;stroke-dasharray:4 5;pointer-events:none}.what-if-point{fill:var(--amber);stroke:var(--on-amber);stroke-width:3;filter:drop-shadow(0 3px 4px rgba(32,36,43,.2));pointer-events:none}.what-if-label{fill:var(--ink)!important;font:700 12px 'Plus Jakarta Sans',Arial,sans-serif;pointer-events:none}
.interactive-chart-panel .what-if{background:#FFFFFF!important;color:#20242B!important;border-color:#D5D3CE!important;box-shadow:0 12px 24px rgba(32,36,43,.08)!important}.interactive-chart-panel .what-if-heading strong,.interactive-chart-panel .what-if-result strong{color:#20242B!important}.interactive-chart-panel .what-if-scale,.interactive-chart-panel .what-if-result{color:#55524C!important}.interactive-chart-panel .what-if .eyebrow{color:#B77D16!important}.interactive-chart-panel .what-if-badge{background:#FFF0C2!important;color:#B77D16!important}
.heatmap-panel{position:relative;margin-top:32px;padding:24px;background:#FFFFFF;border:1px solid #D5D3CE;border-radius:16px;box-shadow:0 8px 20px rgba(32,36,43,.06)}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.heatmap-header span{color:#817D75;font-size:12px}.heatmap-wrap{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start}.heatmap-days{height:112px;display:grid;grid-template-rows:repeat(3,1fr);align-items:center;color:#817D75;font-size:11px}.heatmap-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;gap:4px;overflow:auto;padding:4px}.heat-cell{width:12px;height:12px;padding:0;border:0;border-radius:3px;background:#EEF1F5;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.heat-cell:hover{transform:scale(1.35);box-shadow:0 0 0 3px #FFF0C2}.heat-cell.level-1{background:#F4D98A}.heat-cell.level-2{background:#E8B846}.heat-cell.level-3{background:#D99B24}.heat-cell.level-4{background:#B77D16}.heatmap-footer{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:16px;color:#817D75;font-size:11px}.heat-level{display:block;width:12px;height:12px;border-radius:3px}.heatmap-tooltip{position:absolute;z-index:4;pointer-events:none;padding:8px 10px;border-radius:8px;background:#20242B;color:#FFFFFF;font:700 11px 'Plus Jakarta Sans',Arial,sans-serif;white-space:nowrap;box-shadow:0 8px 18px rgba(32,36,43,.16)}@media(max-width:760px){.heatmap-panel{padding:16px}.heatmap-grid{grid-auto-columns:11px;grid-template-rows:repeat(7,11px);gap:3px}.heat-cell,.heat-level{width:11px;height:11px}.heatmap-header{margin-bottom:16px}.heatmap-tooltip{display:none}}
.heatmap-grid{width:100%;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(7,16px);grid-auto-columns:auto;overflow:visible}.heat-cell{width:100%;height:16px}
.import-panel{cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.import-panel:hover,.import-panel.is-dragging{border-color:var(--amber);background:var(--amber-soft);transform:translateY(-2px)}.import-panel.has-file{cursor:default}.import-panel.has-file:hover{transform:none}.import-status{font-size:12px;color:var(--muted)}.demo-preview-button{margin-top:8px}
.landing-analytics-image{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--border);box-shadow:0 12px 24px rgba(32,36,43,.1)}
.study-preview>img{display:block;object-fit:cover;object-position:center;width:100%;height:100%;opacity:1}.study-preview .preview-card{display:none}.study-preview{background:var(--dark);padding:0;border:1px solid var(--border)}
.nav>.button.button-dark{background:transparent!important;color:var(--ink)!important;border:1px solid var(--border-strong)!important;padding:12px 16px!important;font-size:14px!important;box-shadow:none!important}.nav>.button.button-dark:hover{background:var(--amber-soft)!important;color:var(--ink)!important;border-color:var(--amber)!important;transform:none}.study-preview>img{object-fit:contain;object-position:center;transform:none!important;transition:none!important}.study-preview:hover>img{transform:none!important;opacity:1}
.study-preview{background:transparent!important;border-radius:24px;overflow:hidden}.study-preview>img{border-radius:24px}
.heat-cell:hover{transform:scale(1.12);box-shadow:0 0 0 2px #FFF0C2}.heatmap-days{height:136px;grid-template-rows:repeat(7,16px);gap:4px}.heatmap-days span:nth-child(1){grid-row:2}.heatmap-days span:nth-child(2){grid-row:4}.heatmap-days span:nth-child(3){grid-row:6}
.user-curve{fill:none;stroke:var(--amber);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.user-curve-swatch{height:4px;background:var(--amber)}
.what-if{background:var(--surface);color:var(--ink);border-color:var(--border);box-shadow:0 12px 24px rgba(32,36,43,.08);min-height:224px;padding:24px}.what-if-heading strong{color:var(--ink)}.what-if .eyebrow{color:var(--amber-pressed)}.what-if-badge{background:var(--amber-soft);color:var(--amber-pressed)}.what-if-scale{color:var(--muted)}.what-if-result{color:var(--secondary)}.what-if-result strong{color:var(--ink)}.what-if input{height:8px;margin:24px 0 8px;background:var(--amber);border-radius:999px;transition:background .25s ease;touch-action:none}.what-if input::-webkit-slider-thumb{transition:transform .2s ease,box-shadow .2s ease}.what-if input::-webkit-slider-thumb:hover{transform:scale(1.12);box-shadow:0 0 0 4px var(--amber-soft)}.what-if input::-moz-range-thumb{transition:transform .2s ease,box-shadow .2s ease}.what-if input::-moz-range-thumb:hover{transform:scale(1.12);box-shadow:0 0 0 4px var(--amber-soft)}
.analytics-section{display:block}.interactive-chart-panel{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.chart-visual{min-width:0}.interactive-chart-panel .what-if{margin-top:0;align-self:stretch}.what-if{background:var(--dark);border-color:var(--amber);color:#fff;box-shadow:0 16px 30px rgba(32,36,43,.14);display:flex;flex-direction:column;justify-content:center;min-height:220px}.what-if-heading strong{color:#fff}.what-if .eyebrow{color:var(--amber-hover)}.what-if-badge{background:var(--amber);color:var(--on-amber)}.what-if-scale{color:#b9b5ae}.what-if-result{color:#e2e0db}.what-if-result strong{color:#fff0c2}.what-if input{height:6px;appearance:none;border-radius:999px;background:linear-gradient(90deg,var(--amber) 0%,var(--amber) 47%,#55524c 47%,#55524c 100%);outline:none}.what-if input::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border:3px solid var(--dark);border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px var(--amber-soft);cursor:grab}.what-if input::-moz-range-thumb{width:16px;height:16px;border:3px solid var(--dark);border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px var(--amber-soft);cursor:grab}@media(max-width:760px){.interactive-chart-panel{grid-template-columns:1fr;gap:24px}.interactive-chart-panel .what-if{min-height:0}.analytics-grid .chart-panel .chart{height:260px}}
.download-button{position:relative;overflow:hidden;background:var(--dark);color:#fff;border:2px solid var(--amber);box-shadow:0 10px 24px rgba(32,36,43,.2);transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.download-button i{margin-left:8px;transition:transform .25s ease}.download-button:hover{background:var(--amber);color:var(--on-amber);transform:translateY(-3px) scale(1.03);box-shadow:0 14px 28px rgba(32,36,43,.22),0 0 0 7px rgba(217,155,36,.16)}.download-button:hover i{transform:translateY(3px)}
@media(max-width:760px){.nav-links{display:flex!important;position:fixed!important;left:16px;right:16px;bottom:16px;z-index:10000;justify-content:space-around;gap:8px;margin:0;padding:12px 16px;border:1px solid #e5dfd5;border-radius:999px;background:#fff;box-shadow:0 12px 28px rgba(32,36,43,.16);backdrop-filter:blur(14px)}.nav-links a{flex:1;text-align:center;padding:8px 4px;font-size:12px}.nav{position:relative;z-index:10001}}
:root{--bg:#F5F6F8;--sidebar:#E7E7E3;--surface:#FFFFFF;--elevated:#EEF1F5;--input:#F0F2F5;--border:#D5D3CE;--border-strong:#A9A59E;--divider:#E2E0DB;--ink:#20242B;--secondary:#55524C;--muted:#817D75;--disabled:#A5A29B;--amber:#D99B24;--amber-hover:#E8B846;--amber-pressed:#B77D16;--amber-soft:#FFF0C2;--on-amber:#1B1D24;--dark:#20242B;--stone:#E7E7E3}
body{background:var(--bg);color:var(--ink)}a{color:var(--ink)}.muted,.trusted,.download-note{color:var(--muted)}.eyebrow,.icon,.card-topic{color:var(--amber-pressed)}.button-dark{background:var(--amber);color:var(--on-amber)}.button-dark:hover{background:var(--amber-hover)}.button-light{background:var(--amber-soft);color:var(--ink)}.button-light:hover{background:#FBE5A0}.nav-links{background:var(--surface);border-color:var(--border);box-shadow:0 8px 20px rgba(32,36,43,.08)}.section-heading,.benefits article,.steps article,.chart-panel,.mobile-download{border-color:var(--divider)}.feature-chips span,.plan,.tab.active{background:var(--amber-soft)}.import-panel{background:var(--surface);border-color:var(--amber)}.drop-icon,.lock-mark{background:var(--amber-soft);color:var(--amber)}.device-points span,.auth-card,.completion-panel,.recall-card,.flashcard{background:var(--surface);border-color:var(--border)}.auth-card input{background:var(--input);border-color:var(--border)}.dashboard{background-color:var(--dark)}.study-preview{background:var(--amber-soft)}.preview-card{background:var(--dark)}.download-window{background:var(--dark);border-color:var(--border)}.download-window-sidebar{background:var(--sidebar)}.download-app-image{border-color:var(--border)}.recall-actions button{background:var(--surface);border-color:var(--border);color:var(--secondary)}.recall-actions button:hover{background:var(--amber-soft);color:var(--ink)}.recall-actions .reveal-answer{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}.chart-area{fill:var(--amber-soft)}.chart-line{stroke:var(--amber)}.chart circle,.chart-point circle{fill:var(--amber-pressed)}.bar-chart span{background:#E8E5DE}.bar-chart span:hover{background:var(--amber)}.bar-chart span.bar-high{background:var(--amber)}.installer-platform-icons{color:var(--ink)}#installer-type{background:var(--input);border-color:var(--border)}
.study-preview{background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important}.study-preview>img{border:0!important;border-radius:0!important;box-shadow:none!important}
.study-preview{margin-top:32px!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important}.study-preview>img{border:1px solid #D5D3CE!important;border-radius:24px!important;box-shadow:0 12px 28px rgba(32,36,43,.12)!important}
.study-preview{height:auto!important;display:block!important}.study-preview>img{position:static!important;width:100%!important;height:auto!important;object-fit:contain!important}
.trusted{padding-top:16px!important}
.device-image{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
@media(max-width:760px){.nav-links{bottom:24px!important;box-shadow:0 16px 32px rgba(32,36,43,.18)!important}}
.fa-brands{font-family:"Font Awesome 7 Brands"!important;font-weight:400!important}.fa-regular,.fa-solid{font-family:"Font Awesome 7 Pro"!important}
.footer{display:grid!important;grid-template-columns:1fr auto auto auto;align-items:center;gap:24px!important;padding-block:32px 24px!important}.footer-brand{justify-self:start}.footer>a:not(.footer-brand){white-space:nowrap}.footer span{text-align:center;white-space:nowrap}@media(max-width:760px){.footer{grid-template-columns:1fr 1fr;gap:16px!important}.footer-brand{grid-column:1/-1}.footer span{text-align:left}.footer>a:not(.footer-brand){text-align:right}}
