:root{--bg:#f7f7f3;--surface:#fff;--surface-2:#f0f1ec;--surface-3:#e8e9e3;--text:#111315;--muted:#6f756f;--line:rgba(17,19,21,.09);--accent:#c8ff4d;--accent-2:#9de314;--accent-ink:#142000;--danger:#ef5d64;--shadow:0 18px 50px rgba(18,20,16,.10);--shadow-soft:0 10px 26px rgba(18,20,16,.07);--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--main-h:72px;--settings-h:58px;--sub-h:54px;--tablet-main-w:94px}
html[data-theme="dark"]{--bg:#0b0d0f;--surface:#111417;--surface-2:#171b1f;--surface-3:#1f2429;--text:#f4f7f1;--muted:#98a09a;--line:rgba(255,255,255,.08);--shadow:0 18px 60px rgba(0,0,0,.32);--shadow-soft:0 10px 28px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",system-ui,sans-serif;min-height:100vh}button,input,select{font:inherit}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}::selection{background:var(--accent);color:#111}
.app-shell{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgba(200,255,77,.08),transparent 27%),radial-gradient(circle at 85% 20%,rgba(200,255,77,.05),transparent 25%),var(--bg)}.page{min-height:100vh}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:-.04em;font-size:1.15rem}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:900;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:700}.muted{color:var(--muted)}
.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:11px 16px;border-radius:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.2s ease}.btn:hover{transform:translateY(-1px);border-color:rgba(200,255,77,.45)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:0 10px 24px rgba(200,255,77,.18)}.btn-ghost{background:transparent}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center}
.landing-nav{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.landing-nav .nav-actions{display:flex;align-items:center;gap:10px}.hero{padding:88px 0 44px;display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}.hero h1{font-family:"Manrope";font-size:clamp(3.3rem,7vw,6.8rem);line-height:.91;letter-spacing:-.075em;margin:14px 0 22px;max-width:830px}.hero h1 span{color:var(--accent-2)}.hero p{font-size:1.14rem;line-height:1.7;color:var(--muted);max-width:620px}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.hero-proof{margin-top:34px;display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.hero-proof strong{color:var(--text)}
.hero-visual{position:relative;min-height:520px}.float-card{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.float-card.main{inset:30px 0 60px 38px;overflow:hidden}.mock-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}.mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.mock-block{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:16px;min-height:128px}.mock-block.big{grid-column:1/-1;min-height:156px}.mock-pill{height:11px;border-radius:99px;background:var(--surface-3);margin-top:11px}.mock-pill.accent{background:var(--accent);width:56%}.mini-card{right:-18px;top:10px;width:170px;transform:rotate(4deg)}.mini-card.bottom{left:0;bottom:8px;right:auto;width:190px;transform:rotate(-3deg)}.mini-icon{width:42px;height:42px;border-radius:13px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:900;margin-bottom:16px}
.landing-section{padding:72px 0}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}.section-head h2{font-family:"Manrope";font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.05em;margin:8px 0 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:var(--radius-lg);min-height:230px;box-shadow:var(--shadow-soft)}.feature-card .num{font-family:"Manrope";font-size:.82rem;color:var(--muted);margin-bottom:50px}.feature-card h3{font:700 1.25rem "Manrope";letter-spacing:-.03em;margin:0 0 10px}.feature-card p{color:var(--muted);line-height:1.6;margin:0}.landing-cta{margin:36px 0 70px;background:var(--accent);color:var(--accent-ink);border-radius:32px;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:30px}.landing-cta h2{font:800 clamp(2rem,4vw,3.6rem) "Manrope";letter-spacing:-.055em;margin:0;max-width:680px}.landing-cta .btn{background:#111;color:#fff;border-color:#111}
.join-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.join-panel{padding:34px clamp(28px,5vw,72px);display:flex;flex-direction:column}.join-brand{margin-bottom:54px}.join-copy{margin:auto 0}.join-copy h1{font:800 clamp(2.5rem,5vw,5.4rem) "Manrope";letter-spacing:-.065em;line-height:.95;margin:14px 0 20px}.join-copy p{color:var(--muted);font-size:1.06rem;line-height:1.7;max-width:500px}.join-art{margin-top:auto;padding-top:35px;display:flex;gap:12px;flex-wrap:wrap}.join-art span{padding:10px 13px;border:1px solid var(--line);border-radius:99px;font-size:.86rem;color:var(--muted);background:var(--surface)}.auth-side{background:var(--surface);border-left:1px solid var(--line);display:grid;place-items:center;padding:36px}.auth-card{width:min(440px,100%)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:var(--surface-2);border-radius:14px;margin-bottom:26px}.auth-tab{border:0;background:transparent;padding:11px;border-radius:10px;font-weight:700;color:var(--muted)}.auth-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.auth-card h2{font:800 2rem "Manrope";letter-spacing:-.04em;margin:0 0 8px}.auth-card>p{color:var(--muted);margin:0 0 26px}.field{margin-bottom:15px}.field label{display:block;font-size:.84rem;font-weight:700;margin:0 0 8px}.field input,.field select{width:100%;height:50px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:13px;padding:0 14px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px rgba(200,255,77,.09)}.auth-submit{width:100%;height:50px;margin-top:6px}.auth-note{text-align:center;font-size:.8rem;color:var(--muted);margin-top:18px;line-height:1.5}
.workspace{min-height:100vh;padding-top:calc(var(--settings-h) + var(--main-h) + var(--sub-h));transition:padding .25s ease}.workspace.sidebar-open{padding-left:280px;padding-top:calc(var(--main-h) + var(--sub-h))}.main-nav,.settings-nav,.sub-nav{position:fixed;left:0;right:0;z-index:30;background:color-mix(in srgb,var(--bg) 87%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.settings-nav{top:0;height:var(--settings-h);display:flex;align-items:center;transition:.25s ease}.settings-nav.hidden{transform:translateY(-110%);opacity:0;pointer-events:none}.settings-inner{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:0 24px;overflow:auto}.settings-action{border:1px solid transparent;background:transparent;color:var(--muted);padding:9px 11px;border-radius:11px;font-weight:700;white-space:nowrap}.settings-action:hover{background:var(--surface);color:var(--text);border-color:var(--line)}.settings-action.sidebar-trigger{color:var(--text);border-color:var(--line);background:var(--surface)}
.main-nav{top:var(--settings-h);height:var(--main-h);display:flex;align-items:center;transition:top .25s ease}.main-nav .inner{width:100%;padding:0 26px;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;gap:20px}.nav-center{display:flex;align-items:center;justify-content:center;gap:4px}.nav-link{border:0;background:transparent;color:var(--muted);padding:10px 13px;border-radius:12px;font-weight:700;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface)}.nav-link.active{box-shadow:inset 0 -2px 0 var(--accent)}.user-chip{justify-self:end;display:flex;align-items:center;gap:10px;padding:6px 9px 6px 6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;font-weight:700;font-size:.88rem}.avatar{width:31px;height:31px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:900}.sub-nav{top:calc(var(--settings-h) + var(--main-h));height:var(--sub-h);display:flex;align-items:center;transition:top .25s ease}.sidebar-open .main-nav{top:0}.sidebar-open .sub-nav{top:var(--main-h)}.sub-inner{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 24px;overflow:auto}.sub-link{border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:999px;font-weight:600;font-size:.9rem;white-space:nowrap}.sub-link:hover,.sub-link.active{background:var(--surface);color:var(--text)}.sub-link.active{outline:1px solid var(--line)}
.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--surface);border-right:1px solid var(--line);z-index:50;transform:translateX(-100%);transition:.25s ease;padding:18px;overflow:auto}.sidebar.open{transform:translateX(0)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sidebar-head h3{font:800 1rem "Manrope";margin:0}.sidebar-section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.sidebar-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}.side-link,.side-action{width:100%;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:10px;padding:11px;border-radius:11px;text-align:left;font-weight:700}.side-link:hover,.side-action:hover,.side-link.active{background:var(--surface-2);color:var(--text)}.side-dot{width:8px;height:8px;border-radius:50%;background:var(--surface-3)}.side-link.active .side-dot{background:var(--accent)}
.workspace-main{min-height:calc(100vh - var(--settings-h) - var(--main-h) - var(--sub-h));display:grid;place-items:center;padding:42px;transition:.25s ease}.empty-state{text-align:center;max-width:680px}.empty-icon{width:74px;height:74px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);display:grid;place-items:center;margin:0 auto 22px;font-size:1.55rem}.empty-state h1{font:800 clamp(2.4rem,6vw,5.2rem) "Manrope";letter-spacing:-.065em;margin:0 0 12px}.empty-state p{margin:0;color:var(--muted);font-size:1.05rem}
.workspace-main-subjects{display:block;place-items:unset;padding:34px clamp(18px,4vw,52px)}.subjects-page{width:min(1180px,100%);margin:0 auto}.subjects-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.subjects-head h1{font:800 clamp(2.2rem,5vw,4.2rem)/.98 "Manrope";letter-spacing:-.06em;margin:8px 0 10px}.subjects-head p{margin:0;color:var(--muted);line-height:1.5}.subject-add{border:0;background:var(--accent);color:var(--accent-ink);border-radius:17px;padding:11px 16px;min-height:52px;display:flex;align-items:center;gap:10px;font-weight:800;box-shadow:0 12px 28px rgba(200,255,77,.15)}.subject-add span{font-size:1.35rem;line-height:1}.subjects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subject-swipe{position:relative;overflow:hidden;border-radius:22px;background:var(--surface-2);touch-action:pan-y}.subject-action{position:absolute;top:0;bottom:0;width:50%;display:flex;align-items:center;font-weight:800;font-size:.86rem;letter-spacing:.02em;z-index:0}.subject-action-delete{left:0;justify-content:flex-start;padding-left:24px;background:var(--danger);color:#fff}.subject-action-edit{right:0;justify-content:flex-end;padding-right:24px;background:var(--accent);color:var(--accent-ink)}.subject-card{position:relative;z-index:2;min-height:210px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-soft);transition:transform .16s ease,border-color .16s ease;user-select:none;outline:none}.subject-card:hover,.subject-card:focus-visible{border-color:rgba(200,255,77,.42)}.subject-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.subject-icon{width:58px;height:58px;border-radius:17px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font:800 1.35rem "Manrope"}.subject-desktop-actions{display:flex;gap:7px;opacity:0;transform:translateY(-3px);transition:.16s ease}.subject-card:hover .subject-desktop-actions,.subject-card:focus-within .subject-desktop-actions{opacity:1;transform:none}.subject-mini-action{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;font-weight:800}.subject-mini-action:hover{color:var(--text)}.subject-mini-action.delete:hover{color:#fff;background:var(--danger);border-color:transparent}.subject-card-copy h2{font:800 1.35rem "Manrope";letter-spacing:-.035em;margin:0 0 7px}.subject-card-copy p{margin:0;color:var(--muted);font-size:.9rem}.subjects-empty{grid-column:1/-1;min-height:340px;border:1px dashed var(--line);border-radius:24px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.subjects-empty-icon{width:60px;height:60px;border-radius:18px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:1.4rem;margin-bottom:14px}.subjects-empty h2{font:800 1.5rem "Manrope";margin:0 0 8px}.subjects-empty p{margin:0 0 18px;color:var(--muted)}.subject-detail{margin:0 auto;min-height:calc(100vh - 300px);display:grid;place-items:center;align-content:center}
.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(5px);z-index:80;animation:fade-in .16s ease}.subject-sheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));max-height:min(760px,calc(100vh - 40px));overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:24px;z-index:81;box-shadow:0 28px 90px rgba(0,0,0,.35);animation:sheet-in .2s ease}.sheet-handle{display:none}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.sheet-head h2{font:800 2rem "Manrope";letter-spacing:-.045em;margin:7px 0 0}.icon-picker-label{font-size:.84rem;font-weight:700;margin:6px 0 10px}.subject-icon-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:22px}.subject-icon-option{aspect-ratio:1;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--text);font:700 1rem "Manrope";display:grid;place-items:center}.subject-icon-option.selected{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:0 0 0 3px rgba(200,255,77,.13)}.sheet-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:var(--text);color:var(--bg);padding:11px 13px;border-radius:13px;font-weight:700;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px;animation:toast-in .22s ease}.toast button{border:0;background:var(--accent);color:var(--accent-ink);font-weight:800;border-radius:9px;padding:7px 10px}@keyframes toast-in{from{transform:translateY(10px);opacity:0}}@keyframes fade-in{from{opacity:0}}@keyframes sheet-in{from{opacity:0;transform:translate(-50%,-46%)}}
@media (min-width:721px) and (max-width:1100px){.hero{grid-template-columns:1fr;padding-top:60px}.hero-visual{min-height:430px}.feature-grid{grid-template-columns:1fr 1fr}.join-page{grid-template-columns:1fr}.join-panel{display:none}.auth-side{border-left:0;min-height:100vh}.workspace{padding-top:calc(var(--settings-h) + var(--sub-h));padding-right:var(--tablet-main-w)}.workspace.sidebar-open{padding-left:280px;padding-top:var(--sub-h);padding-right:var(--tablet-main-w)}.settings-nav{right:var(--tablet-main-w);top:0}.settings-inner{justify-content:flex-start}.sub-nav{right:var(--tablet-main-w);top:var(--settings-h)}.sidebar-open .sub-nav{top:0}.sub-inner{justify-content:flex-start}.main-nav{left:auto;right:0;top:0;bottom:0;width:var(--tablet-main-w);height:auto;border-left:1px solid var(--line);border-bottom:0;align-items:stretch}.sidebar-open .main-nav{top:0}.main-nav .inner{height:100%;padding:14px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.main-nav .brand,.main-nav .user-chip{display:none}.nav-center{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;overflow:visible}.nav-link{width:100%;min-height:62px;padding:8px 4px;font-size:.72rem;white-space:normal;text-align:center;border-radius:14px}.nav-link.active{box-shadow:inset -3px 0 0 var(--accent)}.workspace-main{min-height:calc(100vh - var(--settings-h) - var(--sub-h));padding:34px 26px}.workspace-main-subjects{padding:30px 24px}.subjects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){:root{--main-h:78px;--settings-h:54px;--sub-h:50px}.container{width:min(100% - 26px,1180px)}.landing-nav{height:70px}.landing-nav .btn-ghost{display:none}.hero{grid-template-columns:1fr;padding-top:46px;gap:18px}.hero h1{font-size:clamp(3rem,16vw,5.1rem)}.hero-visual{min-height:360px}.float-card.main{left:0}.mini-card{display:none}.feature-grid{grid-template-columns:1fr}.landing-cta{padding:28px;align-items:flex-start;flex-direction:column}.join-page{grid-template-columns:1fr}.join-panel{display:none}.auth-side{border-left:0;min-height:100vh;padding:22px}.workspace{padding-top:calc(var(--settings-h) + var(--sub-h));padding-bottom:var(--main-h)}.workspace.sidebar-open{padding-left:0;padding-top:var(--sub-h);padding-bottom:var(--main-h)}.settings-nav{top:0;left:0;right:0;height:var(--settings-h)}.settings-inner{justify-content:flex-start;padding:0 12px;gap:4px;overflow-x:auto;scrollbar-width:none}.settings-inner::-webkit-scrollbar,.sub-inner::-webkit-scrollbar,.nav-center::-webkit-scrollbar{display:none}.settings-action{font-size:.82rem;padding:8px 10px}.sub-nav{top:var(--settings-h);left:0;right:0;height:var(--sub-h)}.sidebar-open .sub-nav{top:0}.sub-inner{justify-content:flex-start;padding:0 12px;overflow-x:auto;scrollbar-width:none}.main-nav{position:fixed;left:0;right:0;top:auto!important;bottom:0;height:var(--main-h);border-top:1px solid var(--line);border-bottom:0;display:flex;align-items:stretch;background:color-mix(in srgb,var(--bg) 94%,transparent)}.main-nav .inner{width:100%;height:100%;padding:7px 8px;display:block}.main-nav .brand,.main-nav .user-chip{display:none}.nav-center{width:100%;height:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;overflow:visible}.nav-link{min-width:0;height:100%;padding:7px 3px;border-radius:12px;font-size:.68rem;line-height:1.05;white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center}.nav-link.active{box-shadow:inset 0 3px 0 var(--accent)}.sidebar{width:min(86vw,310px);top:0;z-index:60}.workspace-main{min-height:calc(100vh - var(--settings-h) - var(--sub-h) - var(--main-h));padding:28px 18px}.workspace-main-subjects{padding:22px 14px 26px}.subjects-head{align-items:flex-start}.subjects-head h1{font-size:2.35rem}.subjects-head p{font-size:.88rem;max-width:250px}.subject-add{width:52px;height:52px;padding:0;justify-content:center;flex:0 0 auto}.subject-add strong{display:none}.subjects-grid{grid-template-columns:1fr;gap:12px}.subject-card{min-height:164px;padding:17px}.subject-icon{width:52px;height:52px;border-radius:15px}.subject-desktop-actions{display:none}.subject-card-copy h2{font-size:1.22rem}.subject-sheet{left:0;right:0;top:auto;bottom:0;transform:none;width:100%;max-height:86vh;border-radius:28px 28px 0 0;border-left:0;border-right:0;border-bottom:0;padding:12px 18px calc(18px + env(safe-area-inset-bottom));animation:sheet-up .22s ease}.sheet-handle{display:block;width:42px;height:5px;border-radius:99px;background:var(--surface-3);margin:0 auto 16px}.sheet-head h2{font-size:1.65rem}.subject-icon-picker{grid-template-columns:repeat(6,1fr)}.sheet-actions{position:sticky;bottom:0;background:var(--surface);padding-bottom:2px}.sheet-actions .btn{flex:1}.toast{left:14px;right:14px;bottom:calc(var(--main-h) + 12px);justify-content:space-between}@keyframes sheet-up{from{opacity:0;transform:translateY(100%)}}}
