:root{color-scheme:dark;--bg:#101310;--panel:#1b201b;--line:#343c32;--text:#f0f0e5;--muted:#a3ad9c;--accent:#d7f598;--ink:#202a14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:inherit}::selection{background:var(--accent);color:var(--ink)}
.shell{max-width:1480px;margin:auto;padding:28px 48px 20px}.topbar,.brand,.nav,.status,.section-heading,.card-heading,.footer{display:flex;align-items:center}.topbar{justify-content:space-between;padding-bottom:26px;border-bottom:1px solid var(--line);gap:24px}.brand{gap:12px;font-size:20px;font-weight:650;letter-spacing:-1px}.brand-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--accent);color:var(--ink);border-radius:50%;font-size:25px}.nav{gap:8px}.nav a{padding:10px 18px;font-size:13px;color:var(--muted);border-radius:24px}.nav a:hover,.nav a.active{background:#2b3327;color:var(--text)}.status{gap:8px;color:var(--muted);font-size:12px}.dot{height:6px;width:6px;border-radius:50%;background:var(--accent)}
.eyebrow{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-weight:450;font-size:clamp(44px,5.5vw,76px);line-height:1.09;letter-spacing:-4px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro{padding:46px 0 32px;display:flex;justify-content:space-between;align-items:end;gap:24px}.intro .eyebrow{margin-bottom:18px}.intro p{font-size:14px;color:var(--muted);margin-top:18px;line-height:1.6}.date{text-align:right;color:var(--muted);font-size:13px;line-height:1.9}.date strong{display:block;color:var(--text);font-weight:450}.grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px;min-width:0}.card-heading{justify-content:space-between;gap:12px}.card-heading h2{font-size:15px;font-weight:500;letter-spacing:-.3px}.icon-button{border:1px solid var(--line);background:transparent;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;font-size:18px}.icon-button:hover{background:#35412e}.muted{color:var(--muted)}.section-heading{justify-content:space-between;margin:32px 0 16px}.section-heading h2{font-size:18px;font-weight:450}.section-heading span{font-size:12px;color:var(--muted)}.footer{justify-content:space-between;gap:18px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.footer button{background:none;border:0;color:var(--muted);padding:8px}.footer button:hover{color:var(--accent)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--ink);padding:12px 22px;border-radius:12px;box-shadow:0 8px 30px #0005;z-index:10}.toast:empty{display:none}
@media(min-width:1600px){.shell{padding-top:40px}}@media(max-width:1000px){.shell{padding:24px}.grid{grid-template-columns:1fr 1fr}.grid>.card:first-child{grid-column:1/-1}.status{display:none}h1{letter-spacing:-2px}}@media(max-width:600px){.shell{padding:20px 16px}.topbar{gap:12px}.nav{gap:0}.nav a{padding:8px 10px;font-size:12px}.brand{font-size:17px}.intro{padding-top:32px;display:block}.date{text-align:left;margin-top:20px}.grid{grid-template-columns:1fr}.card{padding:22px}.footer{align-items:start;flex-direction:column}.intro p{max-width:300px}h1{font-size:46px}.section-heading span{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.landscape{position:relative;overflow:hidden;min-height:305px;background:#becda4;color:#263726;border:0;isolation:isolate}.landscape-top{display:flex;justify-content:space-between;position:relative;z-index:2}.landscape .eyebrow{color:#344c35}.sun{position:absolute;top:60px;right:70px;width:75px;height:75px;background:#edf0c8;border-radius:50%;box-shadow:0 0 70px #f3f8c84a}.hill{position:absolute;width:135%;height:220px;transform:rotate(-12deg);border-radius:50% 50% 0 0;z-index:-1}.hill-back{background:#869f74;top:155px;left:-110px}.hill-mid{background:#5b7958;top:182px;right:-140px;transform:rotate(16deg)}.hill-front{background:#365940;top:240px;left:-80px;transform:rotate(-16deg)}.clock-content{position:absolute;bottom:26px;left:24px;right:24px;color:#f3f4de}.clock-content time{font-size:76px;line-height:1.3;letter-spacing:-5px;font-weight:350;font-variant-numeric:tabular-nums}.clock-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#e2e8d2}.focus{display:flex;flex-direction:column;align-items:center}.focus .card-heading{width:100%}.timer-ring{--progress:0%;width:174px;height:174px;margin:18px 0;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),#374030 0);padding:2px;display:grid;place-items:center;position:relative}.timer-ring>div{border-radius:50%;width:100%;height:100%;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center}#timer{font-size:44px;font-weight:350;letter-spacing:-2px;font-variant-numeric:tabular-nums}.timer-caption{font-size:9px;color:var(--muted);margin-top:8px}.timer-controls{display:flex;gap:10px;width:100%;align-items:center}.primary{border:0;background:var(--accent);color:var(--ink);border-radius:10px;padding:12px 18px;font-size:12px;font-weight:650;display:flex;justify-content:space-between;gap:20px}.primary:hover{background:#e4ffb5}.timer-controls .primary{flex:1}.timer-controls .icon-button{width:40px;height:40px;border-radius:10px}.count{font-family:ui-monospace,monospace;font-size:11px;color:var(--muted)}.card-description{font-size:11px;color:var(--muted);margin:12px 0 18px}#task-list{list-style:none;padding:0;margin:0;max-height:145px;overflow:auto;min-height:114px}#task-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #343c3266;font-size:12px}#task-list label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}#task-list label span{overflow-wrap:anywhere}#task-list input{accent-color:var(--accent);width:16px;height:16px;margin:0;flex-shrink:0}#task-list .done span{text-decoration:line-through;color:var(--muted)}.delete{border:0;background:none;color:var(--muted);font-size:17px;padding:0 6px}.delete:hover{color:#ffc6a1}.inline-form{display:flex;margin-top:14px;border-bottom:1px solid var(--line);padding-bottom:8px}.inline-form input{background:none;color:var(--text);border:0;min-width:0;width:100%;font-size:12px;padding:6px 0}.inline-form button{background:none;border:0;color:var(--accent);font-size:22px}.task-footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:13px}.task-footer button{background:none;border:0;color:var(--muted);font-size:10px}.task-footer button:hover{color:var(--accent)}.lower-grid>.card{min-height:272px}#link-list{margin-top:18px;max-height:230px;overflow:auto}.link-row{display:flex;align-items:center;border-bottom:1px solid #343c3280}.link-row:last-child{border:0}.link-row a{display:flex;align-items:center;flex:1;min-width:0;gap:12px;padding:11px 0}.link-row a:hover .link-title{color:var(--accent)}.link-avatar{height:33px;width:33px;border:1px solid #424b3e;border-radius:9px;display:grid;place-items:center;font-family:Georgia,serif;font-size:18px;color:var(--accent);flex-shrink:0}.link-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.link-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-host{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-arrow{font-size:14px;color:var(--muted)}.link-row .delete{font-size:14px;margin-left:8px}.notes textarea{resize:vertical;min-height:166px;width:100%;margin-top:20px;border:0;background:transparent;color:var(--text);font-size:13px;line-height:1.8}.notes textarea::placeholder{color:#899582}.notes .eyebrow{font-size:9px;letter-spacing:1px}.note-footer{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:12px}.quote{background:#dce4cc;color:#33402d;position:relative;overflow:hidden;display:flex;flex-direction:column}.quote .eyebrow{color:#66755b;font-size:10px}.quote-mark{position:absolute;right:16px;top:7px;font:160px Georgia,serif;color:#b8c9a488;line-height:1}.quote blockquote{position:relative;margin:30px 0 20px;font-size:29px;line-height:1.2;letter-spacing:-1px}.quote blockquote em{font-family:Georgia,serif;font-weight:400}.quote-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#66755b;margin-top:auto}.quote-footer>span:last-child{font-size:30px;color:#566e43}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;width:min(420px,calc(100% - 32px));padding:28px}dialog::backdrop{background:#050a06b8;backdrop-filter:blur(7px)}dialog h2{font-size:20px}dialog label{display:block;font-size:12px;margin:22px 0 8px;color:var(--muted)}dialog input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--bg);color:var(--text)}dialog .primary{width:100%;margin-top:24px}#link-error{font-size:12px;color:#ffc6a1;margin-top:10px}.empty{color:var(--muted);font-size:12px;line-height:1.8;padding:12px 0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-behavior:smooth}

/* Public homepage */
.public-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;padding:70px 0;align-items:center}.public-hero h1{font-size:clamp(42px,4.7vw,68px);letter-spacing:-2.5px;margin-top:26px;line-height:1.15}.hero-description{color:var(--muted);font-size:14px;line-height:1.9;margin:28px 0}.hero-link{display:inline-flex;gap:40px}.public-art{height:450px;border-radius:170px 170px 18px 18px}.public-art .landscape-top{margin-top:60px;justify-content:center;gap:25px}.public-art .sun{top:155px;right:calc(50% - 45px);width:90px;height:90px}.public-art .hill-back{top:280px}.public-art .hill-mid{top:310px}.public-art .hill-front{top:365px}.art-caption{position:absolute;bottom:25px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#e3ecd3}.art-caption span{font-size:42px}.public-about{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;border-block:1px solid var(--line);padding:44px 0;margin-bottom:50px}.public-about h2{font-size:35px;font-weight:400;letter-spacing:-1px;margin-top:18px}.public-about em,.projects-title em{color:var(--accent)}.public-about>div>p:not(.eyebrow){font-size:19px;line-height:1.6}.public-about>div>p.muted{font-size:14px;margin-top:18px;line-height:1.8}.section-heading .projects-title{font-size:35px;margin-top:18px;letter-spacing:-1px}.public-project{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:28px}.project-visual{display:flex;align-items:center;justify-content:center;background:#bac6a6;padding:42px}.mock-window{width:100%;border-radius:10px;overflow:hidden;box-shadow:0 18px 30px #22351a33}.mock-bar{background:#2c3925;padding:12px 16px;color:#899e75;font-size:8px;display:flex;gap:45px}.mock-bar span{color:#bac8ad}.mock-content{background:#1b2616;padding:24px}.mock-content>p{font-size:23px;letter-spacing:-.8px}.mock-content em{font-family:Georgia,serif;color:var(--accent)}.mock-panels{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin:22px 0}.mock-clock{border-radius:8px;background:linear-gradient(165deg,#b8cc97 40%,#68885b 41%,#68885b 70%,#466c41 71%);display:flex;flex-direction:column;justify-content:end;min-height:150px;padding:14px;font-size:36px;font-weight:350}.mock-clock small,.mock-content>small{font-size:8px;color:#c0d2ae}.mock-timer{border:1px solid #3d5131;display:flex;flex-direction:column;justify-content:space-between;align-items:center;border-radius:8px;padding:18px 10px;font-size:28px}.mock-timer small{font-size:6px;letter-spacing:.8px;color:var(--accent)}.project-info{padding:40px;background:var(--panel)}.project-info h3{font-size:32px;font-weight:450;margin:18px 0}.project-info>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted)}.project-info ul{padding-left:18px;font-size:12px;line-height:2.4;color:#bdc9b1;margin:18px 0 24px}.public-link{color:var(--accent);font-size:13px;border-bottom:1px solid #708a50;padding-bottom:6px}.project-info p.demo-note{font-size:10px;margin-top:20px}.public-closing{text-align:center;background:#dce4cc;color:#33402d;padding:35px 20px 42px;border-radius:18px;margin-top:50px}.public-closing>span{font-size:44px;color:#69844b}.public-closing>p{font-size:11px;margin-top:12px}.public-closing h2{font-size:38px;font-weight:400;letter-spacing:-1px;line-height:1.2;margin:22px 0}.public-closing em{font-family:Georgia,serif;font-weight:400;color:#576f3e}.public-closing>a{font-size:12px;border-bottom:1px solid #77896a;padding-bottom:5px}.project-visual:hover .mock-window{outline:2px solid #edf5df}section[id]{scroll-margin-top:25px}
@media(max-width:1000px){.public-hero{gap:28px}.public-hero h1{font-size:48px}.public-art{height:410px}.public-about{gap:30px}.project-info{padding:28px}.project-visual{padding:24px}.mock-content{padding:18px}.mock-content>p{font-size:20px}}@media(max-width:700px){.public-hero{grid-template-columns:1fr;padding:40px 0}.public-hero h1{font-size:clamp(38px,7.5vw,50px);letter-spacing:-1.5px}.hero-description br{display:none}.public-art{max-width:450px;width:100%;justify-self:center;height:390px}.public-about{grid-template-columns:1fr;gap:25px;padding:32px 0;margin-bottom:34px}.public-about h2,.section-heading .projects-title{font-size:30px}.public-project{grid-template-columns:1fr}.section-heading{align-items:start;gap:20px}.section-heading>span{max-width:100px;text-align:right;font-size:10px}.project-visual{padding:28px}.public-closing h2{font-size:30px}.public-closing{margin-top:34px}.mock-content>p{font-size:19px}}