@charset "UTF-8";
:root{--paper:#f3f1e9;--ink:#202823;--muted:#59645d;--line:#d4d8cd;--green:#d9e6b1;--darkgreen:#344b36;--orange:#e29a65;--white:#faf9f4;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #a95229;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:16px;z-index:10}.skip:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:116px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:27px;font-weight:750;letter-spacing:-1px}.brand-mark{width:45px;height:45px;border-radius:13px;display:grid;place-content:center;background:var(--ink);color:var(--white);font-size:38px;position:relative;padding-bottom:7px}.brand-mark span{color:var(--orange);position:absolute;right:4px;bottom:-2px}.brand-caption{display:block;font-size:10px;font-weight:550;letter-spacing:1.3px;color:var(--muted);margin-top:3px}.site-header nav{display:flex;gap:30px;font-size:14px}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:#8b421f}.environment{display:flex;gap:9px;align-items:center;border:1px solid #c3cbb8;border-radius:30px;padding:10px 14px;font-size:12px;white-space:nowrap}.environment>span{background:#527146;width:6px;height:6px;border-radius:50%}.hero{display:grid;grid-template-columns:1.15fr 1fr;column-gap:70px;padding-top:64px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:650;margin:0 0 25px;display:flex;align-items:center;gap:12px}.small-line{width:22px;height:1px;background:currentColor}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(62px,6.8vw,98px);font-weight:550;letter-spacing:-6px;line-height:.99;margin:0 0 30px}h1>span{color:var(--darkgreen);font-style:italic;font-family:Georgia,"Times New Roman",serif;font-weight:400}p{line-height:1.7}.hero-description{font-size:16px;color:var(--muted);margin-bottom:31px;line-height:1.8}.hero-actions{display:flex;gap:24px;align-items:center}.button{border-radius:8px;padding:16px 20px;display:inline-flex;gap:28px;align-items:center;justify-content:space-between;text-decoration:none;cursor:pointer;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.primary{color:white;background:var(--ink)}.primary:hover{background:var(--darkgreen)}.button span{font-size:19px}.quiet-note{color:var(--muted);font-size:11px;line-height:1.6}.hero-art{background:var(--green);border-radius:var(--radius);height:520px;position:relative;overflow:hidden;margin-top:16px}.art-label{display:flex;justify-content:space-between;position:absolute;inset:23px 25px auto;font-size:10px;font-weight:600;letter-spacing:2px;z-index:2}.art-label>span:last-child{font-size:20px}.orbit{position:absolute;border:1px solid #8c9c72;border-radius:50%;width:460px;height:300px;left:-15px;top:103px;transform:rotate(-38deg)}.orbit-two{width:340px;height:470px;left:68px;top:25px;transform:rotate(-38deg)}.spark{position:absolute;line-height:1;color:var(--darkgreen)}.spark-one{left:28px;top:102px;font-size:82px;transform:rotate(12deg)}.spark-two{right:27px;bottom:106px;font-size:40px;font-weight:200}.idea-block{width:240px;height:270px;position:absolute;left:calc(50% - 120px);top:102px;background:var(--darkgreen);color:var(--paper);border-radius:8px;transform:rotate(-10deg);box-shadow:15px 19px 0 #acc084;padding:24px}.block-no{display:block;font-size:9px;letter-spacing:2px}.block-word{display:block;font-size:66px;letter-spacing:-3px;line-height:1.02;font-family:Georgia,serif;font-style:italic;margin-top:24px}.block-dot{width:23px;height:23px;border-radius:50%;background:var(--orange);position:absolute;right:22px;bottom:24px}.art-note{background:#f9f5dd;box-shadow:0 5px 15px #293d241a;position:absolute;right:26px;bottom:54px;padding:25px 23px 19px;transform:rotate(8deg);font-size:15px;line-height:1.4;font-family:Georgia,serif;font-style:italic}.note-pin{width:10px;height:10px;position:absolute;top:8px;left:50%;background:var(--orange);border-radius:50%}.art-bottom{position:absolute;inset:auto 25px 21px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.4px}.art-bottom>span:last-child{font-size:20px}.hero-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:34px 0 22px;margin-top:20px;color:var(--muted);font-size:11px}.hero-footer>span:last-child{display:flex;gap:32px}.intro{padding:74px 0 65px;display:grid;grid-template-columns:1fr 2fr;gap:30px}.intro>.eyebrow{padding-top:12px}.intro>div{display:grid;grid-template-columns:1fr 1fr;gap:50px}h2{font-size:clamp(29px,3vw,42px);letter-spacing:-1.5px;line-height:1.14;font-weight:500;margin:0 0 22px}h2>span{color:var(--muted)}.intro p:not(.eyebrow){color:var(--muted);font-size:14px;margin:0;line-height:1.9}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{font-size:32px;margin:0}.section-aside{font-size:11px;color:var(--muted);padding-bottom:5px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{padding:25px;border-radius:var(--radius);border:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;align-items:start}.project-top{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:10px}.project-number{font-family:monospace;font-size:12px;color:var(--muted)}.tag{font-size:10px;border:1px solid var(--line);padding:5px 8px;border-radius:20px}.project h3{font-size:22px;letter-spacing:-.6px;margin:8px 0 3px;font-weight:550}.project p{font-size:13px;color:var(--muted);line-height:1.8;margin:8px 0 24px}.project a{display:flex;gap:15px;font-size:12px;font-weight:600;margin-top:auto;line-height:1.6}.project a span{font-size:15px}.mini-browser{height:112px;width:150px;border:1px solid #8b9a80;background:#e9eedf;border-radius:7px;margin:30px auto 25px;position:relative;transform:rotate(-5deg)}.mini-browser>div{height:20px;border-bottom:1px solid #8b9a80;display:flex;align-items:center;gap:4px;padding-left:8px}.mini-browser i{width:4px;height:4px;background:#8b9a80;border-radius:50%}.mini-browser>span{display:block;width:77px;height:9px;background:var(--darkgreen);margin:20px 15px 9px}.mini-browser b{display:block;width:102px;height:4px;background:#a0ae91;margin-left:15px}.mini-browser em{display:block;width:38px;height:12px;background:var(--orange);margin:14px 15px}.mini-tool{height:112px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin:30px auto 25px;transform:rotate(3deg)}.mini-tool>span{background:#efeadf;border:1px solid #c8c0b2;border-radius:9px;width:46px;height:55px;text-align:center;padding-top:12px;font-size:24px;font-family:Georgia,serif}.mini-tool>i{font-style:normal;color:var(--muted)}.mini-tool>b{font-size:23px;font-family:Georgia,serif;color:var(--darkgreen);margin-left:3px}.mini-idea{height:112px;margin:30px auto 25px;display:grid;place-items:center;font-size:100px;line-height:1;font-family:Georgia,serif;font-style:italic;color:#b3673b;transform:rotate(10deg)}.connection{margin-top:76px;padding:39px;border-radius:var(--radius);background:#e9e9df;display:grid;grid-template-columns:1fr 1fr;gap:70px}.connection h2{font-size:31px;margin-bottom:12px}.connection .eyebrow{margin-bottom:20px}.connection-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:400px}.secondary{background:transparent;border-color:#adb5a5;margin-top:8px}.secondary:hover{background:var(--white)}.secondary:disabled{cursor:wait;transform:none;opacity:.7}.connection-result{padding:24px;border:1px solid #c2c8ba;border-radius:12px;align-self:center;background:#f3f2e980}.connection-label{font-size:9px;letter-spacing:1.7px;font-weight:600}.connection-state{font-family:Georgia,serif;font-size:25px;line-height:1.3;margin:23px 0 10px}.connection-state[data-state=ok]{color:#31582f}.connection-state[data-state=error]{color:#963818}.connection-result>p:last-of-type{font-size:12px;color:var(--muted);min-height:42px}.connection-meta{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;display:flex;flex-wrap:wrap;gap:12px;font-size:9px;letter-spacing:.2px;color:var(--muted)}.next{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:80px 0}.next ol{list-style:none;padding:0;margin:0}.next li{display:flex;gap:25px;padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid var(--line)}.next li:last-child{margin-bottom:0}.step-index{font-size:11px;font-family:monospace;color:var(--muted);padding-top:4px}.next h3{font-size:17px;letter-spacing:-.3px;font-weight:600;margin:0}.next li p{font-size:13px;line-height:1.6;color:var(--muted);margin:8px 0}.step-state{font-size:10px;color:var(--darkgreen);padding-left:12px;position:relative}.step-state:before{content:"";position:absolute;left:0;top:5px;width:5px;height:5px;background:#527146;border-radius:50%}.step-state.pending{color:var(--muted)}.step-state.pending:before{background:transparent;border:1px solid #929a8c}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:25px 0 38px}.footer-brand{font-size:31px;font-weight:750;letter-spacing:-2px;text-decoration:none}.footer-brand span{color:#aa5b31}.site-footer p{font-size:12px;color:var(--muted)}.site-footer>span{margin-left:auto;font-size:10px;color:var(--muted)}.subpage{max-width:850px;padding:70px 0 90px}.subpage h1{font-size:clamp(46px,6vw,76px);letter-spacing:-3px;line-height:1.05}.subpage .lead{font-size:19px;color:var(--muted);max-width:660px}.subpage-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin:30px 0}.subpage-panel h2{font-size:27px}.subpage-panel p{color:var(--muted);font-size:15px}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.demo-grid article{padding:25px;background:#e5e9d9;border-radius:var(--radius)}.demo-grid h2{font-size:23px}.demo-grid p{font-size:14px;color:var(--muted)}.calculator-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.calculator-form label{display:grid;gap:9px;font-size:14px}.calculator-form input{width:100%;padding:14px;border:1px solid #9da992;border-radius:8px;background:#fff;color:var(--ink);font-size:20px}.calc-result{font-size:40px;font-family:Georgia,serif;color:var(--darkgreen);margin:25px 0 5px;min-height:55px}.calculator-form .button{grid-column:1/-1;justify-self:start}.muted{color:var(--muted);font-size:12px}.notice{font-size:12px;border-left:3px solid var(--orange);padding:8px 0 8px 16px;color:var(--muted)}
@media(min-width:1500px){.hero{column-gap:100px}.hero-art{height:540px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{column-gap:35px}h1{font-size:70px;letter-spacing:-4px}.hero-art{height:485px}.idea-block{width:210px;left:calc(50% - 105px)}.block-word{font-size:61px}.art-note{right:15px;font-size:13px}.intro{grid-template-columns:1fr 3fr}.intro>div{gap:25px}.project{padding:20px}.project h3{font-size:20px}.connection{gap:35px}.site-header nav{gap:19px}.brand-caption{font-size:9px}.section-aside{max-width:160px;text-align:right}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:95px;flex-wrap:wrap;padding:20px 0;gap:20px}.brand{font-size:24px}.brand-mark{width:39px;height:39px;font-size:33px}.brand-caption{font-size:8px}.site-header nav{order:3;justify-content:space-between;width:100%;font-size:13px}.environment{font-size:10px;padding:8px 11px}.hero{grid-template-columns:1fr;padding-top:40px}.hero .eyebrow{font-size:10px}h1{font-size:clamp(59px,12vw,88px);letter-spacing:-3px}.hero-description{font-size:15px}.wide-only{display:none}.hero-art{margin-top:42px;height:440px}.idea-block{top:80px;height:245px}.block-word{font-size:58px}.orbit{left:calc(50% - 230px);top:65px}.orbit-two{left:calc(50% - 170px);top:0}.spark-one{top:70px}.hero-footer{font-size:10px;flex-direction:column;gap:12px;margin-top:0}.hero-footer>span:last-child{justify-content:space-between}.intro{padding:48px 0;grid-template-columns:1fr;gap:0}.intro>.eyebrow{padding:0}.intro>div{grid-template-columns:1fr;gap:0}.intro h2{font-size:35px}.section-heading{align-items:start;flex-direction:column;gap:15px}.section-heading h2{font-size:29px}.section-aside{max-width:none;text-align:left}.project-grid{grid-template-columns:1fr}.project{padding:25px}.project h3{font-size:24px}.project p{font-size:14px}.project a{font-size:13px}.mini-browser,.mini-tool,.mini-idea{margin-top:22px;margin-bottom:18px}.connection{grid-template-columns:1fr;margin-top:45px;padding:25px;gap:25px}.connection-result{padding:20px}.connection-copy .eyebrow{font-size:9px}.next{grid-template-columns:1fr;gap:20px;padding:50px 0 25px}.next h2{font-size:35px}.site-footer{gap:10px;flex-wrap:wrap;padding:20px 0 25px}.site-footer p{margin-left:10px}.site-footer>span{width:100%;margin:0;font-size:10px}.subpage{padding:45px 0}.subpage .lead{font-size:17px}.demo-grid,.calculator-form{grid-template-columns:1fr}.subpage-panel{padding:23px}.calculator-form .button{grid-column:auto}.art-bottom{font-size:7px}.hero-actions{gap:20px}.button{min-height:48px}.project a{min-height:40px;align-items:center}}
.made-in{font-family:Georgia,serif;font-style:italic;color:var(--darkgreen);font-size:14px}.made-in>span{font-style:normal;margin-left:8px;color:#a65d36}.project-hub{padding-top:76px}.featured-projects{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-link{border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;align-items:start;border:1px solid #c9cfc0}.dance-project{background:#eee2d8}.energy-project{background:#e1e9cc}.project-symbol{font-family:Georgia,serif;font-size:53px;line-height:1;margin:24px 0 14px;color:var(--darkgreen)}.dance-project .project-symbol{color:#915539;transform:rotate(-9deg)}.project-link h3{font-size:27px;font-weight:550;letter-spacing:-.7px;line-height:1.2;margin:0 0 10px}.project-link p{font-size:14px;color:var(--muted);max-width:420px;margin:0 0 23px}.project-link a{display:inline-flex;align-items:center;gap:22px;min-height:44px;font-size:14px;font-weight:600;margin-top:auto}.project-link a:hover{color:#8b421f}.idea-slots{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.idea-slot{border:1px dashed #aeb8a3;border-radius:13px;padding:21px;background:#f8f7f180;position:relative}.idea-slot:after{content:"+";position:absolute;right:20px;top:16px;font-size:23px;color:#7b896f;font-weight:300}.idea-slot h3{font-size:18px;letter-spacing:-.3px;line-height:1.25;font-weight:550;margin:15px 0 7px;padding-right:10px}.idea-slot p{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 15px}.slot-state{font-size:10px;color:#53604b;letter-spacing:.3px}.project-footnote{font-size:11px;color:var(--muted);margin-top:20px;max-width:720px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.project-hub{padding-top:48px}.featured-projects{grid-template-columns:1fr}.project-link{padding:25px}.project-link h3{font-size:26px}.idea-slots{grid-template-columns:1fr 1fr;gap:12px}.idea-slot{padding:18px}.idea-slot h3{font-size:17px}.idea-slot p{font-size:12px}.project-footnote{font-size:11px}.made-in{font-size:13px}}@media(max-width:420px){.idea-slots{grid-template-columns:1fr}.idea-slot{padding:21px}.idea-slot h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* First-visit navigation: daily data tasks first, workshop links on request. */
.workshop-more{position:relative;font-size:inherit}.workshop-more>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}.workshop-more>summary::after{content:"+"}.workshop-more[open]>summary::after{content:"\2212"}.workshop-more>summary::-webkit-details-marker{display:none}.workshop-more>div{position:absolute;right:0;top:100%;z-index:30;min-width:210px;padding:12px 18px;background:#faf9f4;border:1px solid #d4d8cd;border-radius:12px;box-shadow:0 10px 25px #20282315;display:grid;gap:4px}.workshop-more>div>a{display:flex;align-items:center;min-height:44px;white-space:nowrap}.workshop-more:focus-within>summary{outline-offset:4px}@media(max-width:760px){.workshop-nav{align-items:center;position:relative}.workshop-more{position:static}.workshop-more>div{left:0;right:auto;max-width:calc(100vw - 40px)}}

/* Beginner questions and optional workshop visits follow the first useful task. */
.beginner-questions{margin-top:28px;max-width:740px}.beginner-questions h3{font-size:21px;font-weight:550}.beginner-questions details{border-top:1px solid #d4d8cd;padding:12px 0}.beginner-questions summary,.workshop-notes>summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.5}.beginner-questions p{font-size:15px;max-width:65ch}.workshop-notes{margin-top:28px;padding:12px 0;border-top:1px solid #d4d8cd}.workshop-notes>summary{font-size:16px}.workshop-notes>p{font-size:14px;max-width:65ch}.workshop-notes .directory-rows{margin-top:12px}
