:root{--bg:radial-gradient(1200px 600px at 12% 14%,#f6f9ff 0%,#f2f6ff 40%,transparent 60%)no-repeat,radial-gradient(800px 400px at 90% 86%,#eef7ff 0%,#f7fbff 45%,transparent 70%)no-repeat,#fff;--text:#0b0d10;--card-bg:rgba(255,255,255,.85);--card-border:rgba(12,18,28,.06);--shadow:0 20px 60px rgba(12,18,28,.1);--primary:#0b0d10;--on-primary:#fff;--btn-secondary-bg:#e9eef6;--btn-secondary-text:#0b0d10;--bubble-default-bg:#e6f0ff;--bubble-default-border:rgba(11,13,16,.08);--bubble-default-text:#0b0d10;--overlay:rgba(6,8,10,.45);--modal-bg:#fff;--modal-border:rgba(12,18,28,.08);--modal-shadow:0 24px 64px rgba(12,18,28,.22);--muted:#6b7280}:root[data-theme=dark]{--bg:radial-gradient(1000px 520px at 15% 12%,#0f141b 0%,#0b0d10 50%,transparent 70%)no-repeat,radial-gradient(900px 480px at 85% 88%,#121823 0%,#0b0d10 45%,transparent 75%)no-repeat,#0b0d10;--text:#e6eaf0;--card-bg:rgba(16,20,26,.8);--card-border:rgba(255,255,255,.06);--shadow:0 20px 60px rgba(0,0,0,.35);--primary:#e6eaf0;--on-primary:#0b0d10;--btn-secondary-bg:#1a2330;--btn-secondary-text:#e6eaf0;--bubble-default-bg:#1f2a3a;--bubble-default-border:rgba(255,255,255,.18);--bubble-default-text:#e6eaf0;--overlay:rgba(0,0,0,.55);--modal-bg:#121822;--modal-border:rgba(255,255,255,.08);--modal-shadow:0 24px 64px rgba(0,0,0,.55);--muted:#9aa3ae}*{box-sizing:border-box}html,body{height:100%}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Inter,Arial,sans-serif;overflow:hidden}.stage{pointer-events:none;z-index:1;position:fixed;top:0;bottom:0;left:0;right:0}.shell{z-index:2;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--card-border);width:100%;max-width:740px;box-shadow:var(--shadow);border-radius:14px;padding:24px 28px}.header{align-items:center;gap:14px;margin-bottom:6px;display:flex}.logo{object-fit:cover;border-radius:10px;width:40px;height:40px}.badge{background:var(--text);color:var(--on-primary);border-radius:999px;padding:4px 10px;font-size:12px}h1{margin:6px 0 0;font-size:28px}p.lead{color:var(--muted);margin:6px 0 0}.theme-toggle{z-index:4;background:var(--btn-secondary-bg);color:var(--btn-secondary-text);cursor:pointer;border:0;border-radius:999px;padding:10px 12px;font-weight:700;position:fixed;top:18px;right:20px}.fab{z-index:3;background:var(--primary);color:var(--on-primary);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:14px 16px;font-weight:700;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 28px rgba(12,18,28,.18)}.fab:active{transform:translateY(1px)}.modal{z-index:4;background:var(--overlay);place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal__dialog{background:var(--modal-bg);border:1px solid var(--modal-border);width:100%;max-width:560px;box-shadow:var(--modal-shadow);border-radius:14px;padding:20px}.modal__title{align-items:center;gap:12px;margin-bottom:10px;display:flex}.form{gap:12px;margin-top:8px;display:grid}label{color:var(--muted);font-size:13px}input,textarea{border:1px solid var(--card-border);width:100%;color:var(--text);background:0 0;border-radius:10px;padding:12px 14px;font-size:14px}textarea{resize:vertical;min-height:92px}.color-row{grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--primary);color:var(--on-primary);cursor:pointer;border:0;border-radius:10px;padding:12px 16px;font-weight:700}.btn.secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.row{grid-template-columns:1fr auto;align-items:start;gap:10px;display:grid}.note{color:var(--muted);margin-top:8px;font-size:12px}.bubble{white-space:normal;text-overflow:clip;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:520px;color:var(--bubble-default-text);background:var(--bubble-default-bg);border:1px solid var(--bubble-default-border);will-change:transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:18px;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.25;position:absolute;overflow:visible;box-shadow:0 10px 30px rgba(12,18,28,.1)}.footer{color:var(--muted);text-align:center;margin-top:10px;font-size:12px}
