:root{color-scheme:light;--ink:#443326;--muted:#80664c;--panel:rgba(255,247,228,.9)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#d5b478;-webkit-user-select:none;user-select:none}button,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #67492b;outline-offset:4px}button{border:0}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.dots{stroke-width:3}#sand{position:fixed;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.topbar{position:absolute;top:0;left:0;right:0;padding:calc(28px + env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) 0 max(32px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:49px;line-height:1;font-weight:300}h1{font-family:Georgia,serif;font-size:31px;letter-spacing:-1px;margin:0;font-weight:400}.brand p{font-size:11px;margin:6px 0 0;letter-spacing:.35px}.top-actions{display:flex;gap:12px;pointer-events:auto}.quiet{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:rgba(255,246,224,.48);border:1px solid #67492b20;border-radius:30px;font-size:12px;backdrop-filter:blur(12px)}.quiet:hover{background:rgba(255,246,224,.85)}.square{width:44px;height:44px;padding:0}.intro{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:90%;text-align:center;pointer-events:none;transition:opacity .8s,transform .8s}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600}.intro h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,6vw,66px);letter-spacing:-2px;margin:21px 0 18px}.intro p{font-size:14px;line-height:1.9;margin:0}.gesture{display:block;font-size:58px;margin-top:20px;opacity:.55}.drawing .intro{opacity:0;transform:translate(-50%,-46%)}.bottom-ui{position:absolute;bottom:calc(17px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);text-align:center;pointer-events:none}.hint{font-size:11px;margin:0 0 15px;color:#59422d;letter-spacing:.2px;text-shadow:0 1px 5px #ffeac0}.toolbar{display:flex;align-items:center;gap:20px;padding:10px 14px;background:var(--panel);border:1px solid #fff5df88;box-shadow:0 8px 40px #49351920,0 1px 2px #49351915;border-radius:22px;backdrop-filter:blur(20px);pointer-events:auto}.tools{display:flex;gap:3px}.tool{background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:75px;height:66px;border-radius:13px;font-size:10px;transition:background .2s,color .2s}.tool.active{background:#534131;color:#fff3d9;box-shadow:0 2px 4px #49351922}.tool:not(.active):hover,.reset:hover{background:#b4956820}.divider{height:38px;width:1px;background:#62452526;flex-shrink:0}.size-control{width:145px;text-align:left;display:flex;flex-direction:column;gap:12px;font-size:10px}.size-control span{display:flex;justify-content:space-between}output{opacity:.6;font-variant-numeric:tabular-nums}input[type=range]{width:100%;margin:0;accent-color:#65503b;cursor:pointer;height:16px}.reset{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:transparent;font-size:10px;padding:12px;border-radius:12px}.footer-note{font-size:8px;letter-spacing:2.5px;opacity:.65;margin:15px 0 0}#restore{display:none;position:absolute;right:max(20px,env(safe-area-inset-right));top:calc(20px + env(safe-area-inset-top));opacity:.65}.zen .bottom-ui{display:none}#toast{position:absolute;top:calc(100px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);background:#443326;color:#fff3d9;padding:12px 20px;border-radius:20px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}dialog{border:1px solid #ffffff66;background:#fff4df;color:var(--ink);border-radius:22px;padding:30px;max-width:min(400px,calc(100% - 36px));box-shadow:0 20px 80px #30201040}dialog::backdrop{background:#30201055;backdrop-filter:blur(5px)}dialog h2{font:normal 30px Georgia,serif;margin:20px 0 12px}dialog p{font-size:14px;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions button{padding:12px 17px;border-radius:12px;background:#ecdfc8}.dialog-actions .confirm{background:#534131;color:#fff3d9}@media(max-width:1040px){.topbar{padding:calc(19px + env(safe-area-inset-top)) 20px 0}.brand p{display:none}h1{font-size:27px}.brand-mark{font-size:39px}.top-actions{gap:8px}.top-actions .quiet span{display:none}.top-actions .quiet{width:40px;height:40px;padding:0}.toolbar{gap:10px;padding:8px;border-radius:19px}.tool{width:54px;height:60px;font-size:9px}.size-control{width:85px;font-size:9px}.reset{padding:8px;font-size:9px}.desktop-divider{display:none}.hint{font-size:9px;max-width:310px;margin:0 auto 12px;line-height:1.6}.footer-note{font-size:7px;letter-spacing:1.6px}.bottom-ui{max-width:calc(100% - 20px)}.intro{top:40%}.intro p{font-size:13px}}@media(max-height:500px){.intro{top:40%}.intro h2{font-size:36px;margin:10px 0}.intro p,.gesture,.hint,.footer-note,.brand p{display:none}.topbar{padding-top:12px}.bottom-ui{bottom:10px}.toolbar{padding:5px 10px}.tool{height:51px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep all four tools accessible on narrow touch screens. */
@media(max-width:1040px){
  .toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;width:min(360px,calc(100vw - 24px));padding:9px 12px}
  .tools{grid-column:1 / -1;justify-content:space-between}
  .tool{width:calc((100% - 9px) / 4);height:54px}
  .toolbar>.divider{display:none}
  .size-control{width:auto;gap:5px;padding:0 6px;font-size:10px}
  .reset{flex-direction:row;gap:7px;min-height:44px}
}

