:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#241b4e;background:#f9f6ff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b5a6f6;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.sc-shell{width:100%;max-width:var(--app-width,560px);height:100dvh;min-height:400px;margin:auto;display:grid;grid-template-rows:auto auto 1fr auto;background:radial-gradient(ellipse at top right,#e9e2ff,transparent 60%),#faf7ff}.sc-head{display:flex;align-items:center;justify-content:space-between;padding:calc(15px + env(safe-area-inset-top,0px)) 18px 14px;background:#ffffffb5;border-bottom:1px solid #fff;backdrop-filter:blur(12px);gap:10px}.sc-head h1{font-size:17px;margin:0 0 4px}.sc-head small{font-size:10px;color:#9c8caf}.sc-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:#f0eafd;color:#7056c5;flex-shrink:0}.sc-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sc-info{padding:12px 17px;background:#f3edffbb;color:#8f7ca7;font-size:11px;line-height:1.8}.sc-info p{margin:0 0 6px}.sc-tools{display:flex;gap:8px;align-items:center}.sc-tools select{min-width:0;flex:1;border:1px solid #eee3fa;border-radius:9px;padding:7px;background:#fff9;color:#806595;font-size:11px}.sc-tools button{border:0;background:#eee7fb;color:#785bbd;padding:7px 9px;border-radius:9px;font-size:11px}.sc-scroll{overflow:auto;overscroll-behavior:contain;padding:20px 16px;display:flex;flex-direction:column;gap:18px;scroll-behavior:smooth}.sc-start{max-width:90%;text-align:center;margin:25px auto;color:#a392b6;font-size:12px;line-height:1.9}.sc-row{display:flex;align-items:flex-end;gap:8px;max-width:92%}.sc-row.self{align-self:flex-end;flex-direction:row-reverse}.sc-face{width:29px;height:29px;background:#e9e2ff;color:#8667d8;border-radius:11px;display:grid;place-items:center;flex-shrink:0;font-size:11px}.sc-bubble{background:#fff;border:1px solid #fff;border-radius:16px 16px 16px 4px;padding:11px 13px;box-shadow:0 4px 18px #7b69a505;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;min-width:60px}.self .sc-bubble{background:#6850df;color:#fff;border-color:#6850df;border-radius:16px 16px 4px 16px}.sc-stamp{color:#ab9bbc;font-size:9px;margin-top:5px}.self .sc-stamp{text-align:right}.sc-compose{padding:12px 15px calc(14px + env(safe-area-inset-bottom,0px));background:#fffffff0;border-top:1px solid #fff;box-shadow:0 -8px 25px #947dad06}.sc-compose form{display:flex;align-items:flex-end;gap:10px}.sc-compose textarea{resize:none;min-width:0;flex:1;min-height:48px;max-height:110px;border:1px solid #eee5fc;border-radius:14px;background:#f8f4ff;padding:12px;color:#34225b;font-size:13px}.sc-primary{border:0;border-radius:14px;color:#fff;background:linear-gradient(110deg,#4021cf,#7b66ec);padding:14px 18px;flex-shrink:0;font-weight:650;font-size:12px}.sc-hint{font-size:9px;color:#b0a2bc;margin:8px 0 0;text-align:center}.sc-status{font-size:11px;line-height:1.8;color:#a07581;margin:0 0 8px}.sc-new{font-size:11px;color:#795dc3;border:0;background:#eee7fc;border-radius:12px;padding:7px 12px;align-self:center}.sc-dot{width:6px;height:6px;border-radius:50%;background:#b1a1c7;display:inline-block;margin-right:5px}.sc-dot.online{background:#20b48b}[hidden]{display:none!important}@media(min-width:601px){.sc-shell{height:calc(100dvh - 40px);margin-top:20px;max-width:560px;border:1px solid #fff;border-radius:24px;overflow:hidden;box-shadow:0 14px 70px #6951a00d}.sc-head{padding-top:18px}}@media(prefers-reduced-motion:reduce){.sc-scroll{scroll-behavior:auto}}

/* iOS focuses controls below 16px by zooming the visual viewport. Keep pinch zoom enabled. */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  html body :is(input:not([type="checkbox"], [type="radio"], [type="hidden"], [type="range"], [type="button"], [type="submit"], [type="reset"], [type="file"], [type="color"], [type="image"]), textarea, select, [contenteditable]:not([contenteditable="false"])) {
    font-size: max(16px, var(--mobile-input-font-size, 1em)) !important;
  }
}
