@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,system-ui,sans-serif;color:#30261f;background:#f5f0e7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 32%,#fffaf1 0,transparent 65%)}main{max-width:480px;margin:auto;padding:28px 25px 24px;min-height:100svh}header{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;letter-spacing:-1px;font-size:23px;color:inherit;text-decoration:none}.brand span{font-weight:500;letter-spacing:0;font-size:13px;color:#8e8074}.edition{font-size:8px;letter-spacing:1.3px;color:#948475;font-weight:800}.hero{text-align:center}.badge{display:inline-flex;align-items:center;gap:7px;background:#ebe5da;border:1px solid #e0d7ca;padding:7px 11px;border-radius:30px;margin-top:32px;font-size:11px;max-width:100%;text-align:left}.badge i{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#998875}h1{font-size:32px;letter-spacing:-1.5px;line-height:1.15;margin:19px 0 10px}.intro{font-size:12px;color:#8e7e6f;margin:0}.intro em{font-style:normal;color:#665343}.character{position:relative;height:258px;margin:5px auto 0;max-width:340px}.halo{position:absolute;inset:18px 30px 0;border-radius:50%;background:radial-gradient(ellipse,#efdec4,transparent 68%)}.poop{position:absolute;width:218px;height:183px;left:50%;top:41px;transform:translateX(-50%);filter:drop-shadow(0 12px 8px #6e3c2220)}.tier,.tip{position:absolute;background:linear-gradient(140deg,#a97543 3%,#895129 45%,#5a321e 98%);box-shadow:inset 3px 5px 8px #edb97e40,inset -4px -5px 7px #321c2d40}.bottom{width:218px;height:84px;border-radius:48% 48% 44% 44%;bottom:0}.middle{width:174px;height:76px;border-radius:48%;bottom:48px;left:22px;z-index:1}.top{width:118px;height:66px;border-radius:50%;bottom:97px;left:50px;z-index:2}.tip{width:60px;height:65px;left:80px;top:-13px;border-radius:65% 10% 55% 45%;transform:rotate(-19deg);z-index:3}.face{position:absolute;z-index:5;width:130px;left:44px;top:91px}.eyes{display:flex;justify-content:space-between;padding:0 6px}.eyes span{display:block;width:40px;height:25px;background:#f7ead8;border-radius:12px 12px 20px 20px;position:relative;transform:rotate(13deg);box-shadow:0 -7px #54321f}.eyes span+span{transform:rotate(-13deg)}.eyes span:after{content:'';position:absolute;width:10px;height:13px;background:#241c18;left:16px;top:4px;border-radius:50%}.mouth{height:13px;width:35px;border-top:4px solid #352015;border-radius:50%;margin:21px auto}.shadow{position:absolute;width:190px;height:20px;bottom:20px;left:50%;transform:translateX(-50%);background:#71563425;filter:blur(7px);border-radius:50%}.label{position:absolute;bottom:0;left:0;right:0;font-size:8px;letter-spacing:2px;color:#a39280}.stink{position:absolute;font-size:48px;color:#c6b799;transform:rotate(90deg);font-weight:400}.s1{left:30px;top:54px}.s2{right:27px;top:28px}.s3{right:46px;top:98px;font-size:30px}.quote{font-size:14px;font-weight:600;line-height:1.5;min-height:66px;display:grid;place-content:center;padding:13px 10px 8px;color:#78604c}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:5px}button{font:inherit;cursor:pointer;touch-action:manipulation}.controls button{height:55px;border-radius:17px;font-size:17px;font-weight:800;border:1px solid #dacfbe}.controls button span{font-size:12px;margin-right:10px}.start{background:#e3f16c;color:#303519;border-color:#d0df53!important;box-shadow:0 4px 0 #c7d451}.stop{background:#eee7dc;color:#675647;box-shadow:0 4px 0 #ddd2c3}button:disabled{opacity:.42;cursor:default;box-shadow:none}.controls button:not(:disabled):active{transform:translateY(3px);box-shadow:none}.frequency{margin-top:32px;padding-top:22px;border-top:1px solid #dfd6c9}.section-head{display:flex;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:1.6px}.section-head span{color:#9b8b7a}input[type=range]{width:100%;margin:22px 0 10px;accent-color:#69513d;cursor:pointer;height:22px}.ticks{display:flex;justify-content:space-between;font-size:12px;color:#9c8e7f}.ticks .selected{font-weight:800;color:#4e3e30}.frequency p{font-size:11px;color:#968676;margin:14px 0 0}footer{margin-top:25px;text-align:center}.mic{font-size:11px;color:#887665}.mic span:first-child{margin-right:4px}footer p{font-size:9px;color:#aa9b8b;line-height:1.8;margin:11px 0 7px}footer small{font-size:9px;color:#9c8e7e}.unmute{background:#fff3d8;border:1px solid #d5bd94;border-radius:10px;padding:10px;margin-top:15px;font-size:12px}[hidden]{display:none!important}body[data-state=listening] .badge i{background:#739849;box-shadow:0 0 0 3px #73984920}body[data-state=speaking] .mouth{border:0;background:#352015;height:20px;border-radius:45%;animation:talk .22s infinite alternate}body[data-state=speaking] .poop{animation:bob .45s infinite alternate}body[data-state=listening] .stink{animation:steam 3s infinite alternate}body[data-state=error] .badge{background:#f5ded4;color:#8d392d}@keyframes talk{to{height:6px}}@keyframes bob{to{transform:translate(-50%,-4px) rotate(-2deg)}}@keyframes steam{to{opacity:.3;translate:0 -8px}}@media(min-width:650px){main{margin:30px auto;background:#faf6ee;border:1px solid #e6ddd0;border-radius:32px;box-shadow:0 20px 90px #4e392b12;min-height:0;padding:30px 35px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
/* Dark interface; the warm character keeps its own material colors. */
:root{color-scheme:dark;color:#eee8df;background:#141413}
body{background:radial-gradient(ellipse at 50% 32%,#2c251d 0,transparent 65%)}
.brand span,.edition{color:#a59b8e}
.badge{background:#26251f;border-color:#3e392e;color:#cec5b8}
.badge i{background:#a5967d}
.intro{color:#aaa092}.intro em{color:#e0d3ba}
.halo{background:radial-gradient(ellipse,#76512c44,transparent 68%)}
.shadow{background:#0008}.label{color:#a2937e}.stink{color:#776b53}
.quote{color:#d1bea3}.stop{background:#302d27;color:#e1d8ca;border-color:#4a4338!important;box-shadow:0 4px 0 #201e1a}
.controls button:disabled{opacity:.48}.frequency{border-color:#3a352b}
.section-head span{color:#a89a86}input[type=range]{accent-color:#ddea73}
.ticks{color:#a89d8c}.ticks .selected{color:#e4ef91}.frequency p{color:#b3a48e}
.mic{color:#bdb09c}footer p,footer small{color:#a99d8c}
.unmute{background:#3b3221;color:#f5deb6;border-color:#705a36}
body[data-state=listening] .badge i{background:#d4e676;box-shadow:0 0 0 3px #d4e67620}
body[data-state=error] .badge{background:#492820;color:#ffb5a2;border-color:#724336}
@media(min-width:650px){main{background:#1c1b18;border-color:#353127;box-shadow:0 20px 90px #0005}}
.frequency + .frequency{margin-top:22px}
.ticks{gap:8px}.ticks span{flex:1;text-align:center}.ticks span:first-child{text-align:left}.ticks span:last-child{text-align:right}
.settings-toggle,.settings-close{display:grid;place-items:center;width:44px;height:44px;padding:8px;border:0;background:transparent;color:#c9c1b3;font-size:25px}
.settings-toggle{flex-shrink:0;-webkit-appearance:none;appearance:none}.settings-toggle svg{display:block;width:27px;height:27px;transition:transform .2s ease,color .2s ease}
.settings-close{font-size:23px}.settings-toggle:hover,.settings-close:hover{color:#e4ef91}.settings-toggle:hover svg{transform:rotate(25deg)}
.settings-toggle:focus-visible,.settings-close:focus-visible{outline:2px solid #e4ef91;outline-offset:3px}
#settings-panel{position:fixed;inset:0 0 auto;margin:0;width:100%;max-width:none;max-height:100dvh;overflow-y:auto;padding:calc(28px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;border-radius:0;background:#201e19;color:#eee8df;box-shadow:none}
#settings-panel::backdrop{background:#0008;backdrop-filter:blur(3px)}
.settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-head h2{margin:0;font-size:20px}
#settings-panel .frequency{margin-top:28px;padding-top:24px}
@media(min-width:650px){#settings-panel{padding-inline:max(40px,calc((100vw - 720px)/2));padding-block:36px 44px}}
