:root{--ui-bottom:clamp(10px, 2.2vmin, 22px);--ui-side:clamp(10px, 2.5vmin, 18px);--ui-gap:clamp(6px, 1.5vmin, 10px);--ui-stack-width:92%;--ui-stack-max:780px;--ui-touch-min:44px;--fs-ui:clamp(.875rem, .78rem + .45vw, 1.0625rem);--fs-input:clamp(.9rem, .82rem + .55vw, 1.125rem);--fs-placeholder:clamp(.82rem, .75rem + .35vw, 1.05rem);--fs-burn:clamp(.85rem, .78rem + .4vw, 1.02rem);--pad-input-y:clamp(10px, 1.8vmin, 16px);--pad-input-x:clamp(12px, 2.2vmin, 18px);--radius-ui:clamp(8px, 1.2vmin, 10px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--canvas-overflow-scale:1.15}html{-webkit-text-size-adjust:100%;font-size:100%}body{-webkit-tap-highlight-color:transparent;background-color:#050510;width:100%;min-height:100dvh;margin:0;overflow:hidden}#canvas-viewport{z-index:0;pointer-events:auto;touch-action:none;position:fixed;inset:0;overflow:hidden}#renderCanvas{width:calc(100vw * var(--canvas-overflow-scale));height:calc(100vh * var(--canvas-overflow-scale));touch-action:none;max-width:none;max-height:none;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#bottom-ui-stack{bottom:calc(var(--ui-bottom) + var(--safe-bottom));width:min(var(--ui-stack-width), calc(100vw - var(--safe-left) - var(--safe-right) - 8px));max-width:var(--ui-stack-max);z-index:100;align-items:stretch;gap:var(--ui-gap);pointer-events:none;box-sizing:border-box;flex-direction:column;display:flex;position:absolute;left:50%;overflow:visible;transform:translate(-50%)}#bottom-ui-stack>*{pointer-events:auto}#bottom-toolbar-row{box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex;overflow:visible}#theme-panel-mount{z-index:110;flex:none;justify-content:flex-start;align-items:flex-start;width:auto;min-width:0;max-width:100%;display:flex;overflow:visible}.theme-bar{vertical-align:top;width:fit-content;max-width:100%;box-shadow:none;box-sizing:border-box;background:0 0;border:none;display:inline-block;position:relative;overflow:visible;container:theme-bar/inline-size}.theme-toggle-btn{z-index:1;box-sizing:border-box;width:fit-content;min-height:var(--ui-touch-min);color:#ffffffeb;letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:#282624f5;border:1px solid #ffffff24;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:clamp(8px,1.4vmin,10px) clamp(12px,2vmin,16px);font-size:12px;font-weight:700;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative;box-shadow:0 2px 10px #0006}.theme-toggle-btn:hover{color:#fff;background:#3c3834fa}.theme-bar.is-open .theme-toggle-btn{color:#fff;background:#ff7b0061;border-color:#ffc88c73;box-shadow:0 2px 14px #ff780040}.theme-expand{z-index:2;width:max-content;max-width:min(280px, calc(100vw - var(--safe-left) - var(--safe-right) - 24px));transform-origin:0 100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s,visibility .22s;position:absolute;bottom:calc(100% + 12px);left:0;transform:translateY(8px)scale(.97)}.theme-bar.is-open .theme-expand{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.theme-expand-inner{width:100%;min-width:0;max-width:min(280px, calc(100vw - var(--safe-left) - var(--safe-right) - 24px));box-sizing:border-box;-webkit-overflow-scrolling:touch;background:linear-gradient(165deg,#faf6f0 0%,#ebe2d6 100%);border:1px solid #2d262033;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px 10px;max-height:min(280px,45vh);padding:12px 14px 14px;display:grid;position:relative;overflow:hidden auto;box-shadow:0 14px 44px #00000061,0 4px 14px #0003,inset 0 1px #ffffffb3}.theme-expand-inner:after{content:"";filter:drop-shadow(0 2px 1px #0000001f);border-top:10px solid #e8dfd3;border-left:10px solid #0000;border-right:10px solid #0000;width:0;height:0;position:absolute;bottom:-9px;left:50cqw;transform:translate(-50%)}.theme-btn{min-height:var(--ui-touch-min);cursor:pointer;color:#f5f5f5;background:#3d3d42;border:1px solid #0003;border-radius:6px;margin:0;padding:clamp(8px,1.4vmin,10px) clamp(10px,1.8vmin,14px);font-size:12px;font-weight:600;transition:background .2s,border-color .2s}.theme-btn:hover{background:#666}.theme-btn.active{background:#ff7b00;font-weight:700}#chat-container{z-index:100;pointer-events:auto;background:0 0;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:none;display:flex;position:relative;bottom:auto;left:auto;transform:none}.chat-input-row{flex:auto;align-items:stretch;width:100%;min-width:0;display:flex}.chat-composer{box-sizing:border-box;background:#1c1c1ef5;border:1px solid #ffffff1f;border-radius:26px;flex-direction:row;align-items:flex-end;gap:6px;width:100%;min-width:0;padding:10px 12px;display:flex;box-shadow:0 4px 20px #00000073}.chat-composer:focus-within{border-color:#ff7b0073;box-shadow:0 4px 22px #00000080}.chat-field-slot{flex-direction:column;flex:1;justify-content:center;gap:10px;min-width:0;display:flex}#chatInput.is-hidden{display:none!important}.chat-burn-progress{box-sizing:border-box;background:#0000009e;border:1px solid #ffffff38;border-radius:10px;flex-grow:1;min-width:0;min-height:52px;position:relative;overflow:hidden;box-shadow:0 4px 10px #00000059}.chat-burn-progress.is-hidden{display:none!important}.chat-burn-progress-track{background:#1e1e20f2;border-radius:9px;position:absolute;inset:0;overflow:hidden}.chat-burn-progress-fill{background:linear-gradient(90deg,#b43700eb 0%,#ff7b00f2 45%,#ffaa50e6 100%);border-radius:0 8px 8px 0;width:0%;height:100%;transition:width .12s linear;box-shadow:inset 0 0 24px #ffc87859}.chat-burn-progress-label{z-index:1;padding:var(--pad-input-y) var(--pad-input-x);min-height:clamp(44px,8vmin,52px);font-size:var(--fs-burn);color:#fffffff2;text-align:center;text-shadow:0 0 10px #000000f2,0 1px 3px #000000e6;pointer-events:none;box-sizing:border-box;justify-content:center;align-items:center;margin:0;font-weight:600;line-height:1.45;display:flex;position:relative}#chatInput{width:100%;min-width:0;min-height:calc(var(--ui-touch-min) - 8px);color:#fff;font-size:var(--fs-input);box-shadow:none;background:0 0;border:none;border-radius:0;flex-grow:1;margin:0;padding:6px 4px;transition:color .2s}#chatInput::placeholder{color:#ffffff73;font-size:var(--fs-placeholder)}#chatInput:focus{outline:none}#sendChatBtn.chat-send-btn{color:#fff;cursor:pointer;background:#ff7b00;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;transition:opacity .2s,transform .2s,width .2s,min-width .2s,margin .2s,background .2s;display:flex;box-shadow:0 2px 10px #ff780059}#sendChatBtn.chat-send-btn.is-hidden{opacity:0;pointer-events:none;border-width:0;width:0;min-width:0;margin:0;padding:0;overflow:hidden;transform:scale(.92)}.chat-send-icon{pointer-events:none;display:block}#sendChatBtn.chat-send-btn:hover:not(:disabled):not(.is-hidden){background:#ff9533}#sendChatBtn.chat-send-btn:disabled{color:#ffffff73;cursor:not-allowed;box-shadow:none;opacity:.85;background:#5a5a5cd9}.chat-vol-row{align-items:center;gap:10px;min-width:0;display:flex}.chat-vol-label{font-size:var(--fs-ui);letter-spacing:.02em;color:#ffffffe6;text-align:right;flex:0 0 clamp(2.5rem,8vw,2.75rem);font-weight:600}input.chat-vol-slider[type=range]{appearance:none;cursor:pointer;background:#fff3;border-radius:4px;flex:120px;width:140px;min-width:100px;height:7px}input.chat-vol-slider[type=range]::-webkit-slider-thumb{appearance:none;background:#ff7b00;border:2px solid #ffffffe6;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000059}input.chat-vol-slider[type=range]::-moz-range-thumb{background:#ff7b00;border:2px solid #ffffffe6;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000059}input.chat-vol-slider[type=range]::-moz-range-track{background:#fff3;border-radius:4px;height:7px}#volume-wrap{z-index:110;flex-shrink:0;position:relative}body>#volume-wrap{bottom:calc(var(--ui-bottom) + var(--safe-bottom));right:max(var(--ui-side), var(--safe-right));z-index:200;position:fixed}.volume-speaker-btn{width:var(--ui-touch-min);height:var(--ui-touch-min);min-width:var(--ui-touch-min);min-height:var(--ui-touch-min);border-radius:var(--radius-ui);cursor:pointer;color:#ffffffe0;background:#000000a6;border:1px solid #ffffff1f;justify-content:center;align-items:center;margin:0;padding:0;transition:background .2s,border-color .2s,color .2s;display:flex;box-shadow:0 4px 16px #00000080}.volume-speaker-btn:hover{color:#fff;background:#000000d1;border-color:#ffffff40}.volume-speaker-btn.is-active{color:#fc9;background:#ff7b0047;border-color:#ffb46473}.volume-speaker-icon{pointer-events:none;display:block}.volume-paper{min-width:min(240px, calc(100vw - var(--ui-side) * 2 - 8px));max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 16px);opacity:0;pointer-events:none;background:#141210f2;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:12px;padding:clamp(10px,2vmin,14px) clamp(12px,2.2vmin,16px);transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(8px)scale(.96);box-shadow:0 8px 28px #0009}.volume-paper.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}#today-logs-count.today-logs-count{top:max(var(--ui-side), var(--safe-top));right:max(var(--ui-side), var(--safe-right));z-index:200;color:#fff;max-width:min(92vw,22rem);font-size:var(--fs-ui);text-align:right;pointer-events:none;text-shadow:0 0 8px #000000e6,0 1px 3px #000000d9;box-sizing:border-box;margin:0;padding:0;font-weight:600;line-height:1.35;position:fixed}#hamburger-wrap{top:max(var(--ui-side), var(--safe-top));left:max(var(--ui-side), var(--safe-left));z-index:200;position:absolute}#hamburger-btn{width:var(--ui-touch-min);height:var(--ui-touch-min);min-width:var(--ui-touch-min);min-height:var(--ui-touch-min);border-radius:var(--radius-ui);cursor:pointer;background:#000000a6;border:1px solid #ffffff1f;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;transition:background .2s,border-color .2s;display:flex;box-shadow:0 4px 16px #00000080}#hamburger-btn:hover{background:#000000d1;border-color:#ffffff40}#hamburger-btn .hamburger-line{background:#ffffffe0;border-radius:2px;width:22px;height:2.5px;transition:transform .3s,opacity .3s;display:block}#hamburger-btn.is-active .hamburger-line:first-child{transform:translateY(7.5px)rotate(45deg)}#hamburger-btn.is-active .hamburger-line:nth-child(2){opacity:0}#hamburger-btn.is-active .hamburger-line:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}#side-menu-paper{opacity:0;pointer-events:none;background:#141210f2;border:1px solid #ffffff1f;border-radius:10px;min-width:180px;padding:6px 0;transition:opacity .2s,transform .2s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-6px)scale(.96);box-shadow:0 8px 28px #0009}#side-menu-paper.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.side-menu-list{margin:0;padding:0;list-style:none}.side-menu-item{margin:0}.side-menu-link{width:100%;min-height:var(--ui-touch-min);text-align:left;font-size:var(--fs-ui);color:#ffffffd1;cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:0 0;border:none;padding:clamp(10px,1.6vmin,12px) clamp(16px,3vmin,22px);font-weight:600;transition:background .15s,color .15s;display:block}.side-menu-link:hover{color:#ffaa50;background:#ff7b0024}.legal-modal-backdrop{z-index:400;padding:clamp(12px,3vmin,24px) clamp(12px,2.5vmin,16px);padding-bottom:max(clamp(12px, 3vmin, 24px), var(--safe-bottom));opacity:0;pointer-events:none;background:#000000b8;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.legal-modal-backdrop.is-visible{opacity:1;pointer-events:auto}.legal-modal-dialog{background:#121016fa;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:min(86vh,720px);display:flex;overflow:hidden;box-shadow:0 16px 48px #000000a6}.legal-modal-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;display:flex}.legal-modal-title{color:#fffffff2;letter-spacing:.02em;margin:0;font-size:clamp(1rem,.92rem + .4vw,1.125rem);font-weight:700}.legal-modal-close{color:#ffffffd9;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;flex-shrink:0;width:40px;height:40px;padding:0;font-size:1.5rem;line-height:1;transition:background .15s,color .15s}.legal-modal-close:hover{color:#fff;background:#ff7b0040}.legal-modal-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:8px 20px 24px;overflow:hidden auto}.legal-section-heading{color:#ffaa50;letter-spacing:.03em;border-bottom:1px solid #ff7b0059;margin:0 0 4px;padding:0 0 10px;font-size:1.05rem;font-weight:800}.legal-section-heading--divider{border-top:1px solid #ffffff1a;margin-top:28px;padding-top:22px}.legal-article{color:#ffffffd1;font-size:clamp(.8rem,.74rem + .3vw,.9rem);line-height:1.65}.legal-article .legal-meta{color:#ffffff73;margin:0 0 14px;font-size:.82rem}.legal-article h3{color:#ffffffeb;margin:18px 0 8px;font-size:.98rem;font-weight:700}.legal-article h3:first-of-type{margin-top:0}.legal-article p{margin:0 0 10px}.legal-article ol,.legal-article ul{margin:0 0 12px;padding-left:1.35rem}.legal-article li{margin-bottom:6px}.legal-article .legal-email{color:#ffc88cf2;-webkit-user-select:text;user-select:text;font-family:ui-monospace,monospace}@media (width<=320px){:root{--ui-bottom:8px;--ui-side:6px;--ui-stack-width:98%;--ui-stack-max:100%;--ui-touch-min:48px;--ui-gap:6px}.theme-expand-inner{max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 16px)}input.chat-vol-slider[type=range]{width:min(160px,55vw)}.legal-modal-dialog{max-height:min(88dvh,92vh)}}@media (width>=321px) and (width<=480px){:root{--ui-bottom:12px;--ui-side:10px;--ui-stack-width:94%;--ui-stack-max:100%;--ui-touch-min:44px}}@media (width>=481px) and (width<=834px){:root{--ui-bottom:clamp(14px, 2vmin, 20px);--ui-side:clamp(14px, 2.2vmin, 18px);--ui-stack-max:720px}}@media (width>=835px) and (width<=1279px){:root{--ui-stack-max:760px}}@media (width>=1280px){:root{--ui-stack-max:800px}}@media (orientation:landscape) and (height<=520px){:root{--ui-bottom:6px;--ui-gap:6px;--pad-input-y:8px}#bottom-ui-stack{gap:6px}.chat-burn-progress,.chat-burn-progress-label{min-height:40px}.chat-burn-progress-label{padding:8px 12px;font-size:clamp(.78rem,2.2vmin,.9rem)}.legal-modal-dialog{max-height:min(92dvh,95vh)}}@media (orientation:landscape) and (width<=896px) and (height<=500px){:root{--ui-touch-min:44px}.chat-input-row{flex-wrap:nowrap}body>#volume-wrap{bottom:calc(var(--ui-bottom) + var(--safe-bottom))}}@media (hover:none) and (pointer:coarse){.theme-btn,.theme-toggle-btn,#sendChatBtn,.volume-speaker-btn,#hamburger-btn{min-height:var(--ui-touch-min)}}
