:root{--paper:#f5f3ec;--ink:#292a25;--muted:#6a6d61;--line:#d7d7cd;--accent:#b7452c;--green:#4a624d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 Arial,Helvetica,sans-serif}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:none;border:0}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:hover,a:hover{color:var(--accent)}[hidden]{display:none!important}header{margin:0 4.5%;height:112px;border-bottom:1px solid var(--ink);display:flex;align-items:center;gap:32px}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;line-height:1.1;font-size:12px;letter-spacing:1.5px}.mark{font:italic 64px Georgia;position:relative;line-height:1}.mark span{font:20px Arial;position:absolute;top:6px;right:-7px;color:var(--accent)}nav{display:flex;gap:29px;margin-left:auto}nav button{padding:16px 0;border-bottom:2px solid transparent}nav button.active{border-color:var(--accent)}#savedCount{font-size:10px;padding:3px 5px;background:#e7e7dc;margin-left:3px}.edition,.eyebrow,.hero-note,figcaption,.stats,footer,#resultCount,.tag,.record{font:10px/1.6 monospace;letter-spacing:1px}.edition{margin-left:30px}main{margin:0 4.5%}.hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:48px 0 34px;border-bottom:1px solid var(--ink)}.hero>div{padding-top:12px}h1{font:normal clamp(48px,5.7vw,85px)/1.04 Georgia,serif;letter-spacing:-3px;margin:29px 0 23px}h1 em{color:var(--accent);font-weight:normal}.hero p{font-size:15px;color:var(--muted);line-height:1.8}.primary{display:inline-flex;gap:50px;background:var(--ink);color:var(--paper);padding:13px 20px;text-decoration:none;margin:16px 0 24px}.primary:hover{background:var(--accent);color:white}.hero-note{color:var(--muted);font-size:9px}.hero-art{margin:0;display:flex;flex-direction:column;min-width:0}.hero-art img{height:380px;width:100%;object-fit:contain;background:#e9e7de;padding:18px}.hero-art figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:12px;font-size:9px;letter-spacing:.3px}figcaption i{font-style:normal;color:var(--muted);margin-left:10px}.stats{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);letter-spacing:.2px}.stats b{font:26px Georgia;margin-right:9px}.green{color:var(--green)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:52px 0 25px}h2{font:36px/1.2 Georgia;margin:10px 0 0;letter-spacing:-1px}h2 span{color:var(--accent)}.section-head p{font-size:12px;color:var(--muted);margin:0}.filters{display:flex;gap:9px;flex-wrap:wrap}.filters button{padding:8px 15px;border:1px solid var(--line);border-radius:2px;font-size:12px}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.search-row{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:22px}.search{display:flex;align-items:center;gap:12px;width:50%;border-bottom:1px solid var(--line);font-size:25px}.search input{width:100%;border:0;background:none;font-size:13px;padding:10px 0;outline-offset:0}.search-row>label:last-child{font-size:11px;color:var(--muted)}select{border:0;background:none;padding:8px;font-size:12px}#resultCount{color:var(--muted);margin:23px 0 16px;font-size:9px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.card{border-bottom:1px solid var(--line);padding-bottom:22px;position:relative}.artbutton{display:block;width:100%;padding:0;text-align:left}.art{height:260px;display:flex;align-items:center;justify-content:center;background:#e8e6dd;overflow:hidden}.art img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .25s}.artbutton:hover img{transform:scale(1.025)}.placeholder{width:100%;height:100%;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:#e6e7de;color:#777c6d}.placeholder strong{font:56px Georgia;font-weight:normal;color:#737b68}.placeholder small{font:9px monospace;letter-spacing:1px}.record{display:flex;justify-content:space-between;margin:14px 0 6px;color:var(--muted);font-size:9px}.card h3{font:26px Georgia;margin:5px 35px 8px 0}.work{font-size:12px;margin:0;color:var(--muted)}.card p.summary{font-size:12px;line-height:1.7;min-height:60px;margin-bottom:16px}.card-bottom{display:flex;align-items:center;justify-content:space-between}.textlink{font-size:11px;padding:0;border-bottom:1px solid var(--ink)}.save{border:1px solid var(--line);border-radius:50%;height:30px;width:30px;font-size:17px}.save[aria-pressed=true]{background:var(--ink);color:var(--paper)}footer{border-top:1px solid var(--ink);margin-top:65px;padding:25px 0 35px;display:flex;gap:35px;justify-content:space-between;font-size:9px;color:var(--muted)}footer p{font:11px/1.7 Arial;margin:0;letter-spacing:0}.timeline-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:25px;border-top:1px solid var(--line);padding:22px 0}.timeline-row>b{font:30px Georgia;color:var(--accent)}.timeline-row button{text-align:left;padding:0;font:23px Georgia}.timeline-row p{margin:0;color:var(--muted);font-size:12px}.about{max-width:780px}.about h3{font:27px Georgia}.about p{line-height:1.9}.sources-row{padding:15px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.sources-row a{font-size:12px}.notice{background:#e8e9df;padding:20px;font-size:12px}.empty{padding:60px 0;grid-column:1/-1;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(1000px,94vw);max-height:90vh;padding:38px}dialog::backdrop{background:#2228;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:8px;font-size:30px}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:35px}.detail-grid .art{height:420px}.detail-grid h2{font-size:39px}.detail-grid h3{font:22px Georgia}.detail-grid p{font-size:13px}.credit{font-size:10px!important;color:var(--muted)}.detail-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.detail-links a,.detail-links button{border:1px solid var(--line);padding:9px 12px;font-size:12px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;font-size:12px;padding:10px 18px;display:none;z-index:10}#toast.visible{display:block}@media(min-width:1500px){main,header{max-width:1440px;margin-left:auto;margin-right:auto}}@media(max-width:950px){.edition{display:none}.hero-art img{height:350px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{flex-wrap:wrap}.stats>span{width:45%}h1{font-size:57px}.hero{gap:25px}.section-head{align-items:start}}@media(max-width:650px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:20px 0 10px;gap:12px}nav{margin:0;gap:23px;width:100%;justify-content:space-between;font-size:11px}nav button{padding:8px 0}.brand{font-size:10px}.mark{font-size:44px}.hero{grid-template-columns:1fr;padding-top:25px}h1{font-size:60px}.hero-art img{height:310px}.hero-note{margin-top:0}.stats{gap:14px;padding:20px 0}.stats b{font-size:22px}.stats>span{font-size:9px}.section-head{display:block;margin-top:36px}.section-head p{margin-top:15px}h2{font-size:31px}.filters{gap:6px}.filters button{font-size:10px;padding:7px 9px}.search-row{align-items:start;gap:8px}.search{width:64%}.search input{font-size:11px}.search-row>label:last-child{display:flex;flex-direction:column}select{padding-left:0;font-size:10px}.grid{grid-template-columns:1fr}.art{height:310px}.card p.summary{min-height:0}footer{flex-direction:column;gap:15px}.detail-grid{grid-template-columns:1fr}dialog{padding:35px 20px 24px}.detail-grid .art{height:290px}.timeline-row{grid-template-columns:65px 1fr;gap:15px}.timeline-row p{grid-column:2}.sources-row{flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Expanded archive */
img.art{display:block;width:100%;height:300px;object-fit:contain;background:#e9e7de;padding:16px}.filters{flex-wrap:wrap}.card .work{overflow-wrap:anywhere}dialog{width:min(1240px,94vw);max-width:1240px;padding:38px;max-height:92vh}.profile-top{max-width:850px;margin-bottom:28px}.profile-top h2{font:normal clamp(36px,5vw,62px)/1.1 Georgia;margin:16px 0}.profile-top>p{font-size:17px;color:var(--muted)}.profile-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:42px}.gallery-panel{min-width:0}.gallery-panel figure{margin:0}.gallery-panel figure>img{display:block;width:100%;height:480px;object-fit:contain;background:#e9e7de}.gallery-panel figcaption{display:flex;flex-direction:column;gap:7px;padding:16px 0;letter-spacing:0;overflow-wrap:anywhere}.gallery-panel figcaption b{font:16px/1.4 Georgia}.gallery-nav{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding:10px 0}.gallery-nav span{font:11px monospace}.thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.thumbnails button{padding:4px;border:2px solid transparent}.thumbnails button[aria-pressed=true]{border-color:var(--accent)}.thumbnails img{width:100%;height:95px;object-fit:contain;background:#e9e7de}.profile-text h3{font:24px Georgia;margin:0 0 12px}.profile-text p{margin:0 0 26px}.profile-text li{margin-bottom:10px}.profile-text ul{padding-left:19px;margin-bottom:28px}.muted{color:var(--muted);font-size:12px}.related{display:grid;gap:8px}.related button{text-align:left;border:1px solid var(--line);padding:12px}.related small{display:block;color:var(--muted)}.about{max-width:850px}.about h3{font:26px Georgia;margin-top:34px}.about p{line-height:1.8}.timeline-row{gap:24px}.edition{white-space:nowrap}header nav{gap:18px}.artbutton{width:100%}
@media(max-width:900px){.edition{display:none}.profile-layout{grid-template-columns:1fr}.gallery-panel figure>img{height:400px}dialog{padding:25px}.stats{flex-wrap:wrap}header{height:auto;min-height:110px;flex-wrap:wrap;padding:20px 0}header nav{flex-wrap:wrap;margin-left:0;gap:18px}.profile-text{padding-top:15px}}@media(max-width:550px){.gallery-panel figure>img{height:300px}.thumbnails img{height:65px}dialog{width:96vw;padding:20px}.close{position:sticky;top:0;float:right;z-index:2;background:var(--paper)}.timeline-row{grid-template-columns:65px 1fr}.timeline-row span{grid-column:2}.hero-art img{height:280px}}
/* Beginner studio and personal essay */
header{flex-wrap:wrap;height:auto;min-height:112px;padding:20px 0;gap:20px}header nav{flex-wrap:wrap;gap:20px}.edition{margin-left:0}.play-intro{max-width:770px;margin-bottom:30px}.large-intro{font:32px/1.3 Georgia}.play-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr);gap:40px;align-items:start}.play-tools label{display:block;font-weight:bold;margin-bottom:8px}.prompt-row{display:flex;gap:8px}.prompt-row input{min-width:0;flex:1;border:1px solid var(--line);background:#fff9;padding:12px}.solid{background:var(--ink);color:var(--paper);padding:12px 16px}.solid:hover{background:var(--accent);color:white}.small-note,.canvas-note{font-size:12px;color:var(--muted);line-height:1.65}.example-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0}.example-buttons button{border:1px solid var(--line);padding:12px;text-align:left}.example-buttons button:hover{border-color:var(--accent)}.play-sliders{display:grid;grid-template-columns:1fr;gap:10px;margin:24px 0}.play-sliders label{display:flex;justify-content:space-between;margin:0}.play-sliders input{width:100%;accent-color:var(--accent)}.play-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.play-tools h3,.play-footnote h3{font:25px Georgia;margin-top:32px}.play-output{min-width:0}#sketchCanvas{width:100%;aspect-ratio:4/3;background:#f3eddf;border:1px solid var(--line)}#sketchCanvas canvas{display:block!important;width:100%!important;height:auto!important;touch-action:none}.canvas-note{font-family:monospace;font-size:10px}.code-details{margin-top:24px;padding:18px;border:1px solid var(--line)}.code-details summary{cursor:pointer;font-weight:bold}.code-details textarea{display:block;width:100%;height:320px;padding:16px;background:#282c28;color:#f3eddf;border:none;font:12px/1.7 monospace;resize:vertical;margin:16px 0}.play-footnote{max-width:740px;padding:30px 0}.journey{max-width:980px;margin:30px auto 65px}.journey>h2{font:normal clamp(38px,5vw,70px)/1.1 Georgia;letter-spacing:-1.5px;margin:22px 0}.journey-lead{max-width:760px;font:24px/1.6 Georgia;color:var(--muted)}.journey-body{max-width:720px}.journey-body section{padding:30px 0;border-top:1px solid var(--line)}.chapter-number{font:10px monospace;color:var(--accent);letter-spacing:1px}.journey-body h3{font:30px Georgia;margin:15px 0}.journey-body p{font-size:17px;line-height:1.85}.journey blockquote{margin:35px 0;padding:35px;border-left:3px solid var(--accent);background:#ece9df;font:italic 34px/1.4 Georgia}.journey cite{display:block;font:12px monospace;margin-top:20px}.journey .textlink{margin-left:15px}@media(max-width:800px){.play-layout{grid-template-columns:1fr}.play-output{grid-row:1}.prompt-row{flex-wrap:wrap}.prompt-row input{flex-basis:65%}.journey blockquote{font-size:26px;padding:24px}header nav{gap:14px}.play-intro .large-intro{font-size:26px}}
.lesson-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.lesson-tabs button{border:1px solid var(--line);padding:12px 16px}.lesson-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.workshop-heading{max-width:800px;margin:28px 0}.workshop-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.editor-top{display:flex;justify-content:space-between;font:11px monospace;letter-spacing:1px;margin-bottom:12px}#sketchCode{width:100%;height:380px;padding:20px;border:1px solid #424a43;background:#242b27;color:#f5f1df;font:14px/1.8 monospace;tab-size:2;resize:vertical;white-space:pre;overflow:auto}#workshopOutput{aspect-ratio:4/3;background:#f3eddf;border:1px solid var(--line)}#workshopOutput iframe{display:block;width:100%;height:100%;border:0}#playStatus{font-size:13px;overflow-wrap:anywhere}#playStatus[data-error=true]{color:#a32e22}.lesson-notes{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;margin:40px 0 65px}.lesson-notes h3{font:26px Georgia}.lesson-notes dt{margin-top:20px;overflow-wrap:anywhere}.lesson-notes dt code{background:#e8e4d8;padding:4px 8px}.lesson-notes dd{margin:9px 0 22px;line-height:1.8}.lesson-notes aside{background:#eae7dc;padding:28px;align-self:start}@media(max-width:800px){.workshop-layout,.lesson-notes{grid-template-columns:1fr}.workshop-layout{gap:28px}#sketchCode{font-size:12px;height:340px}}
/* Editable syntax colors, with a native textarea for selection and keyboard input. */
.syntax-editor{position:relative;height:380px;min-height:180px;resize:vertical;overflow:hidden;background:#242b27;border:1px solid #424a43}.syntax-editor #sketchCode,.syntax-editor #codeColors{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:20px;border:0;font:14px/1.8 monospace;letter-spacing:normal;tab-size:2;white-space:pre;overflow-wrap:normal;word-break:normal;box-sizing:border-box}.syntax-editor #codeColors{color:#f5f1df;overflow:hidden;pointer-events:none}.syntax-editor #sketchCode{background:transparent;color:transparent;caret-color:#fff;resize:none;overflow:auto;-webkit-text-fill-color:transparent}.syntax-editor #sketchCode::selection{background:#59749488}.syntax-editor:focus-within{outline:2px solid var(--accent);outline-offset:3px}.syntax-editor #sketchCode:focus-visible{outline:0}.syntax-keyword{color:#c8afff}.syntax-function{color:#8bd8ee}.syntax-number{color:#ffc78a}.syntax-string{color:#b6dc98}.syntax-comment{color:#a3b4a6;font-style:normal}.syntax-key{display:flex;flex-wrap:wrap;gap:14px;padding:10px 14px;background:#242b27;font:11px monospace;border-top:1px solid #424a43}.shape-change:not(:empty){padding:14px 16px;border-left:3px solid var(--accent);background:#eae7dc;margin-top:18px;font-size:13px;line-height:1.8}.shape-change code{background:#fff9;padding:3px 6px}#changeShape{border:1px solid var(--line);padding:11px 14px}#changeShape:disabled{opacity:.45;cursor:default}@media(max-width:800px){.syntax-editor{height:340px}.syntax-editor #sketchCode,.syntax-editor #codeColors{font-size:12px}}@media(forced-colors:active){.syntax-editor #codeColors{display:none}.syntax-editor #sketchCode{color:CanvasText;-webkit-text-fill-color:CanvasText;caret-color:CanvasText}}
/* A clear first action for people who have never run code. */
.run-next-step{margin:0 0 24px;padding:20px;background:#eee7dc;border:1px solid #d5c9b8}.run-instruction{margin:0 0 12px;font-size:14px;color:var(--muted)}.run-instruction b{color:var(--ink)}.run-primary{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:88px;padding:18px 24px;border:2px solid transparent;background:#a63c26;color:white;text-align:left;border-radius:4px;box-shadow:0 3px 0 #78301f}.run-primary:hover{background:#87301f;color:white}.run-primary:active{transform:translateY(2px);box-shadow:0 1px 0 #78301f}.run-primary:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.run-primary strong{display:block;font-size:24px;line-height:1.25}.run-primary small{display:block;font-size:16px;line-height:1.5;margin-top:3px}.run-icon{font-size:27px}.run-next-step #runExplanation{margin:14px 0 0;font-size:14px;line-height:1.65}.canvas-start{height:100%;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.canvas-start>span{font-size:48px;line-height:1;color:var(--accent)}.canvas-start h3{font:28px/1.3 Georgia;margin:18px 0 10px}.canvas-start p{max-width:320px;font-size:15px;color:var(--muted);line-height:1.8;margin:0}.canvas-start strong{color:var(--ink)}@media(max-width:550px){.run-next-step{padding:16px}.run-primary strong{font-size:22px}.run-primary{min-height:84px;padding:16px}.canvas-start{padding:24px}}
.generative-mark{display:block;width:64px;height:64px;flex:0 0 64px}.generative-mark svg{display:block;width:100%;height:100%}.code-changed{background:#79592b;color:inherit;box-shadow:inset 0 -2px #ffd07c;border-radius:2px}.code-change-hint{font-size:12px;color:var(--accent);margin:8px 0}.code-change-hint:empty{display:none}#changeColor{border:1px solid var(--line);padding:11px 14px}#changeColor:disabled{opacity:.45;cursor:default}@media(forced-colors:active){.code-change-hint{color:CanvasText}}
.featured-image{display:block;width:100%;padding:0;text-align:left}.featured-image:hover{opacity:.94}.hero-art figcaption{align-items:start}.hero-art figcaption strong{display:block;font:18px/1.4 Georgia}.hero-art figcaption i{display:block;margin:4px 0 0;max-width:370px}.featured-actions{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px}.featured-actions button{padding:6px 0;font-size:12px}#nextFeature{border-bottom:1px solid var(--line)}@media(prefers-reduced-motion:reduce){.logo-stroke{animation:none;stroke-dashoffset:0}.logo-drift{animation:none}.logo-motion{display:none}}
.electric-intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin:30px 0 55px}.electric-intro h2{font:normal clamp(50px,6vw,86px)/1 Georgia;margin:22px 0}.electric-intro h2 span{color:var(--accent)}.electric-intro .large-intro{font-size:28px}.electric-intro figure{margin:0}.electric-intro figure img{width:100%;display:block;max-height:500px;object-fit:contain;background:#e9e7de}.electric-intro figcaption{font-size:10px;margin-top:10px}.exhibition-dates{font:11px/1.8 monospace;color:var(--muted)}.electric-route{border-block:1px solid var(--line);padding:30px 0}.route-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:28px}.route-columns b{font:10px monospace;color:var(--accent)}.route-columns h3{font:27px Georgia}.route-links{display:flex;flex-direction:column;align-items:start;gap:8px}.route-links button{text-decoration:underline;text-underline-offset:4px;padding:0}.electric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}.electric-card button{display:block;padding:0;text-align:left;width:100%}.electric-card img{width:100%;height:215px;object-fit:contain;background:#e9e7de;padding:10px}.electric-card h3{font:24px/1.2 Georgia;margin:14px 0 6px}.electric-card p{color:var(--muted);margin:7px 0}.electric-card small{font:10px monospace}.electric-exhibition{margin:65px 0}.electric-exhibition h3{font:32px Georgia}.exhibition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.exhibition-grid button{padding:0}.exhibition-grid img{width:100%;height:220px;object-fit:cover}.exhibition-large{margin:0}.exhibition-large img{display:block;max-width:100%;max-height:65vh;margin:auto;object-fit:contain}.exhibition-large figcaption{margin-top:18px}.electric-scope{max-width:850px;margin:50px 0;color:var(--muted)}.memory-note{margin-top:20px;padding:15px;border:1px solid var(--line)}.memory-note summary{cursor:pointer;font-size:13px}.journey .memory-note p{font-size:13px}@media(max-width:900px){.electric-grid{grid-template-columns:repeat(2,1fr)}.electric-intro{grid-template-columns:1fr}.route-columns{grid-template-columns:1fr}.exhibition-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.electric-grid,.exhibition-grid{grid-template-columns:1fr}.electric-card img{height:280px}}
.personal-work{max-width:1100px;margin:auto}.personal-project{display:grid;grid-template-columns:85px 1fr;gap:24px;border-top:1px solid var(--line,#ccc);padding:36px 0}.project-number{font:italic 48px Georgia,serif;color:#a63c26}.personal-project h3,.project-next h3{font:36px Georgia,serif;margin:12px 0}.project-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}.project-columns h4,.journey-source h4{font:24px Georgia,serif;margin:20px 0 12px}.project-columns p,.project-next p,.journey-source p{line-height:1.65}.project-status{display:inline-block;border:1px solid #b7b1a4;border-radius:20px;padding:7px 12px;font-size:12px}.project-next,.journey-source{padding:24px;background:#e9e4d8;margin:28px 0}.journey-source a{display:inline-block;line-height:1.5;color:#8e3320;text-decoration:underline}.journey-source .muted{font-size:13px}.personal-project .solid{font-size:16px;padding:16px 22px}@media(max-width:650px){.personal-project{grid-template-columns:1fr;gap:4px}.project-columns{grid-template-columns:1fr;gap:12px}.personal-project h3{font-size:30px}}
.txt-original{margin:32px 0}.txt-original img{display:block;width:100%;height:auto;background:#fff}.txt-original figcaption{font-size:13px;line-height:1.6;padding:12px 0;color:#615d55}.txt-study{padding:28px;background:#e9e4d8;margin:28px 0}.txt-study h4{font:32px Georgia,serif;margin:12px 0}.txt-study p{line-height:1.6}.txt-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:24px 0}.txt-controls label{display:flex;flex-direction:column;gap:12px;font-size:14px}.txt-controls textarea{font:14px monospace;padding:10px;max-width:100%;border:1px solid #aaa;background:#faf8f2}.txt-controls input{max-width:100%}#txtCanvas{width:100%;height:auto;background:white;display:block}#txtStatus{font-size:13px;min-height:2em}.txt-study details{line-height:1.7;padding-top:10px}.txt-study summary{cursor:pointer;font-weight:bold}@media(max-width:750px){.txt-controls{grid-template-columns:1fr}.txt-study{padding:16px}}

#txtOriginal{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.txt-controls select,.txt-detail select{padding:9px;background:#faf8f2;border:1px solid #aaa;font:inherit}.txt-controls .txt-kern{flex-direction:row;align-items:center}.txt-inspector{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:22px;align-items:start}.txt-overview{position:relative;min-width:0}.txt-overview canvas{cursor:crosshair;outline-offset:4px}.txt-overview canvas:focus-visible{outline:3px solid #a63c26}#txtRegion{position:absolute;border:2px solid #a63c26;box-shadow:0 0 0 1px white;pointer-events:none;box-sizing:border-box}.txt-detail{position:sticky;top:20px;min-width:0}.txt-detail h5{font:26px Georgia,serif;margin:0 0 10px}.txt-detail p{font-size:13px}.txt-detail label{display:flex;flex-direction:column;gap:8px;font-size:13px}#txtDetail{display:block;width:100%;height:auto;margin-top:16px;background:white;border:1px solid #aaa}@media(max-width:850px){.txt-inspector{grid-template-columns:1fr}.txt-detail{position:static}#txtDetail{max-width:600px}}
.personal-index{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 40px}.personal-index a{padding:12px 16px;border:1px solid #aaa;text-decoration:none}.studio-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0 60px}.studio-project-card{background:#e9e4d8;min-width:0}.studio-project-image{padding:0;border:0;width:100%;display:block;background:#ded8cb;cursor:zoom-in}.studio-project-image img{width:100%;height:290px;object-fit:contain;display:block}.studio-project-copy{padding:24px}.studio-project-copy h3{font:30px Georgia,serif;margin:12px 0}.studio-project-copy p{line-height:1.65}.studio-project-copy details{border-top:1px solid #bdb6a8;padding-top:14px}.studio-project-copy summary{cursor:pointer;font-weight:600}.studio-project-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:24px}.studio-project-actions a.solid{padding:12px 16px;background:#282a25;color:#fff;text-decoration:none;font-size:14px}.studio-variants{display:flex;gap:10px;margin:15px 0}.studio-variants button{padding:0;border:0;width:48%;background:none;cursor:zoom-in}.studio-variants img{width:100%;height:120px;object-fit:contain}.studio-project-copy .eyebrow{font-size:10px}@media(max-width:700px){.studio-project-grid{grid-template-columns:1fr}.studio-project-image img{height:260px}.studio-project-copy{padding:20px}}

#generativeLogo{perspective:220px;overflow:visible}.generative-depth{transform-origin:50% 50%;transform-style:preserve-3d;animation:ribbon-pivot 4.9s cubic-bezier(.25,.5,.3,1) both;will-change:transform}.impossible-beam{animation:ribbon-fill 3s ease both}.impossible-line{stroke-dasharray:1;animation:ribbon-draw 3.5s ease both}@keyframes ribbon-pivot{0%{transform:rotateY(var(--pivot-start)) rotateX(-14deg) translateZ(-10px)}60%{transform:rotateY(-15deg) rotateX(10deg) translateZ(6px)}100%{transform:rotateY(8deg) rotateX(4deg) translateZ(0)}}@keyframes ribbon-fill{0%{fill-opacity:.1}100%{fill-opacity:1}}@keyframes ribbon-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.generative-depth,.impossible-beam,.impossible-line{animation:none;will-change:auto}}

.artist-play{border-block:1px solid var(--line,#c4c1b9);padding:24px 0;margin:24px 0 32px}.artist-play-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.artist-play h3{margin:10px 0 20px}.artist-play p{line-height:1.6}.artist-play .solid{display:inline-block;text-decoration:none;padding:14px 18px}.memescapes-feature{padding:35px 0 48px;border-bottom:1px solid #aaa;margin-bottom:40px;scroll-margin-top:30px}.memescapes-feature h2{font-size:clamp(30px,4vw,52px);max-width:900px}.memescapes-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.memescapes-layout p{line-height:1.65}.memescapes-layout h3{font-size:24px}.memescapes-flow{border-left:3px solid #aa4b31;padding:12px 18px}.memescapes-layout img{width:100%;max-height:520px;object-fit:contain;background:#17151b}.memescapes-layout iframe{width:100%;height:520px;border:0;background:#17151b}.memescapes-layout .solid{margin-top:12px;font-size:18px;padding:18px 24px}@media(max-width:760px){.memescapes-layout{grid-template-columns:1fr}.memescapes-layout iframe{height:420px}}

/* A quiet web grows from the top-right, behind the header controls. */
header{position:relative;isolation:isolate}header>.brand,header>nav,header>.edition{position:relative;z-index:1}#headerWeb{position:absolute;right:0;top:0;width:min(62%,650px);height:100%;overflow:hidden;pointer-events:none;z-index:0;opacity:.30;mask-image:linear-gradient(to bottom,#000 0%,#0009 45%,transparent 92%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#0009 45%,transparent 92%)}#headerWeb svg{display:block;width:100%;height:100%;overflow:hidden}#headerWeb path{fill:none;stroke:var(--green);stroke-width:.7;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;animation:web-grow var(--web-duration) ease-out var(--web-delay) both}@keyframes web-grow{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@media(max-width:760px){#headerWeb{width:76%;height:140px;opacity:.25}}@media(prefers-reduced-motion:reduce){#headerWeb path{animation:none}}

/* Wider ribbon field, softened at the navigation baseline. */
#headerWeb{width:88%;opacity:.50;mask-image:linear-gradient(to bottom,#000 0%,#000e 22%,#0004 48%,#0002 66%,transparent 96%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000e 22%,#0004 48%,#0002 66%,transparent 96%)}
@media(max-width:760px){#headerWeb{width:88%;opacity:.38}}

.studio-live{margin:18px 0}.studio-live iframe{width:100%;aspect-ratio:1;border:0;background:#151515}.studio-live .solid{width:100%;white-space:normal}

.infinite-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:36px;align-items:start}.infinite-feature .studio-live{margin:0}.infinite-feature .studio-live img,.infinite-feature .studio-live iframe{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#17151b}.infinite-feature .studio-live .solid{margin-top:12px;padding:20px;font-size:20px}.infinite-controls h3{font-size:27px;margin:10px 0 16px}.infinite-controls p{line-height:1.65}.infinite-controls dl{margin:20px 0}.infinite-controls dl>div{padding:12px 0;border-bottom:1px solid var(--line,#c4c1b9)}.infinite-controls dt{font-weight:600}.infinite-controls dd{margin:6px 0 0;line-height:1.5}.infinite-controls kbd{display:inline-block;min-width:28px;padding:3px 7px;text-align:center;border:1px solid #aaa;border-radius:4px;background:#fff8;font:inherit;margin-right:6px}@media(max-width:760px){.infinite-layout{grid-template-columns:minmax(0,1fr);gap:24px}}

.infinite-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 12px}.infinite-buttons button{padding:17px 14px;font-size:17px;border:1px solid #8c8c7e;border-radius:3px;cursor:pointer}.infinite-buttons .solid{grid-column:1/-1;font-size:21px}.infinite-buttons button[aria-pressed="true"]{background:#d7dfcf;border-color:#53664a}.infinite-buttons button:disabled{opacity:.45;cursor:wait}.infinite-buttons button:focus-visible{outline:3px solid #aa4b31;outline-offset:3px}.infinite-shortcuts{margin:24px 0}
.studio-playground{padding:40px 0;border-bottom:1px solid #aaa;scroll-margin-top:25px}.studio-playground h2{font-size:clamp(32px,4vw,54px)}.studio-picker{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}.studio-picker button{padding:12px 16px;border:1px solid #b6b5aa;background:transparent;cursor:pointer}.studio-picker button[aria-pressed=true]{background:#292b23;color:#fff;border-color:#292b23}.studio-arena{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:30px;align-items:start}.studio-arena h3{font-size:30px;margin-top:8px}.studio-arena p{line-height:1.65}#studio-main-stage{position:relative;background:#171717;min-height:500px;height:min(70vh,760px);overflow:hidden}#studio-main-stage iframe{width:100%;height:100%;border:0;display:block}#studio-main-stage img{width:100%;height:100%;object-fit:contain}#studio-main-stage>#studio-start{position:absolute;left:5%;bottom:25px;width:90%;font-size:20px;padding:20px;background:#f4f1e9;color:#24251f}#studio-main-stage:fullscreen{height:100vh;width:100vw}.studio-stage-tools{display:flex;flex-wrap:wrap;gap:12px;padding:14px 0}.studio-stage-tools button{padding:10px 15px;cursor:pointer}.studio-archive-note{padding:24px 0}.studio-feature-notes{margin:25px 0}.studio-feature-notes>summary{padding:20px;border:1px solid #bbb;cursor:pointer}@media(max-width:760px){.studio-arena{grid-template-columns:1fr}#studio-main-stage{min-height:360px;height:65vh}.studio-picker button{padding:11px;font-size:13px}}

.artist-projects{margin:28px 0 40px;padding:24px 0;border-top:1px solid var(--line,#ccc);border-bottom:1px solid var(--line,#ccc)}.artist-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.artist-project-grid img{width:100%;height:190px;object-fit:contain;background:#e7e3d8}.artist-project-grid h4{font-size:18px;margin:14px 0 8px}.artist-project-grid p{font-size:14px;line-height:1.6}.artist-project-grid a{font-size:14px}.selected-project{font-size:15px}@media(max-width:700px){.artist-project-grid{grid-template-columns:1fr}}

.artist-gallery-details{border-top:1px solid #b9b7ac;margin-top:30px}.artist-gallery-details>summary{cursor:pointer;padding:22px 0;font-weight:600;font-size:19px}.artist-gallery-details>summary span{font:12px monospace;margin-left:12px;color:#686a60}.artist-gallery-details[open]>.profile-layout{padding-top:20px}.artist-project-grid .artbutton{display:block;width:100%;cursor:zoom-in}.artist-project-grid article{min-width:0}

.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.project-play{display:inline-block;background:#293229;color:#fff!important;border:0;padding:13px 16px;font-size:14px;cursor:pointer;text-decoration:none}.project-play:hover{background:#4c5b42}.project-play:focus-visible{outline:3px solid #b56845;outline-offset:3px}.artist-media-stage{margin-top:32px;padding:24px;background:#e7e5da;scroll-margin-top:20px}.artist-media-stage[hidden]{display:none}.artist-media-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.artist-media-heading h3{font-size:26px;margin:8px 0 18px}.artist-media-heading button,.artist-media-tools button{padding:10px 14px;background:transparent;border:1px solid #8c8e81;cursor:pointer}.artist-media-screen{width:100%;height:min(65vh,660px);min-height:320px;background:#111}.artist-media-screen iframe,.artist-media-screen video{display:block;border:0;width:100%;height:100%;object-fit:contain}.artist-media-screen:fullscreen{height:100vh}.artist-media-tools{display:flex;align-items:center;gap:20px;margin-top:14px}.artist-media-note{font-size:15px;line-height:1.6}.artist-media-fallback{font-size:12px}@media(max-width:700px){.artist-media-stage{padding:14px}.artist-media-heading{align-items:flex-start}.artist-media-heading h3{font-size:22px}.artist-media-screen{height:60vh;min-height:280px}}
/* Media discovery and tools guide */
.artbutton{position:relative}.media-badge{position:absolute;bottom:12px;left:12px;max-width:calc(100% - 24px);padding:6px 10px;background:#293c30;color:#fff;border:1px solid #ffffff70;border-radius:3px;font:11px/1.4 Arial,sans-serif;box-shadow:0 2px 8px #0002;text-align:left;pointer-events:none}.media-badge span{margin-right:5px}.search-row{flex-wrap:wrap}.media-filter{display:flex;align-items:center;gap:8px}.media-filter select{max-width:250px;padding:9px;background:var(--paper);border:1px solid var(--line)}.media-project-card>.project-play{margin:12px 0}.tools-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;padding:25px 0 50px}.tools-intro h3{font:42px/1.15 Georgia;margin:18px 0}.tools-intro p,.tools-output p{font-size:16px;max-width:760px}.art-system{background:#e8e9df;padding:28px;display:grid;align-content:center;text-align:center}.art-system div{border:1px solid #8b9688;padding:18px;background:#f5f3ec}.art-system b{display:block;font:11px monospace;letter-spacing:1px;color:var(--green)}.art-system span{display:block;margin-top:8px}.art-system i{font:24px Georgia}.tools-section-title{font:32px Georgia;margin:35px 0 12px}.tools-eras{border-top:1px solid var(--ink);margin-top:26px}.tools-eras article{display:grid;grid-template-columns:150px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.era-date{font:18px Georgia;color:var(--accent)}.tools-history h4{font:25px Georgia;margin:0 0 12px}.tools-eras p{max-width:780px;margin:0 0 14px}.tools-source{font-size:12px;color:var(--muted)}.tool-artists{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.tool-artist-link{padding:5px 10px;background:#e8e9df;border:1px solid var(--line);font-size:12px}.toolkit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0}.toolkit-grid article{border:1px solid var(--line);padding:24px;display:flex;flex-direction:column}.toolkit-grid h4{margin-top:15px}.tool-try{background:#ecece2;padding:14px;margin-top:auto}.toolkit-grid a{font-size:12px}.tools-output{border-top:1px solid var(--ink);padding:10px 0 50px}header nav{gap:18px;flex-wrap:wrap}header .edition{margin-left:0}@media(max-width:1000px){.toolkit-grid{grid-template-columns:repeat(2,1fr)}header{height:auto;min-height:112px;padding:16px 0}header nav{gap:8px 14px}}@media(max-width:650px){.tools-intro,.toolkit-grid{grid-template-columns:1fr}.tools-eras article{grid-template-columns:1fr;gap:12px}.tools-intro h3{font-size:34px}.media-filter{width:100%}.media-filter select{flex:1;max-width:none}.art-system{margin-top:22px}}
.code-nod{display:block;font:11px/1.7 monospace;letter-spacing:.5px;color:var(--green);margin:18px 0 8px}.edition{font-size:9px}.tool-figure{margin:-24px -24px 22px}.tool-figure img{display:block;width:100%;height:225px;object-fit:contain;background:#e7e7de;padding:12px}.tool-figure figcaption{padding:10px 16px;font:11px/1.5 Arial;letter-spacing:0}.tool-figure figcaption span{color:var(--muted);font-size:10px}.toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-example{padding-top:12px;border-top:1px solid var(--line)}.tool-example p{font-size:12px;color:var(--muted)}.tool-example .project-play{display:inline-block;text-decoration:none}.tool-reference{margin-top:15px}.toolkit-grid .tool-try{margin-top:10px}.tool-figure img{height:280px}#toolDialog{width:min(1100px,94vw);max-height:94vh;padding:24px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}#toolDialog::backdrop{background:#111a}.tool-player-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.tool-player-heading h2{font-size:29px;margin:8px 0 20px}.tool-player-heading button,.tool-player-actions button{border:1px solid var(--line);padding:10px 16px}.tool-player{height:min(60vh,560px);background:#e7e7de}.tool-player iframe{width:100%;height:100%;border:0;display:block}.tool-player:fullscreen{height:100vh}.tool-player-actions{display:flex;gap:20px;align-items:center}.tool-player-heading .code-nod{margin:0}@media(max-width:650px){.toolkit-grid{grid-template-columns:1fr}.tool-figure img{height:230px}#toolDialog{padding:16px}.tool-player-heading h2{font-size:23px}.tool-player{height:55vh}.tool-player-actions{flex-wrap:wrap}}
.historical-tool{max-width:640px;margin:0 0 24px}.historical-tool .tool-figure{margin:0}.historical-tool .tool-figure img{height:320px}.toolkit-grid article{scroll-margin-top:24px}

/* A small seeded drawing appears before the collection scripts arrive. */
.art-loader{margin:24px 4.5%;padding:26px 32px;display:grid;grid-template-columns:minmax(220px,400px) 1fr;gap:40px;align-items:center;border:1px solid var(--line);background:var(--paper);position:relative;overflow:hidden}
.art-loader::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.loader-drawing{border:1px solid var(--line);background:radial-gradient(circle,var(--line) .7px,transparent 1px) 0 0/16px 16px;aspect-ratio:2/1;overflow:hidden}
.loader-drawing svg{display:block;width:100%;height:100%}.loader-drawing g{transform-origin:200px 100px;animation:loader-breathe 12s ease-in-out infinite alternate}
.loader-drawing path{stroke-width:.85;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:loader-trace 6s ease-in-out infinite;animation-delay:calc(var(--strand)*-0.075s);opacity:.65}
.loader-kicker,.loader-seed{font:10px/1.7 monospace;letter-spacing:1.4px;color:var(--muted)}.loader-copy h2{font:normal clamp(24px,3vw,38px)/1.1 Georgia,serif;letter-spacing:-.8px;margin:12px 0}.loader-copy h2 span{color:var(--accent)}.loader-copy p{font:12px/1.7 monospace;margin:12px 0 4px}.loader-seed{font-size:9px;letter-spacing:.5px}.loader-dots{animation:loader-pulse 1.8s ease-in-out infinite}
@keyframes loader-trace{0%{stroke-dashoffset:1;opacity:.15}40%,65%{stroke-dashoffset:0;opacity:.7}100%{stroke-dashoffset:-1;opacity:.15}}
@keyframes loader-breathe{from{transform:translateY(-3px) scaleY(.93)}to{transform:translateY(3px) scaleY(1.07)}}
@keyframes loader-pulse{50%{opacity:.2}}
.loader-error .loader-drawing *{animation-play-state:paused}
@media(max-width:600px){.art-loader{grid-template-columns:1fr;gap:16px;padding:20px}.loader-drawing{max-height:160px}.loader-copy h2 br{display:none}.loader-kicker{font-size:9px}}
@media(prefers-reduced-motion:reduce){.loader-drawing g,.loader-drawing path,.loader-dots{animation:none}.loader-drawing path{stroke-dashoffset:0}}
