@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap";:root{color:#163b42;font-synthesis:none;background:#e8f2ed;font-family:Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation;border:0}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}header{padding:calc(20px + env(safe-area-inset-top)) 28px 20px;pointer-events:none;z-index:2;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:.15em;color:inherit;pointer-events:auto;font-size:18px;font-weight:900;text-decoration:none}.brand span{letter-spacing:.12em;margin-top:5px;font-size:10px;font-weight:500;display:block}.badge{letter-spacing:.12em;background:#f6fff9b8;border:1px solid #69928b66;border-radius:30px;padding:9px 12px;font-size:10px;font-weight:700}.welcome{z-index:2;max-width:580px;position:fixed;top:25vh;left:7vw}.eyebrow{letter-spacing:.15em;color:#48867f;font-size:10px;font-weight:700}h1{letter-spacing:-.05em;margin:20px 0;font-size:clamp(32px,4vw,58px);line-height:1.4}h1 em{color:#168d91;font-style:normal}.welcome>p:not(.eyebrow){font-size:14px;line-height:2}.primary{color:#fff;background:#126a70;border-radius:14px;padding:16px 27px;font-weight:700;box-shadow:0 7px 24px #16494e22}.welcome .primary{min-width:260px;margin-top:24px}.note{color:#647d7d;font-size:10px!important}.quiet{color:#285d60;text-underline-offset:5px;background:0 0;padding:12px 0;font-size:12px;text-decoration:underline}.status{left:50%;bottom:calc(32px + env(safe-area-inset-bottom));z-index:4;text-align:center;background:#f5fff4e8;border-radius:30px;width:max-content;max-width:90vw;padding:10px 18px;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 2px 15px #183a3020}.actions{right:22px;bottom:calc(65px + env(safe-area-inset-bottom));z-index:5;flex-direction:column;align-items:stretch;gap:10px;display:flex;position:fixed}.pill{color:#235858;text-align:center;background:#f4fff5ed;border-radius:14px;padding:12px 16px;font-size:12px}.size select{color:inherit;background:0 0;border:0;max-width:80px}.stick{left:30px;bottom:calc(80px + env(safe-area-inset-bottom));touch-action:none;-webkit-user-select:none;user-select:none;z-index:5;background:#e5fffb72;border:1px solid #fffc;border-radius:50%;place-items:center;width:144px;height:144px;display:grid;position:fixed;box-shadow:inset 0 0 30px #3bc3ba22,0 8px 35px #072f3b22}.cross{border:1px dashed #256f6d55;border-radius:50%;width:80px;height:80px}.knob{pointer-events:none;background:radial-gradient(circle at 32% 25%,#efffff,#69dcd3 55%,#26a4a9);border-radius:50%;width:66px;height:66px;transition:transform 55ms linear;position:absolute;box-shadow:0 5px 12px #0a65614d,inset 0 -3px 7px #04697444}.stick-caption{left:30px;bottom:calc(47px + env(safe-area-inset-bottom));text-align:center;color:#204c50;z-index:5;width:144px;font-size:11px;position:fixed}.stick-caption span{margin-top:3px;font-size:8px;display:block}footer{color:#537878;z-index:6;justify-content:space-between;font-size:9px;display:flex;position:fixed;bottom:10px;left:28px;right:28px}footer button{color:inherit;background:0 0;padding:3px;font-size:9px}dialog{color:#204649;border:0;border-radius:22px;max-width:min(90vw,420px);padding:28px;box-shadow:0 20px 100px #0005}dialog p{font-size:13px;line-height:1.8}dialog::backdrop{background:#092c37aa}dialog a{color:#126a70}body.playing .status{top:calc(90px + env(safe-area-inset-top));bottom:auto}body.ar header,body.ar footer{color:#fff;text-shadow:0 1px 6px #0008}body.ar .stick-caption{color:#fff;text-shadow:0 1px 5px #000}body.ar .badge{color:#134544;text-shadow:none}@media (width<=600px){header{padding:calc(18px + env(safe-area-inset-top)) 20px 16px}.welcome{max-width:none;inset:auto 24px 95px}.eyebrow{font-size:8px}h1{margin:8px 0;font-size:32px}.welcome>p:not(.eyebrow){margin:10px 0;font-size:12px;line-height:1.7}.welcome .primary{width:100%;margin-top:10px;padding:15px}.note{font-size:9px!important}.quiet{padding:4px 0}.stick{width:136px;height:136px;left:22px}.stick-caption{left:18px}.actions{right:18px}.status{font-size:10px}footer{left:20px;right:20px}}@media (height<=650px){.welcome{bottom:55px}.note,.eyebrow{display:none}.welcome h1{font-size:25px}.stick{width:112px;height:112px;bottom:60px}.stick-caption{bottom:32px}.actions{bottom:45px}}.expressions-panel{z-index:7;color:#204c50;background:#f4fff8f5;border-radius:20px;width:280px;max-height:calc(100dvh - 440px);padding:16px 18px;position:fixed;top:150px;right:22px;overflow:auto;box-shadow:0 10px 40px #123e4426}.panel-heading{justify-content:space-between;align-items:center;display:flex}.panel-heading .pill{padding:4px 12px;font-size:22px}.expressions-panel p{color:#537878;margin:0 0 15px;font-size:10px}.pose-label{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.pose-label select{max-width:160px;color:inherit;background:#fff;border:1px solid #b6d8ce;border-radius:8px;flex:1;padding:5px}.strength{align-items:center;gap:10px;margin:4px 0 12px;display:flex}.strength input{accent-color:#168d91;flex:1;min-width:0}.strength output{width:35px;font-size:11px}.panel-buttons{gap:5px;display:flex}.panel-buttons .pill{flex:1;padding:8px;font-size:11px}.actions #jump{padding:16px}.stick-caption strong{font-weight:500}@media (width<=600px){.expressions-panel{width:245px;max-height:calc(100dvh - 405px);padding:12px;top:145px;right:12px}.actions{gap:6px;right:12px}.actions .pill{padding:9px 12px}.actions #jump{padding:13px}.stick-caption span{font-size:7px}}@media (height<=650px){.expressions-panel{max-height:calc(100dvh - 110px);top:70px;right:150px}}@media (width<=600px){.expressions-panel{width:auto;max-height:245px;inset:auto 12px 245px}.panel-heading{background:#f4fff8;position:sticky;top:-12px}.expressions-panel p{margin-bottom:8px}}.header-tools{pointer-events:auto;align-items:center;gap:8px;display:flex}.menu-button{padding:8px 13px;font-size:20px}.field{flex-direction:column;gap:7px;margin:16px 0;font-size:13px;display:flex}.field input,.field select{width:100%;min-width:0;font:inherit;color:#204649;background:#fff;border:1px solid #9ebfb7;border-radius:10px;padding:12px}#settings{width:440px;max-height:85dvh;overflow:auto}.settings-note{color:#54706b;font-size:11px!important}.chat-panel{z-index:8;color:#204c50;background:#f4fff8f5;border-radius:20px;width:350px;max-height:calc(100dvh - 390px);padding:16px;position:fixed;top:140px;left:24px;overflow:auto;box-shadow:0 8px 35px #123e4426}#chat-messages{overscroll-behavior:contain;max-height:220px;overflow:auto}#chat-messages p{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;margin:10px 0;padding:10px 12px;font-size:13px;line-height:1.7}#chat-messages .user{background:#d5eee6;margin-left:25px}#chat-messages .assistant{background:#fff;margin-right:15px}#chat-status{color:#51776d;font-size:11px;line-height:1.6}#chat-form{gap:8px;display:flex}#chat-input{border:1px solid #abd0c7;border-radius:12px;flex:1;width:100%;min-width:0;padding:10px;font-size:16px}#chat-send{padding:10px 14px}.chat-tools{justify-content:space-between;gap:8px;display:flex}.chat-tools button{padding:10px 0;font-size:10px}.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<=600px){.header-tools{gap:5px}.header-tools .badge{display:none}.header-tools .pill{padding:8px 10px}.chat-panel{width:auto;max-height:calc(100dvh - 390px);top:135px;left:12px;right:12px}#chat-messages{max-height:150px}}@media (height<=650px){.chat-panel{max-height:calc(100dvh - 110px);top:80px;left:12px}#chat-messages{max-height:100px}}#speech-level{accent-color:#168d91;width:100%;height:5px;margin:0 0 10px;display:block}@media (width<=600px){.chat-panel{max-height:max(220px,100dvh - 390px)}}.grounding-sources{margin-top:10px;display:block}.grounding-sources a,.grounding-sources small{overflow-wrap:anywhere;margin:6px 0;display:block}.grounding-sources iframe{background:#fff;border:0;border-radius:8px;width:100%;height:180px}
