:root{--bg:#f6f5fa;--bg-elevated:#fff;--fg:#16132b;--ink:#16132b;--muted:#66637c;--mint:#0f8f62;--accent:#ff3b14;--accent-strong:#e02c07;--accent-2:#ff5a1f;--accent-3:#ff7a45;--accent-wash:#fff1eb;--gradient:linear-gradient(135deg,#ff5a1f,#ff3b14);--gradient-text:linear-gradient(135deg,#ff5a1f,#ff3b14);--line:#e8e6ee;--danger:#e11d48;--success:#059669;--radius:10px;--shadow:0 14px 30px -20px rgba(22,19,43,.2);--font-display:"Wanted Sans Variable","Wanted Sans","Apple SD Gothic Neo","Malgun Gothic",sans-serif;--font-body:var(--font-display)}:root:lang(ja){--font-display:"Wanted Sans Variable","Wanted Sans","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif}:root:lang(zh){--font-display:"Wanted Sans Variable","Wanted Sans","PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif}:lang(ja),:lang(zh){word-break:normal;letter-spacing:0}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--fg);background:var(--bg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;word-break:keep-all;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html.chat-viewport-lock,html.chat-viewport-lock body{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.25rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,opacity .15s ease;font-weight:700}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btnPrimary{background:var(--gradient);color:#fff;box-shadow:0 14px 26px -14px rgba(255,59,20,.7)}.btnPrimary:hover{opacity:.94}.btnGhost{background:#fff;border-color:#e8e6ee;color:#3a3852;box-shadow:var(--shadow)}.btnGhost:hover{border-color:#ffb199;color:var(--accent)}.btnDanger{background:#fff;border-color:#fecdd3;color:var(--danger)}.btnSm{padding:.38rem .72rem;font-size:.78rem;font-weight:600;border-radius:10px;gap:.3rem}.btnSm:hover{transform:none}.errorText{color:var(--danger);font-size:.85rem}.successText{color:var(--success);font-size:.85rem}