.palette-toggle{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0;background:transparent;border-radius:50%;pointer-events:auto}
.palette-toggle{width:48px;height:48px}.palette-mark{width:24px;height:24px;stroke-width:2.2;stroke-dasharray:0 3.927}
@media(max-width:1040px){.palette-mark{width:20px;height:20px}}
.palette-toggle:hover{background:#fff6e024}
.toolbar-actions{display:flex;align-items:center;gap:4px}
.toolbar-actions .reset{width:72px;min-height:60px;padding:8px}
@media(max-width:1040px){
  .toolbar-actions .reset{width:62px;min-height:48px;padding:4px;flex-direction:column;font-size:9px;gap:5px}
  .toolbar{column-gap:8px}
  .size-control span{gap:6px}
}

#wind-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:72px;min-height:60px;padding:8px;border-radius:12px;background:transparent;font-size:10px;white-space:nowrap}
#wind-toggle[aria-pressed=true]{background:#534131;color:#fff3d9}
#wind-toggle:hover{box-shadow:inset 0 0 0 1px #62452526}
#wind-settings:not([hidden]){display:flex;grid-column:1 / -1;align-items:center;justify-content:center;gap:16px;padding-top:10px;border-top:1px solid #62452526}
#wind-settings .size-control{width:160px;gap:5px}
#wind-direction{width:44px;height:44px;background:transparent;border-radius:12px;font-size:27px}
#wind-direction:hover{background:#b4956820}
@media(min-width:1041px){.toolbar{display:grid;grid-template-columns:auto 1px 145px 1px auto;gap:10px 16px}}
@media(max-width:1040px){
  .toolbar>.size-control{grid-column:1 / -1;padding:5px 6px}
  .toolbar-actions{grid-column:1 / -1;justify-content:space-around}
  #wind-toggle{width:62px;min-height:48px;padding:4px;font-size:9px;gap:5px}
}

.color-panel{width:max-content;max-width:100%;margin:0 auto 10px;padding:9px 10px 5px;background:var(--panel);border:1px solid #fff5df88;border-radius:18px;box-shadow:0 4px 20px #49351915;backdrop-filter:blur(20px);pointer-events:auto}
.color-heading{display:flex;justify-content:space-between;padding:0 5px 3px;font-size:10px}
#color-name{color:var(--muted)}
.swatches{display:flex;gap:0}
.swatches button{position:relative;width:44px;height:44px;padding:0;border-radius:50%;background:transparent}
.swatches button::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #44332622}
.swatches button[aria-pressed=true]::before{outline:2px solid var(--ink);outline-offset:3px}
.swatches button[aria-pressed=true]::after{content:"✓";position:relative;color:#fff9eb;font-size:16px;text-shadow:0 1px 2px #44332688}
@media(max-height:500px){.color-panel{padding-top:4px;margin-bottom:5px}.color-heading{display:none}.swatches button{height:40px}}

button:disabled{opacity:.35;cursor:default}

.amount-control{display:flex;flex-direction:column;gap:14px;font-size:12px;margin-top:24px}
.amount-control>span{display:flex;justify-content:space-between;gap:12px}
.amount-presets{display:flex;gap:6px;margin-top:14px}
.amount-presets button{flex:1;min-height:44px;padding:8px;background:#ecdfc8;border-radius:10px;font-size:12px}
.amount-presets button:hover{background:#dfcfb3}

#stencil-overlay{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;touch-action:none}
.stencil-panel{width:min(360px,calc(100vw - 24px));margin:0 auto 10px;padding:12px;background:var(--panel);border:1px solid #fff5df88;border-radius:18px;backdrop-filter:blur(20px);pointer-events:auto;box-shadow:0 4px 20px #49351915}
.stencil-shapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.stencil-shapes button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:74px;padding:6px 2px;border-radius:12px;background:#eaddc5;font-size:10px;touch-action:none;cursor:grab}
.stencil-shapes button:active{cursor:grabbing;background:#ddcbaa}
.stencil-shapes canvas,.stencil-shapes svg{width:34px;height:34px;pointer-events:none}
.stencil-shapes span{pointer-events:none}
#stencil-toggle[aria-pressed=true]{background:#534131;color:#fff3d9}
#stencil-handles{position:fixed;inset:0;pointer-events:none}
#stencil-handles button{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff4df;border:1px solid #765a3b66;box-shadow:0 3px 10px #49351925;pointer-events:auto;touch-action:none;cursor:grab}
#stencil-handles [data-handle=delete]{cursor:pointer}
#stencil-handles button:hover{background:#ead8b6}
.zen #stencil-handles{display:none}
@media(max-width:1040px){.toolbar-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.toolbar-actions .reset,#wind-toggle{width:100%;font-size:9px}}
@media(max-height:600px){.bottom-ui{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto}.stencil-panel{margin-bottom:6px}.stencil-panel p{margin:6px 0}}



#orientation-settings:not([hidden]){display:flex;grid-column:1 / -1;align-items:center;justify-content:center;gap:14px;padding-top:10px;border-top:1px solid #62452526}
#orientation-settings .size-control{width:145px;gap:5px}
#orientation-preview{width:36px;height:36px;stroke-width:2}
#orientation-preview .rake-teeth{display:none}
#orientation-preview.is-rake .rake-teeth{display:block}
#angle-quarter{min-height:44px;padding:6px 10px;background:#eaddc5;border-radius:12px;font-size:12px;white-space:nowrap}

#life-toggle[aria-pressed=true]{background:#534131;color:#fff3d9}
#life-toggle{white-space:nowrap}
#life-settings:not([hidden]){display:flex;grid-column:1 / -1;justify-content:center;padding-top:10px;border-top:1px solid #62452526}
#life-settings .size-control{width:230px;gap:5px}
@media(max-width:1040px){.toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
