@font-face{font-family:Pretendard;src:url(/fonts/pretendard-ui.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Gowun;src:url(/fonts/gowun-ui.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-ui.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{color-scheme:light dark;--bg:#fbf5ea;--surface:#f3e8d6;--text:#3a2c22;--muted:#6b5848;--accent:#9a4a1e;--line:#d4c5ae;--title:Gowun,serif}@media (prefers-color-scheme:dark){:root{--bg:#1f1812;--surface:#2b2119;--text:#f2e6d4;--muted:#c4b199;--accent:#e8a86a;--line:#5a4635}}:root:lang(en){--title:Fraunces,serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100svh;color:var(--text);flex-direction:column;margin:0;font:400 16px/1.7 Pretendard,sans-serif;display:flex}button,input,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{color:inherit;font:inherit}button,a,input{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:7px;border-radius:4px}[hidden]{display:none!important}.site-header,.site-footer{justify-content:space-between;align-items:center;gap:20px;width:100%;display:flex}.site-header{padding:28px 5vw}.brand{font-family:var(--title);align-items:center;gap:10px;font-size:21px;text-decoration:none;display:flex}.brand-mark{color:var(--accent);font:40px/.8 Georgia,serif;transform:translateY(-5px)}.language{color:var(--muted);align-items:center;min-height:44px;font-size:13px;text-decoration:none;display:flex}.site-footer{color:var(--muted);margin-top:auto;padding:24px 5vw 28px;font-size:12px}.site-footer a{text-decoration:none}.bowl-page{text-align:center;align-self:center;width:100%;max-width:1000px;padding:25px 24px 0}.eyebrow{letter-spacing:.2em;color:var(--accent);margin:0 0 18px;font-size:11px}h1,h2{font-family:var(--title);font-weight:400;line-height:1.3}h1{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(30px,4vw,46px)}.intro{color:var(--muted);margin:0;font-size:14px}.instrument{--level:0;--ripple-scale:1;aspect-ratio:1;isolation:isolate;width:min(360px,70vw);margin:56px auto 38px;position:relative}.bowl{cursor:pointer;touch-action:none;user-select:none;filter:drop-shadow(0 20px 18px #39230e30);background:0 0;border:0;border-radius:50%;padding:0;position:absolute;inset:0}.bowl svg{width:100%;height:100%;display:block}.bowl-aura{border:1px solid var(--line);opacity:calc(.18 + var(--level)*.65);transform:scale(var(--ripple-scale));box-shadow:0 0 calc(12px + var(--level)*60px) color-mix(in srgb,var(--accent) 22%,transparent);border-radius:50%;position:absolute;inset:-7%}.bowl-aura:after{content:"";border:1px solid var(--line);opacity:calc(var(--level)*.7);border-radius:50%;position:absolute;inset:-12%}.mallet{pointer-events:none;z-index:3;transform-origin:50% 15%;background:linear-gradient(90deg,#6a3f23,#b67d4c 60%,#624026);border-top:35px solid #573b2c;border-radius:8px;width:15px;height:90px;position:absolute;transform:translate(-50%,-15%)rotate(-25deg);box-shadow:3px 5px 7px #1e100a30}.wake{z-index:2;pointer-events:none;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--text);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13px;line-height:1.5;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(62px - 50%));box-shadow:0 2px 10px #1e100a26}.wake-ring{aspect-ratio:1;z-index:2;pointer-events:none;border:2px solid #f4dca3d9;border-radius:50%;width:22%;animation:2.4s ease-in-out infinite wake-pulse;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px #f4dca380,inset 0 0 10px #f4dca355}.instrument:has(#wake:not([hidden])) .wake-ring{display:block}@keyframes wake-pulse{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(.92)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@media (prefers-reduced-motion:reduce){.wake-ring{opacity:.85;animation:none}}.mute{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 -8px 0 -10px;padding:0;display:grid}.mute .icon-off,.mute[aria-pressed=true] .icon-on{display:none}.mute[aria-pressed=true] .icon-off,.mute .icon-on{display:flex}.guidance{max-width:370px;min-height:82px;color:var(--muted);margin:auto;font-size:13px}.guidance p{margin:0 0 6px}.guidance small{opacity:.85;font-size:11px}.controls{justify-content:center;align-items:center;gap:22px;margin:14px 0 0;display:flex}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.controls svg{width:20px;height:20px;fill:var(--muted)}.volume{align-items:center;gap:12px;min-height:44px;display:flex}.volume span{display:flex}.volume input{width:100px;accent-color:var(--accent);cursor:pointer;height:32px}.audio-status{color:var(--accent);max-width:360px;margin:10px auto;font-size:13px}.about-page{width:min(640px,100%);margin:0 auto;padding:55px 28px 70px}.about-page h1{margin-bottom:30px;font-size:36px}.about-page p{color:var(--muted);line-height:1.95}.about-page h2{margin-top:40px;font-size:24px}.licenses{color:var(--muted);padding-left:20px;font-size:13px}.back{color:var(--accent);margin-top:30px;display:inline-block}.root-page{margin:auto;padding:28px}.root-page nav{gap:30px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=480px){.site-header{padding:20px 24px}.site-footer{align-items:flex-end;padding:24px;font-size:11px}.site-footer span{max-width:130px}.bowl-page{padding-top:20px}.instrument{margin-top:45px;margin-bottom:32px}.guidance{max-width:290px;min-height:92px}.eyebrow{margin-bottom:16px}.about-page{padding-top:35px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.bowl-page{overflow-x:clip}.controls{justify-content:flex-end}:lang(ko){word-break:keep-all;overflow-wrap:anywhere}.rim-feedback{stroke:#ffe4a3;opacity:calc(var(--rim-contact,0)*(.16 + var(--rub-progress,0)*.25));pointer-events:none}.rim-trail{stroke:#fff0c6;stroke-linecap:round;stroke-dasharray:calc(8 + var(--rub-progress,0)*30) 100;opacity:var(--rim-contact,0);transform:rotate(var(--rub-angle,0deg));transform-origin:200px 200px;pointer-events:none}.update-notice{z-index:10;width:max-content;max-width:calc(100% - 32px);position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.update-notice button{background:var(--surface);border:1px solid var(--accent);cursor:pointer;border-radius:30px;padding:12px 20px;font-size:13px;box-shadow:0 4px 22px #39230e25}@media (hover:none) and (pointer:coarse){.keyboard-hint{display:none}}@media (prefers-reduced-motion:reduce){.rim-trail{transform:none}}.session-page{text-align:center;width:min(440px,100%);margin:24px auto 40px;padding:0 28px}.session-page h1{font-size:34px}.session-page .intro{margin-bottom:32px}#session-setup{text-align:left;grid-template-columns:1fr 1fr;align-items:center;gap:18px;display:grid}.session-page .select{display:block;position:relative}.session-page .select:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:16px;transform:translateY(-70%)rotate(45deg)}.session-page select{-webkit-appearance:none;appearance:none;width:100%;min-height:44px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:0;padding:9px 40px 9px 14px;line-height:1.4;display:block}.session-page button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:24px;min-height:44px;padding:10px 24px}.session-note,.session-primary{grid-column:1/-1}.session-note{color:var(--muted);text-align:center;font-size:13px}.session-volume{color:var(--muted);gap:8px;margin:32px auto 0;font-size:13px;display:grid}.session-volume input{width:auto;min-width:0;height:32px;accent-color:var(--accent);flex:1}.session-volume .volume{justify-content:flex-start}.session-page button.mute{background:0 0;border:0;border-radius:50%;min-height:0;padding:0}.volume-icon{place-items:center;width:44px;height:44px;margin:0 -8px 0 -10px;display:grid}.volume-icon svg{width:22px;height:22px;fill:var(--muted)}#remaining{font:400 clamp(54px,15vw,76px)/1.4 var(--title);font-variant-numeric:tabular-nums;margin:28px 0 40px}#wake-warning,#session-resume,#session-error{font-size:13px}#session-resume{margin-top:24px}body:has(#session[data-state=running]){--bg:#1f1812;--surface:#2b2119;--text:#f2e6d4;--muted:#c4b199;--accent:#e8a86a;--line:#5a4635;background:var(--bg);color:var(--text)}.session-page .back{font-size:13px}.stop-bowl{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:24px;min-height:44px;padding:8px 16px;font-size:13px}#sound-muted-notice{color:var(--muted);margin-top:22px;font-size:13px}#sound-muted-notice button{margin-left:8px;padding:8px 16px}.session-page .session-volume{margin-top:22px}.header-links{flex-shrink:0;align-items:center;gap:22px;display:flex}.session-nav{min-height:44px;color:var(--muted);white-space:nowrap;align-items:center;font-size:13px;text-decoration:none;display:flex}.session-nav[aria-current]{color:var(--accent)}.site-header .brand{white-space:nowrap}@media (width<=480px){.site-header{gap:12px}.site-header .brand{gap:8px;font-size:18px}.header-links{gap:12px}.session-nav,.header-links .language{font-size:12px}.controls{gap:12px}.controls>button{flex-shrink:0}}@property --bg{syntax:"<color>";inherits:true;initial-value:#fbf5ea}@property --surface{syntax:"<color>";inherits:true;initial-value:#f3e8d6}@property --text{syntax:"<color>";inherits:true;initial-value:#3a2c22}@property --muted{syntax:"<color>";inherits:true;initial-value:#6b5848}@property --accent{syntax:"<color>";inherits:true;initial-value:#9a4a1e}@property --line{syntax:"<color>";inherits:true;initial-value:#d4c5ae}body:has(#session){--session-color-duration:2s;transition:--bg var(--session-color-duration) ease-in-out,--surface var(--session-color-duration) ease-in-out,--text var(--session-color-duration) ease-in-out,--muted var(--session-color-duration) ease-in-out,--accent var(--session-color-duration) ease-in-out,--line var(--session-color-duration) ease-in-out}body:has(#session[data-transition=finish]){--session-color-duration:3s}body:has(#session[data-transition=cancel]){--session-color-duration:1.2s}body:has(#session[data-transition=instant]){--session-color-duration:0s}body:has(#session) .site-header,body:has(#session) .site-footer{transition:opacity var(--session-color-duration) ease-in-out}body:has(#session[data-state=running]) .site-header,body:has(#session[data-state=running]) .site-footer{opacity:.4}body:has(#session) .site-header:focus-within,body:has(#session) .site-footer:focus-within,body:has(#session) .site-header:active,body:has(#session) .site-footer:active{opacity:1;transition-duration:.2s}.session-panels{isolation:isolate;display:grid}.session-panel{opacity:1;visibility:visible;min-width:0;transition:opacity var(--session-panel-duration,.4s) ease,transform var(--session-panel-duration,.4s) ease,visibility 0s;grid-area:1/1;align-self:start;transform:translateY(0)}.session-panels>.session-panel[hidden]{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s,0s,var(--session-panel-duration,.4s);transform:translateY(8px);display:block!important}.session-panels>#session-setup[hidden]{display:grid!important}#session-done,#session-waiting{align-self:center}.session-readout{display:grid}.session-readout #remaining-label{margin:0 0 12px}.session-readout #remaining{margin:0 0 24px}#session-waiting p{margin:0 0 20px;font-size:14px}#session-progress #wake-warning{margin:0 0 12px}#session-progress #wake-warning[hidden]{visibility:hidden;display:block!important}#session[data-transition=instant] .session-panel{transition:none}.session-notices{font-size:13px}@media (prefers-reduced-motion:reduce){body:has(#session){--session-color-duration:.25s;transition-property:--bg,--surface,--text,--muted,--accent,--line!important;transition-duration:.25s!important}body:has(#session) .site-header,body:has(#session) .site-footer{transition:opacity .25s!important}#session .session-panel{transform:none;transition:opacity .25s,visibility!important}#session .session-panel[hidden]{transition-delay:0s,.25s!important}#session[data-transition=panel] #session-waiting:not([hidden]){transition-delay:.3s,0s!important}body:has(#session[data-transition=instant]){--session-color-duration:0s;transition-duration:0s!important}#session[data-transition=instant] .session-panel{transition:none!important}}.mute svg,.volume-icon svg{width:22px;height:22px;fill:var(--muted)}.volume .volume-icon{display:grid}@media not all and (prefers-color-scheme:dark){#session:is([data-transition=start],[data-transition=finish],[data-transition=cancel]) .session-panel:not([hidden]){transition-duration:calc(var(--session-color-duration)/4),calc(var(--session-color-duration)/4),0s;transition-delay:calc(var(--session-color-duration)/2),calc(var(--session-color-duration)/2),0s;transition-timing-function:ease-out}}#session[data-transition=panel] #session-waiting:not([hidden]){transition-delay:.3s,.3s,0s}
