:root{color:#17324d;background:#e8eee8;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(rgba(23,50,77,.045) 1px,transparent 1px) 0 0 / 100% 28px,#e8eee8}button,input,textarea{font:inherit}.formula-tools{margin-top:12px;border-block:1px solid #c5d0c8;padding:10px 0 12px}.formula-tools summary{width:max-content;cursor:pointer;color:#17324d;font-weight:700}.formula-tools>p{margin-top:7px;color:#637382;font-size:12px}.formula-tabs{display:flex;gap:4px;margin:12px 0 10px;overflow-x:auto;scrollbar-width:thin}.formula-tab{flex:0 0 auto;min-height:36px;border:0;border-bottom:2px solid transparent;padding:0 10px;background:transparent;color:#526575;cursor:pointer}.formula-tab.active{border-bottom-color:#2d6a4f;color:#17324d;font-weight:700}.formula-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:7px}.formula-symbol{min-height:42px;border:1px solid #a8b5ac;border-radius:5px;padding:4px 6px;background:#fff;color:#17324d;cursor:pointer;font-family:"Cambria Math","STIX Two Math",Times New Roman,serif;font-size:17px}.formula-symbol:disabled{cursor:not-allowed;opacity:.45}.color-picker{margin:16px 0 0;border:0;padding:0}.color-picker legend{margin-bottom:9px;color:#3f5365;font-size:14px;font-weight:650}.color-options{display:flex;flex-wrap:wrap;gap:8px}.color-option{display:grid;justify-items:center;gap:4px;margin:0;color:#526575;font-size:11px;font-weight:600;cursor:pointer}.color-option input{position:absolute;width:1px;height:1px;margin:-1px;opacity:0}.color-option:before{content:"";width:28px;height:28px;border:2px solid #fff;border-radius:50%;background:var(--swatch, linear-gradient(135deg, #fff 0 48%, #17324d 52%));box-shadow:0 0 0 1px #87978c}.color-option:has(input:checked):before{box-shadow:0 0 0 3px #e9b949,0 0 0 5px #17324d}.color-option:focus-within:before{outline:3px solid rgba(233,185,73,.65);outline-offset:3px}button,input,textarea{border-radius:6px}.page-shell{width:min(100%,560px);margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:22px}.brand-mark{display:grid;width:48px;height:48px;place-items:center;border:2px solid #17324d;border-radius:50%;background:#f7f8f3;font-size:22px;font-weight:700}h1,h2,p{margin:0}h1{font-size:clamp(24px,7vw,32px);letter-spacing:-.03em}h2{margin-bottom:24px;font-size:20px}.status{display:flex;align-items:center;gap:7px;margin-top:5px;color:#536575;font-size:14px}.status-dot{width:9px;height:9px;border-radius:50%;background:#e9b949}.status-connected .status-dot{background:#2d6a4f}.status-ended .status-dot,.status-failed .status-dot{background:#b42318}.writing-surface{position:relative;padding:22px 20px 26px 34px;border:1px solid #b9c4bd;border-left:5px solid #2d6a4f;border-radius:4px 12px 12px 4px;background:linear-gradient(#dfe8e1 1px,transparent 1px) 0 58px / 100% 32px,#f7f8f3;box-shadow:0 14px 38px #17324d1c}.room-row{padding-bottom:24px;border-bottom:2px solid #17324d}.room-control{display:grid;grid-template-columns:1fr auto;gap:10px}form{padding-top:24px}label{display:flex;justify-content:space-between;margin:0 0 8px;color:#3f5365;font-size:14px;font-weight:650}input,textarea{width:100%;border:1px solid #9aa9a0;background:#ffffffeb;color:#17324d;outline:none}input{height:46px;padding:0 13px;margin-bottom:20px}#room{margin-bottom:0;text-transform:uppercase;letter-spacing:.12em;font-variant-numeric:tabular-nums;font-weight:700}textarea{min-height:124px;padding:13px;resize:vertical;line-height:1.6}input:focus,textarea:focus,button:focus-visible{outline:3px solid rgba(233,185,73,.65);outline-offset:2px}.button{min-height:46px;border:0;padding:0 18px;cursor:pointer;font-weight:700}.button:disabled{cursor:not-allowed;opacity:.48}.button-primary{width:100%;min-height:52px;background:#17324d;color:#fff}.button-secondary{align-self:start;background:#2d6a4f;color:#fff}.feedback{min-height:24px;margin:10px 0;font-size:14px}.feedback[data-tone=success]{color:#2d6a4f}.feedback[data-tone=error]{color:#b42318}.privacy-note{max-width:46ch;margin:16px auto 0;color:#536575;font-size:13px;line-height:1.6;text-align:center}@media(max-width:380px){.writing-surface{padding-left:22px}.room-control{grid-template-columns:1fr}.button-secondary{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
