/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#17191c;--ink-soft:#454742;--paper:#f2f0e8;--paper-deep:#e7e4d9;--line:#1c1e1b29;--vermilion:#a94435;--ui-sans:"Yu Gothic", "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;--display-serif:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif}*{box-sizing:border-box}html,body{background:var(--paper);width:100%;min-height:100%;color:var(--ink);margin:0;overflow:hidden}body{font-family:var(--ui-sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}.ink-app{isolation:isolate;background:var(--paper);width:100vw;height:100svh;min-height:620px;position:relative;overflow:hidden}.ink-canvas{z-index:0;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.paper-grain{z-index:1;pointer-events:none;opacity:.14;mix-blend-mode:multiply;background-image:repeating-radial-gradient(circle at 17% 31%,#1b1d1a21 0 .35px,#0000 .45px 3.6px),repeating-linear-gradient(84deg,#0000 0 7px,#3631270e 7.4px 7.8px,#0000 8.2px 14px);background-size:18px 21px,29px 37px;position:absolute;inset:0}.topbar{z-index:5;pointer-events:none;justify-content:space-between;align-items:center;width:100%;padding:24px clamp(24px,3.2vw,56px);display:flex;position:absolute;top:0;left:0}.brand,.top-actions,.quiet-button{pointer-events:auto}.brand{color:var(--ink);align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{width:48px;height:48px;font-family:var(--display-serif);letter-spacing:.06em;border:1px solid #161816cc;place-items:center;font-size:15px;font-weight:600;display:grid;position:relative}.brand-mark:after{content:"";background:var(--vermilion);width:8px;height:8px;position:absolute;bottom:-4px;right:-4px}.brand-copy{letter-spacing:.18em;font-family:Georgia,Times New Roman,serif;font-size:9px;line-height:1.35}.top-actions{align-items:center;gap:7px;display:flex}.water-status{color:#1a1c19a6;letter-spacing:.06em;align-items:center;gap:8px;margin-right:8px;padding:9px 11px;font-size:11px;display:inline-flex}.water-status i{background:#506c5b;border-radius:50%;width:6px;height:6px;animation:2.8s ease-in-out infinite breathe;box-shadow:0 0 0 4px #506c5b1f}.water-status.is-paused i{box-shadow:none;background:#7f7768;animation:none}.quiet-button{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);cursor:pointer;letter-spacing:.08em;background:#f4f2ea9e;border:1px solid #181a1726;border-radius:2px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-size:11px;transition:border-color .18s,background-color .18s,transform .18s;display:inline-flex}.quiet-button:hover{background:#f8f7f1d1;border-color:#181a1770;transform:translateY(-1px)}.quiet-button:focus-visible,.mobile-control-toggle:focus-visible,.mobile-deck-close:focus-visible,.mode-tabs button:focus-visible,.palette button:focus-visible,input[type=range]:focus-visible{outline:2px solid var(--vermilion);outline-offset:3px}.save-button{color:#f4f1e7;background:#17191ce6;border-color:#161816b8}.save-button:hover{border-color:var(--ink);background:var(--ink)}.clear-symbol{font-size:15px;line-height:0}.mobile-control-toggle,.mobile-control-scrim,.mobile-deck-header{display:none}.hero-copy{z-index:2;pointer-events:none;text-shadow:0 1px 12px #f2f0e861;position:absolute;top:18.5%;left:clamp(30px,7.7vw,132px)}.eyebrow,.section-kicker{color:#191b189e;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:10px;font-weight:600}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow span{background:var(--vermilion);width:22px;height:1px;display:inline-block}.hero-copy h1{font-family:var(--display-serif);letter-spacing:-.075em;margin:20px 0 18px;font-size:clamp(48px,6.6vw,104px);font-weight:400;line-height:.98}.hero-copy h1 span{display:block}.hero-copy h1 span:last-child{margin-left:.74em}.hero-note{color:#1c1e1ba3;font-family:var(--display-serif);letter-spacing:.08em;margin:0 0 0 5.4em;font-size:clamp(12px,1vw,15px);line-height:1.95}.control-deck{z-index:5;-webkit-backdrop-filter:blur(20px)saturate(.78);backdrop-filter:blur(20px)saturate(.78);opacity:0;visibility:hidden;pointer-events:none;background:#efede4d1;border:1px solid #1d1f1c2e;grid-template-columns:minmax(540px,1.72fr) minmax(350px,.92fr);width:min(1180px,100% - clamp(40px,6.4vw,112px));margin-left:auto;transition:opacity .5s,transform .5s,visibility 0s linear .5s;display:grid;position:absolute;bottom:clamp(22px,3.4vh,46px);left:clamp(20px,3.2vw,56px);right:clamp(20px,3.2vw,56px);transform:translateY(12px);box-shadow:0 24px 80px #25231c1f}.control-deck.is-ready{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.deck-primary{border-right:1px solid var(--line);grid-template-columns:170px 1fr;min-width:0;display:grid}.mode-tabs{border-right:1px solid var(--line);flex-direction:column;display:flex}.mode-tabs button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;min-height:48px;font-family:var(--display-serif);background:0 0;flex:1;justify-content:space-between;align-items:center;padding:12px 15px;font-size:13px;transition:color .18s,background-color .18s;display:flex;position:relative}.mode-tabs button:last-child{border-bottom:0}.mode-tabs button small{color:#1c1e1b61;font-family:Georgia,serif;font-size:9px}.mode-tabs button:before{content:"";background:var(--vermilion);width:2px;height:0;transition:height .18s;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.mode-tabs button:hover,.mode-tabs button.is-active{background:#faf9f47a}.mode-tabs button.is-active{font-weight:600}.mode-tabs button.is-active:before{height:62%}.mode-detail{flex-direction:column;justify-content:space-between;min-width:0;padding:17px 20px 15px;display:flex}.palette{align-items:center;gap:5px;margin-top:12px;display:flex}.palette button{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:7px;min-width:66px;padding:5px 7px;transition:border-color .16s,background-color .16s;display:flex}.palette button:hover,.palette button.is-selected{background:#faf9f48a;border-color:#1c1e1b38}.palette button>i,.random-color>i{border:1px solid #ffffff94;border-radius:50% 48% 45% 52%;flex:none;width:21px;height:21px;box-shadow:0 0 0 1px #15171429}.palette button span{font-family:var(--display-serif);flex-direction:column;font-size:12px;line-height:1.1;display:flex}.palette button small{color:#1c1e1b73;font-family:var(--ui-sans);margin-top:3px;font-size:7px}.random-color{color:#1c1e1b85;white-space:nowrap;align-items:center;gap:8px;margin-left:5px;font-size:9px;display:flex}.random-color>i{width:17px;height:17px;transition:background-color .12s linear}.mode-description{color:#1c1e1b8f;letter-spacing:.08em;align-items:center;gap:8px;margin:14px 0 0;font-size:9px;display:flex}.mode-description i{background:#1c1e1b57;width:16px;height:1px}.deck-settings{padding:17px 20px 15px}.range-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:15px 22px;margin-top:13px;display:grid}.range-control{gap:8px;display:grid}.range-control span{color:#1c1e1bbf;font-family:var(--display-serif);letter-spacing:.05em;font-size:10px}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:12px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, #181a17d1 0 var(--range-progress), #181a1733 var(--range-progress) 100%);height:1px}input[type=range]::-moz-range-track{background:#181a1733;height:1px}input[type=range]::-moz-range-progress{background:#181a17d1;height:1px}input[type=range]::-webkit-slider-thumb{appearance:none;background:#f4f1e8;border:1px solid #181a17bd;border-radius:50%;width:11px;height:11px;margin-top:-5px;box-shadow:0 1px 5px #181a1726}input[type=range]::-moz-range-thumb{background:#f4f1e8;border:1px solid #181a17bd;border-radius:50%;width:11px;height:11px}.gesture-hint{z-index:3;color:#1d1f1c75;pointer-events:none;letter-spacing:.13em;writing-mode:vertical-rl;align-items:center;gap:11px;font-size:9px;display:flex;position:absolute;top:50%;right:clamp(30px,5.2vw,90px)}.gesture-ring{border:1px solid #1d1f1c3d;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:relative}.gesture-ring:before{content:"";border:1px solid #1d1f1c1f;border-radius:50%;animation:2.6s ease-out infinite ripple;position:absolute;inset:4px}.gesture-ring i{background:var(--ink);border-radius:50%;width:3px;height:3px}.signature{z-index:2;color:#1d1f1c42;letter-spacing:.14em;writing-mode:vertical-rl;margin:0;font-family:Georgia,serif;font-size:8px;position:absolute;bottom:14px;right:16px}.unsupported{z-index:10;text-align:center;background:#f4f2eaf5;border:1px solid #1d1f1c38;flex-direction:column;gap:8px;width:min(390px,100% - 40px);padding:24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 60px #1e1d1824}.unsupported strong{font-family:var(--display-serif);font-weight:500}.unsupported span{color:#1d1f1c94;font-size:11px}.notice{z-index:12;opacity:0;pointer-events:none;letter-spacing:.08em;background:#f4f2eae6;border:1px solid #1d1f1c2e;padding:10px 15px;font-size:10px;transition:opacity .18s,transform .18s;position:absolute;top:92px;left:50%;transform:translate(-50%,-8px);box-shadow:0 9px 34px #1e1d181a}.notice.is-visible{opacity:1;transform:translate(-50%)}@keyframes ripple{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}@media (width<=1020px){.control-deck{grid-template-columns:1fr;width:min(760px,100% - 40px)}.deck-primary{border-right:0;border-bottom:1px solid var(--line)}.deck-settings{padding-top:12px;padding-bottom:12px}.range-grid{grid-template-columns:repeat(4,minmax(90px,1fr));gap:13px}.hero-copy{top:17%;left:clamp(30px,6vw,70px)}.hero-copy h1{font-size:clamp(54px,9vw,84px)}}@media (width<=720px),(height<=520px) and (width<=960px){.ink-app{height:100dvh;min-height:0}.topbar{z-index:8;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 10px max(10px, env(safe-area-inset-left))}.brand-mark{width:38px;height:38px;font-size:12px}.brand-copy,.water-status{display:none}.top-actions{gap:4px;margin-left:auto}.quiet-button,.save-button{white-space:nowrap;background-color:#f7f5eee0;gap:4px;min-width:0;min-height:44px;padding:7px 8px;font-size:10px}.save-button{background:#17191ceb}.hero-copy{top:max(82px,15%);left:max(18px, env(safe-area-inset-left))}.eyebrow{font-size:9px}.hero-copy h1{margin-top:15px;font-size:clamp(43px,14.5vw,68px)}.hero-note{display:none}.mobile-control-scrim{z-index:4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#1e1f1c29;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.mobile-control-toggle{z-index:7;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));color:#f4f1e7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;letter-spacing:.08em;background:#17191ce6;border:1px solid #161816b8;border-radius:2px;justify-content:center;align-items:center;gap:7px;min-width:78px;min-height:46px;padding:9px 14px;font-size:11px;display:inline-flex;position:absolute;box-shadow:0 12px 34px #1f1e1933}.mobile-control-toggle>span{font-size:17px;line-height:1}.control-deck{z-index:6;right:max(10px, env(safe-area-inset-right));bottom:calc(70px + env(safe-area-inset-bottom));left:max(10px, env(safe-area-inset-left));opacity:0;visibility:hidden;pointer-events:none;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;border-radius:3px;width:auto;max-height:min(72dvh,100dvh - 140px);margin:0;transition:opacity .22s,transform .22s,visibility 0s linear .22s;display:block;overflow-y:auto;transform:translateY(18px)}.control-deck.is-ready{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px)}.control-deck.is-ready.is-mobile-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.mobile-deck-header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#efede4f7;justify-content:space-between;align-items:center;min-height:48px;padding:4px 6px 4px 14px;display:flex;position:sticky;top:0}.mobile-deck-header p{font-family:var(--display-serif);align-items:baseline;gap:8px;margin:0;font-size:12px;display:flex}.mobile-deck-header p span{color:#1c1e1b7a;letter-spacing:.14em;font-family:Georgia,serif;font-size:8px}.mobile-deck-close{cursor:pointer;letter-spacing:.08em;background:0 0;border:0;align-items:center;gap:5px;min-height:44px;padding:6px 9px;font-size:10px;display:inline-flex}.mobile-deck-close span{font-size:17px}.deck-primary{display:block}.mode-tabs{border-right:0;border-bottom:1px solid var(--line);flex-direction:row}.mode-tabs button{border-right:1px solid var(--line);border-bottom:0;min-height:44px}.mode-tabs button:last-child{border-right:0}.mode-tabs button:before{width:0;height:2px;transition:width .18s;inset:auto 50% -1px auto;transform:translate(50%)}.mode-tabs button.is-active:before{width:44%;height:2px}.mode-detail{padding:12px 13px 10px}.palette{justify-content:space-between;margin-top:8px}.palette button{flex:1;justify-content:center;min-width:0;min-height:44px;padding:4px 6px}.palette button>i{width:22px;height:22px}.palette button span,.mode-description,.random-color{display:none}.deck-settings{padding:10px 13px 12px}.range-grid{grid-template-columns:repeat(2,minmax(110px,1fr));gap:10px 18px;margin-top:8px}input[type=range]{height:30px}input[type=range]::-webkit-slider-runnable-track{height:2px}input[type=range]::-moz-range-track{height:2px}input[type=range]::-moz-range-progress{height:2px}input[type=range]::-webkit-slider-thumb{width:19px;height:19px;margin-top:-8.5px}input[type=range]::-moz-range-thumb{width:19px;height:19px}.gesture-hint,.signature{display:none}.section-kicker{font-size:8px}}@media (height<=700px) and (height>=521px) and (width>=721px){.topbar{padding-top:14px}.hero-copy{top:15%}.hero-copy h1{font-size:clamp(46px,6vw,76px)}.hero-note{display:none}.control-deck{bottom:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
