@font-face{font-family:LocalSerif;src:local('Baskerville')}*{box-sizing:border-box} :root{--bg:#f5f2eb;--ink:#24443d;--muted:#6c7770;--line:#d7dbcf;--green:#244b40;--serif:LocalSerif,'Iowan Old Style','Palatino Linotype',Georgia,serif}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #a56249;outline-offset:5px}button{border:0;background:none}a{color:inherit}button:hover:not(:disabled){filter:brightness(.85)}.site-header{max-width:1600px;margin:auto;padding:25px 52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:13px;letter-spacing:2.7px;font-weight:600}.brand svg{width:40px;height:40px}.brand-sub{display:block;font-size:8px;letter-spacing:2.4px;font-weight:400;margin-top:7px}.site-header nav{display:flex;align-items:center;gap:32px}.concept-label,.eyebrow{font-size:9px;letter-spacing:2px;font-weight:500}.concept-label{display:flex;align-items:center;gap:8px;color:var(--muted)}.concept-label i,.live-dot{height:5px;width:5px;background:#6b8a65;border-radius:50%;display:inline-block}.text-button{padding:7px 0;font-size:11px;display:inline-flex;gap:12px;align-items:center}.icon-button{width:32px;height:32px;font-size:21px}.site-header nav .icon-button{border:1px solid var(--line);border-radius:50%}main{max-width:1600px;margin:auto;padding:0 52px}.intro{display:flex;justify-content:space-between;align-items:center;padding:36px 0 30px}.eyebrow{margin:0 0 13px;color:#64766c}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(38px,4.2vw,64px)/1.05 var(--serif);letter-spacing:-1.8px;margin-bottom:0}em{font-weight:normal;color:#7b8c71}h1 em{white-space:nowrap}.intro-copy{font-size:12px;line-height:1.65;margin:10px 0 0;max-width:330px}.intro-copy span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 334px;border:1px solid var(--line);background:#faf9f4}.canvas-panel{position:relative;background:#e9eadd;min-width:0;display:flex;flex-direction:column;background-image:radial-gradient(ellipse at 50% 35%,#f5f3e8 0%,#e8eadf 77%)}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px}.view-tabs{display:flex;gap:3px;border:1px solid #ccd2c5;border-radius:5px;padding:3px}.view-tabs button{font-size:10px;border-radius:3px;padding:7px 13px;color:#52645a}.view-tabs button[aria-pressed=true]{background:#fffdf7;color:var(--ink);box-shadow:0 1px 4px #263b2510}.tile-code{font-size:9px;letter-spacing:1.5px;color:#738075}.art-stage{position:relative;flex:1;min-height:430px;display:flex;justify-content:center;align-items:center;padding:25px 75px 52px;overflow:hidden}.art{position:relative;width:min(100%,390px);aspect-ratio:1;filter:drop-shadow(0 25px 20px #31463325) drop-shadow(2px 3px 1px #54554530);transition:width .5s}.art>svg{width:100%;height:100%;display:block;overflow:visible}.stage-label{position:absolute;bottom:13px;font-size:8px;letter-spacing:2px;color:#7c897a}.axis-mark{position:absolute;font-size:19px;font-weight:200;color:#acb4a4}.top-left{top:12px;left:28px}.bottom-right{bottom:30px;right:28px}.canvas-bottom{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-top:1px solid #d2d8c9;gap:15px}.canvas-bottom>span{font-size:10px;color:#6b796c;display:flex;gap:8px;align-items:center}.canvas-bottom button{font-size:10px;white-space:nowrap}.controls{padding:25px 27px 17px;border-left:1px solid var(--line)}.control-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.control-heading .eyebrow{font-size:8px;letter-spacing:1.5px;margin:0}.control-heading>span{font-size:17px;font-family:var(--serif)}.control-heading>span span{color:#97a091;font-size:12px}.controls h2{font:normal 26px/1.1 var(--serif);letter-spacing:-.6px;margin-bottom:9px}.stage-description{font-size:11px;line-height:1.7;color:var(--muted);min-height:38px;margin-bottom:14px}.progress{display:flex;gap:6px;margin-bottom:17px}.progress button{height:3px;flex:1;background:#dce0d4;padding:0;position:relative}.progress button:before{content:'';position:absolute;inset:-6px 0}.progress button.active{background:#52745e}.layer-row{display:grid;grid-template-columns:36px 1fr 29px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e1e4d9}.layer-thumb{height:36px;width:36px;background:#eeeede;border:1px solid #dce1d0;border-radius:3px;overflow:hidden;opacity:.42;transition:opacity .3s}.layer-thumb svg{display:block;width:100%;height:100%}.layer-row.enabled .layer-thumb{opacity:1}.layer-text h3{font-size:11px;font-weight:500;margin:0 0 3px}.layer-text h3 span{font-size:8px;color:#81917b;margin-right:6px}.layer-text select{background:transparent;border:0;max-width:100%;padding:0 17px 0 0;font-size:9px;color:#788675;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 3 3 3-3' fill='none' stroke='%23788765'/%3E%3C/svg%3E");background-position:right center;background-repeat:no-repeat}.layer-toggle{width:23px;height:23px;border:1px solid #cad3c1;border-radius:50%;font-size:14px;color:#89977e;line-height:20px;padding:0}.layer-toggle[aria-pressed=true]{color:#fff;background:#50705a;border-color:#50705a;font-size:11px}.palette-section{margin:18px 0}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;margin-bottom:10px}.section-label span+span{font-size:9px;letter-spacing:0;color:#6f7b69}.palettes{display:flex;gap:9px}.palette-button{display:flex;width:39px;height:24px;border:2px solid transparent;border-radius:15px;padding:3px;gap:0;overflow:hidden;position:relative}.palette-button i{display:block;flex:1;height:100%}.palette-button i:first-child{border-radius:8px 0 0 8px}.palette-button i:last-child{border-radius:0 8px 8px 0}.palette-button[aria-pressed=true]{border-color:#526951}.primary-button{background:var(--green);color:#fffdf4;border-radius:3px;width:100%;padding:14px 16px;font-size:11px;display:flex;align-items:center;justify-content:space-between}.primary-button span{font-size:17px}.secondary-actions{display:flex;justify-content:space-between;align-items:center;margin-top:9px;gap:8px}.secondary-actions .text-button{font-size:9px;gap:6px}.secondary-actions .icon-button{font-size:17px;width:24px}.control-note{font-size:8px;line-height:1.6;color:#85907d;margin:8px 0 0}.collection{padding:32px 0 28px}.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:21px}.collection-heading .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:7px}.collection h2{font:normal 28px var(--serif);margin:0;letter-spacing:-.4px}.collection-heading>p{font-size:10px;line-height:1.6;color:#7e8979;margin:0}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:19px}.gallery-card{padding:0;text-align:left;min-width:0}.gallery-art{padding:17px;background:#e8e9dc;aspect-ratio:1.45;display:flex;align-items:center;justify-content:center;border:1px solid transparent;transition:border .3s,background .3s}.gallery-card:hover .gallery-art{background:#e0e4d4;border-color:#a0ac93}.gallery-art svg{width:70%;max-height:135px;filter:drop-shadow(1px 6px 4px #27342225)}.gallery-meta{display:flex;justify-content:space-between;font-size:10px;padding-top:10px;gap:7px}.gallery-meta span+span{color:#8b967f;font-size:9px}.gallery-sub{display:block;font-size:8px;color:#88917e;margin-top:4px}footer{border-top:1px solid var(--line);padding:20px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:8px;color:#7b8776}footer>span:first-child{letter-spacing:1px}.footer-divider{margin:0 9px}footer .text-button{font-size:8px}.art.wall{width:min(100%,425px);display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#dedbca;padding:3px;filter:drop-shadow(0 17px 15px #31463325)}.art.wall svg{display:block;width:100%;height:100%}.art.layers{width:min(100%,470px);filter:none;aspect-ratio:1.2;perspective:1000px}.exploded-sheet{position:absolute;width:56%;aspect-ratio:1;left:22%;top:28%;transform:rotateX(48deg) rotateZ(-35deg);transition:transform .7s;filter:drop-shadow(2px 4px 3px #31463315)}.exploded-sheet svg{width:100%;height:100%}.exploded-sheet:not(:first-child){background:#fcfbf314;border:1px solid #849b7e35}.layer-art{animation:reveal .65s ease both;transform-origin:300px 300px}.art .glaze-shine{pointer-events:none}@keyframes reveal{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}dialog{border:1px solid #d0d8c9;background:#faf9f2;color:var(--ink);padding:34px;max-width:850px;width:calc(100% - 38px);max-height:90vh;overflow:auto;border-radius:7px;box-shadow:0 25px 80px #19362940}dialog::backdrop{background:#1b322b88;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.dialog-top .eyebrow{margin:0;font-size:8px}dialog h2{font:normal 44px/1.1 var(--serif);margin-bottom:18px}.dialog-lead{font-size:13px;line-height:1.8;max-width:590px;color:#677765}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px;margin-top:30px}.research-grid article>span{font-size:8px;letter-spacing:1.5px;color:#7e8f72}.research-grid h3{font:normal 23px var(--serif);margin:10px 0}.research-grid p{font-size:11px;line-height:1.8;color:#687760}.research-grid a{font-size:10px;text-underline-offset:4px}.research-grid .fine-print{font-size:10px;color:#819075}.dialog-bottom{border-top:1px solid var(--line);padding-top:19px;margin-top:28px;font-size:10px;line-height:1.7;color:#79876f}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#284d3f;color:#fff9e8;padding:12px 20px;border-radius:4px;font-size:11px;opacity:0;pointer-events:none;transition:.25s;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}body.presentation .site-header,body.presentation .intro,body.presentation .collection,body.presentation footer{display:none}body.presentation main{padding:22px;max-width:none}body.presentation .workspace{min-height:calc(100vh - 44px);grid-template-columns:minmax(0,1fr) 340px}body.presentation .art-stage{min-height:60vh}body.presentation .art{width:min(62vh,640px)}body.presentation .controls{display:flex;flex-direction:column;justify-content:center}#exit-presentation{position:fixed;right:35px;top:30px;background:#faf9f4;border:1px solid var(--line);border-radius:3px;font-size:10px;padding:8px 12px;z-index:10}.no-motion .layer-art{animation:none}@media(min-width:1450px){.art-stage{min-height:510px}.art{width:450px}.workspace{grid-template-columns:minmax(0,1fr) 370px}.controls{padding:31px 31px}.layer-row{padding:13px 0}}@media(max-width:1050px){.site-header{padding:22px 30px}main{padding:0 30px}.intro-copy{max-width:250px;font-size:11px}.intro-copy span{max-width:220px}.art-stage{padding:25px 45px 52px}.workspace{grid-template-columns:minmax(0,1fr) 310px}.controls{padding:23px}.concept-label{display:none}.canvas-toolbar{padding:16px}.tile-code{font-size:8px}.view-tabs button{padding:6px 9px}.gallery{gap:12px}}@media(max-width:760px){.site-header{padding:19px 20px}.brand{font-size:10px;letter-spacing:1.8px;gap:9px}.brand svg{width:32px}.brand-sub{font-size:7px;letter-spacing:1.4px}.site-header nav{gap:15px}.site-header .text-button{font-size:10px}.site-header nav .icon-button{display:none}main{padding:0 20px}.intro{display:block;padding:28px 0 24px}.intro .eyebrow{font-size:7px;letter-spacing:1.4px}h1{font-size:41px;letter-spacing:-1px}.intro-copy{display:none}.workspace{display:flex;flex-direction:column}.art-stage{min-height:360px;padding:25px 45px 45px}.art{max-width:315px}.canvas-toolbar{padding:13px}.canvas-bottom{padding:12px 15px}.canvas-bottom>span{font-size:9px}.controls{border-left:0;border-top:1px solid var(--line);padding:24px}.control-heading{margin-bottom:13px}.stage-description{min-height:0}.layer-row{padding:12px 0}.layer-text h3{font-size:12px}.layer-text select{font-size:10px}.control-note{font-size:9px}.secondary-actions .text-button{font-size:11px}.palette-button{width:44px;height:27px}.section-label{font-size:9px}.gallery{grid-template-columns:repeat(3,1fr);gap:18px 12px}.gallery{grid-template-columns:repeat(5,130px);overflow-x:auto;padding-bottom:10px}.gallery-card:nth-child(4),.gallery-card:nth-child(5){display:block}.collection-heading>p{display:none}.collection h2{font-size:24px}.gallery-art{padding:8px;aspect-ratio:1.05}.gallery-art svg{width:100%}.gallery-meta{font-size:9px}.gallery-meta span+span{display:none}.gallery-sub{font-size:7px}.collection{padding-top:27px}footer{flex-wrap:wrap;line-height:1.5}footer>span:nth-child(2){display:none}dialog{padding:24px}.research-grid{grid-template-columns:1fr}.art.layers{width:100%;max-width:340px}.art.wall{max-width:315px}body.presentation .workspace{display:flex}body.presentation .art-stage{min-height:400px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:761px) and (max-height:800px){.site-header{padding-top:15px;padding-bottom:15px}.intro{padding-top:22px;padding-bottom:22px}h1{font-size:50px}.intro .eyebrow{margin-bottom:9px}.controls{padding-top:20px;padding-bottom:14px}.control-heading{margin-bottom:12px}.controls h2{font-size:24px;margin-bottom:7px}.stage-description{font-size:10px;line-height:1.5;min-height:30px;margin-bottom:10px}.progress{margin-bottom:12px}.layer-row{padding-top:8px;padding-bottom:8px}.palette-section{margin-top:14px;margin-bottom:14px}.art-stage{min-height:350px;padding-top:12px;padding-bottom:40px}.art{width:min(100%,365px)}.control-note{margin-top:5px}.canvas-toolbar{padding-top:13px;padding-bottom:13px}.canvas-bottom{padding-top:10px;padding-bottom:10px}}
/* Expanded motif library, version 2. */
.composition-control{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:0 0 8px;padding:9px 0 11px;border-bottom:1px solid var(--line)}.composition-control label{font-size:7px;letter-spacing:1px;white-space:nowrap;color:#6a7d69}.composition-control select{font-size:10px;border:0;background:transparent;padding:4px 15px 4px 0;max-width:165px;cursor:pointer}.palettes{gap:4px;justify-content:space-between}.palette-button{width:31px;height:24px;padding:3px}.collection-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.collection-tools>span{font-size:10px;color:#76856f}.collection-tools .text-button{font-size:11px}.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}.gallery-art{aspect-ratio:1.16;padding:16px}.gallery-art svg{width:90%;max-height:220px}.gallery-sub{font-size:8px;line-height:1.5}.controls{padding-top:20px}.control-heading{margin-bottom:12px}.stage-description{margin-bottom:9px}.layer-row{padding-top:8px;padding-bottom:8px}.palette-section{margin-top:14px;margin-bottom:14px}.progress{margin-bottom:9px}.art{width:min(100%,420px)}
@media(min-width:1450px){.gallery{grid-template-columns:repeat(6,minmax(0,1fr))}.art{width:470px}}
@media(min-width:761px) and (max-height:800px){.controls{padding-top:16px;padding-bottom:12px}.control-heading{margin-bottom:8px}.controls h2{font-size:23px}.stage-description{min-height:26px;font-size:9px;margin-bottom:8px}.composition-control{padding-top:3px;padding-bottom:7px}.layer-row{padding:7px 0}.layer-thumb{width:32px;height:32px}.layer-row{grid-template-columns:32px 1fr 29px}.palette-section{margin:12px 0}.primary-button{padding:12px 16px}.secondary-actions{margin-top:6px}.art{width:min(100%,390px)}}
@media(max-width:760px){.composition-control label{font-size:8px}.composition-control select{font-size:12px;max-width:190px}.controls{padding:23px}.palette-button{width:32px;height:27px}.gallery{grid-template-columns:repeat(12,160px);gap:14px;overflow-x:auto}.gallery-art{padding:10px}.gallery-art svg{width:100%}.gallery-meta{font-size:10px}.gallery-sub{font-size:8px}.collection-heading{display:block}.collection-tools{align-items:flex-start;flex-direction:row;justify-content:space-between;align-items:center;margin-top:12px}.collection-tools>span{font-size:8px}.collection-tools .text-button{font-size:9px}.art{max-width:315px}.layer-row{padding:10px 0}}

/* Physical tile viewer. The canvas remains mounted across recipe changes. */
[hidden]{display:none!important}.tile-3d{position:absolute;inset:0 0 67px}.tile-3d canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;outline-offset:-4px}.tile-3d canvas:focus-visible{outline:2px solid #899d7f}.tile-3d canvas.dragging{cursor:grabbing}.art-stage.is-3d{min-height:460px}.three-tools{position:absolute;bottom:39px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.drag-hint{font-size:9px;color:#7b8977;letter-spacing:.15px}.three-buttons{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #ccd2c5;border-radius:5px;background:#f7f7eecc}.three-buttons button{font-size:10px;min-height:29px;min-width:30px;padding:6px 9px;border-radius:3px}.three-buttons button:hover{background:#fffdf4}.three-buttons button:nth-last-child(-n+3){font-size:17px;padding:2px 8px}.tool-divider{width:1px;height:16px;background:#cdd4c5;margin:0 4px}.axis-mark,.stage-label{pointer-events:none}.three-fallback{position:absolute;inset:20%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;font-size:12px;line-height:1.7}.three-fallback .primary-button{width:auto}.canvas-toolbar{gap:10px}.view-tabs{flex-shrink:0}.view-tabs button{padding-left:10px;padding-right:10px}body.presentation .tile-3d{inset:0 0 80px}body.presentation .three-tools{bottom:47px}body.presentation .art-stage.is-3d{min-height:60vh}
@media(max-width:1100px) and (min-width:761px){.three-tools{justify-content:center;flex-wrap:wrap;gap:6px}.drag-hint{width:100%;text-align:center}.tile-3d{bottom:85px}.view-tabs button{padding-left:7px;padding-right:7px}.tile-code{letter-spacing:.4px}}
@media(max-width:760px){.art-stage.is-3d{min-height:400px}.tile-3d{inset:0 0 91px}.three-tools{left:12px;right:12px;bottom:37px;flex-direction:column;gap:7px}.three-buttons button{min-height:34px;min-width:34px}.drag-hint{font-size:9px}.view-tabs button{font-size:9px;padding:7px 9px}.canvas-toolbar{padding:14px 12px}.tile-code{font-size:7px;letter-spacing:.3px}.three-fallback{inset:12%}.stage-label{font-size:7px;letter-spacing:1.5px}}
