@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;600&display=swap";:root{--bg-base: #f8f4ea;--bg-alt: #efe7d2;--panel: rgba(255, 250, 242, .84);--panel-strong: #f9efd8;--text: #11291f;--muted: #476459;--accent: #0f8563;--accent-strong: #0a6d50;--accent-soft: #cbeadf;--accent-glow: rgba(15, 133, 99, .22);--danger: #cb5c2a;--border: #d6cfbf;--shadow-lg: 0 22px 42px rgba(17, 41, 31, .14);--shadow-sm: 0 10px 24px rgba(17, 41, 31, .08);--radius-xl: 22px;--radius-lg: 16px;--radius-md: 12px;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,sans-serif;line-height:1.4;color:var(--text);background:radial-gradient(circle at 10% 8%,rgba(203,234,223,.95),transparent 40%),radial-gradient(circle at 88% 12%,rgba(249,236,207,.95),transparent 35%),linear-gradient(145deg,var(--bg-base) 12%,var(--bg-alt) 100%);min-height:100vh;overflow-x:hidden}body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:-1;filter:blur(46px);opacity:.55}body:before{width:240px;height:240px;background:#16a37a54;top:14vh;left:-80px;animation:blob-float 14s ease-in-out infinite}body:after{width:280px;height:280px;background:#f4b6784d;bottom:10vh;right:-100px;animation:blob-float 18s ease-in-out infinite reverse}h1,h2,h3,p{margin:0}.entry-shell,.dashboard-shell{position:relative;z-index:1;animation:page-fade .44s var(--ease-out)}.entry-shell{max-width:1120px;margin:0 auto;padding:clamp(1rem,2.8vw,2.6rem) 1rem 3rem;display:grid;gap:1rem}.landing-hero,.login-card,.feature-card,.hero,.panel,.sidebar{border:1px solid var(--border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.landing-hero{position:relative;border-radius:var(--radius-xl);padding:clamp(1.4rem,3vw,2.4rem);background:linear-gradient(125deg,#fffdf4f2,#f6eedce6);box-shadow:var(--shadow-lg);display:grid;gap:.9rem;overflow:hidden;animation:rise-in .52s var(--ease-out)}.landing-hero:after{content:"";position:absolute;inset:auto -110px -140px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(15,133,99,.24),transparent 70%)}.landing-hero h1{font-size:clamp(1.8rem,3.5vw,3.1rem);line-height:1.1;max-width:18ch}.landing-hero p{max-width:68ch;color:var(--muted)}.entry-actions{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.62rem}.feature-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.feature-card{border-radius:var(--radius-md);padding:.95rem;background:var(--panel);box-shadow:var(--shadow-sm);animation:card-pop .46s var(--ease-out) both;animation-delay:var(--delay, 0ms)}.feature-card h3{font-size:1.02rem}.feature-card p{margin-top:.42rem;font-size:.91rem;color:var(--muted)}.login-card{width:min(470px,100%);border-radius:20px;padding:1.25rem;background:linear-gradient(170deg,#fffaf2f0,#f9efd8e6);box-shadow:var(--shadow-lg);display:grid;gap:.85rem;justify-self:center;animation:rise-in .52s var(--ease-out)}.login-card h1{font-size:1.52rem}.login-form{margin-top:.55rem;display:grid;gap:.7rem}.login-form label{display:grid;gap:.25rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--muted)}.dashboard-shell{max-width:1320px;margin:0 auto;padding:1rem;min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);gap:1rem}.dashboard-content{display:grid;gap:1rem;align-content:start}.section-stage{display:grid;gap:1rem;animation:section-swap .36s var(--ease-out)}.sidebar{border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff7e7f2,#f8efdbe6);box-shadow:var(--shadow-sm);padding:1rem .8rem;display:grid;grid-template-rows:auto 1fr auto;gap:.9rem;min-height:calc(100vh - 2rem);position:sticky;top:1rem}.sidebar-brand h2{margin-top:.32rem}.sidebar-nav{display:grid;gap:.45rem;align-content:start}.sidebar-item{position:relative;text-align:left;justify-content:flex-start;background:transparent;color:var(--text);border:1px solid transparent;font-weight:600;padding:.65rem .8rem;animation:card-pop .42s var(--ease-out) both;animation-delay:var(--delay, 0ms)}.sidebar-item:before{content:"";position:absolute;left:9px;top:50%;width:5px;height:5px;border-radius:50%;background:transparent;transform:translateY(-50%);transition:background-color .22s ease}.sidebar-item.active{background:linear-gradient(90deg,#cbeadff0,#ddf2e7cc);border-color:#98cfbb;color:#114a39;box-shadow:0 8px 22px #0f856329}.sidebar-item.active:before{background:var(--accent)}.sidebar-logout{width:100%}.hero{border-radius:20px;padding:1.5rem;background:linear-gradient(110deg,#fffaf2f2,#f7f2e6e6);box-shadow:var(--shadow-sm);animation:rise-in .52s var(--ease-out)}.hero h1{font-size:clamp(1.45rem,2.4vw,2.3rem);margin-top:.5rem}.hero p{margin-top:.72rem;max-width:70ch;color:var(--muted)}.eyebrow{display:inline-flex;align-items:center;gap:.32rem;font-family:IBM Plex Mono,monospace;font-size:.8rem;padding:.26rem .56rem;border-radius:999px;background:var(--accent-soft);color:#12513e}.grid-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.secondary{grid-template-columns:2fr 1fr}.panel{border-radius:var(--radius-lg);padding:1rem;background:var(--panel);box-shadow:var(--shadow-sm);animation:rise-in .5s var(--ease-out)}.panel h2{font-size:1.08rem}.goal-form{margin-top:.86rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.goal-form label,.inline-field{display:grid;gap:.25rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--muted)}input,select,button{font-family:inherit}input,select{width:100%;border:1px solid var(--border);background:#fffef8f2;color:var(--text);padding:.6rem .66rem;border-radius:10px;font-size:.9rem;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:focus,select:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px #0f856329}button{position:relative;overflow:hidden;border:0;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#f7fffb;font-weight:700;cursor:pointer;padding:.64rem .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:transform .17s var(--ease-out),box-shadow .17s ease,filter .17s ease;box-shadow:0 10px 20px var(--accent-glow)}button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.36) 50%,transparent 82%);transform:translate(-130%);transition:transform .43s ease}button:hover{transform:translateY(-1px);filter:saturate(1.05)}button:hover:after{transform:translate(130%)}button:active{transform:translateY(0)}button:focus-visible{outline:none;box-shadow:0 0 0 4px #0f856333,0 10px 20px var(--accent-glow)}.goal-form button{grid-column:1 / -1;margin-top:.3rem}.goal-list,.schedule-list,.progress-list{margin-top:.95rem;display:grid;gap:.62rem}.goal-item,.schedule-item,.progress-item{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:#fffffbd6;padding:.76rem;display:flex;align-items:center;justify-content:space-between;gap:.66rem;transition:transform .22s var(--ease-out),box-shadow .22s ease,border-color .22s ease;animation:card-pop .45s var(--ease-out) both;animation-delay:var(--delay, 0ms)}.goal-item:before,.schedule-item:before,.progress-item:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:12px 0 0 12px;background:#0f856366}.goal-item:hover,.schedule-item:hover,.progress-item:hover,.feature-card:hover,.stat-card:hover,.streak-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #11291f21;border-color:#c9c1ad}.goal-item h3,.schedule-item h3,.progress-item h3{font-size:.97rem}.goal-item p,.schedule-item p,.progress-item p{margin-top:.25rem;color:var(--muted);font-size:.84rem}.ghost{background:#fff9;border:1px solid var(--border);color:var(--text);box-shadow:none}.ghost:hover{box-shadow:0 8px 20px #11291f1a}.danger{color:var(--danger);border-color:#cb5c2a80}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.62rem}.panel-head input{width:100px}.schedule-item.overdue{border-left:4px solid var(--danger)}.schedule-item.overdue:before{background:#cb5c2a75}.badge{display:inline-block;margin-top:.35rem;padding:.2rem .5rem;font-size:.75rem;border-radius:999px;border:1px solid currentColor}.stats-grid{margin-top:.86rem;display:grid;gap:.62rem;grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.streak-card{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg,#f9efd8f2,#fffaf2eb);padding:.66rem .76rem;animation:card-pop .46s var(--ease-out) both;animation-delay:var(--delay, 0ms);transition:transform .22s var(--ease-out),box-shadow .22s ease,border-color .22s ease}.stat-card p,.streak-card p{color:var(--muted);font-size:.8rem}.stat-card strong,.streak-card strong{display:block;margin-top:.3rem;font-size:1.2rem}.progress-item{display:block}.progress-item header{display:flex;align-items:baseline;justify-content:space-between}.progress-track{margin-top:.52rem;height:10px;border-radius:999px;background:#e7dfcd;overflow:hidden}.progress-fill{position:relative;height:100%;background:linear-gradient(90deg,#16a37a,#0f8563);border-radius:inherit;transition:width .36s var(--ease-out)}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 10%,rgba(255,255,255,.45) 45%,transparent 80%);animation:shimmer 2.8s linear infinite}.streak-strip{margin-top:.86rem;display:grid;gap:.62rem}.muted{color:var(--muted);font-size:.9rem}@keyframes rise-in{0%{opacity:0;transform:translateY(12px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes card-pop{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes page-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes section-swap{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes blob-float{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-26px) translate(12px)}}@media (max-width: 1180px){.dashboard-shell{grid-template-columns:226px minmax(0,1fr)}.hero h1{font-size:clamp(1.35rem,2.5vw,2rem)}}@media (max-width: 980px){.dashboard-shell{grid-template-columns:1fr}.sidebar{min-height:0;position:static;grid-template-rows:auto auto auto}.sidebar-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);overflow-x:auto;padding-bottom:.25rem}.sidebar-nav::-webkit-scrollbar{height:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#cec3aa;border-radius:999px}.sidebar-item{justify-content:center;text-align:center}.sidebar-item:before{display:none}.sidebar-logout{width:fit-content;justify-self:end}.grid-layout,.secondary{grid-template-columns:1fr}.feature-band{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.entry-shell,.dashboard-shell{padding:.85rem}.hero,.panel,.landing-hero,.login-card{padding:.95rem}.goal-form,.feature-band,.stats-grid{grid-template-columns:1fr}.goal-item,.schedule-item{flex-direction:column;align-items:flex-start}.goal-item button,.schedule-item button{width:100%}}@media (max-width: 540px){.landing-hero h1{font-size:clamp(1.5rem,7vw,2.1rem)}.entry-actions,.entry-actions button{width:100%}.panel-head{flex-direction:column;align-items:stretch}.panel-head input{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
