:root{--primary-color:#dcdc46;--accent-color:#e14e2a;--text-color:#555;--light-text-color:#fff;--bg-color:#fff;--chat-bg-user:#f0f0f0;--chat-bg-bot:#fffde7;--border-color:#e0e0e0;--header-height:60px}*{box-sizing:border-box;padding:0;margin:0}body{font-family:Inter,Noto Sans JP,sans-serif;background-color:var(--bg-color);line-height:1.6;-webkit-font-smoothing:antialiased}a,body{color:var(--text-color)}a{text-decoration:none;transition:opacity .2s}a:hover{opacity:.7}.container{max-width:100%;height:100vh;display:flex;flex-direction:column;background-color:#f9f9f9}.header{height:var(--header-height);background-color:#fff;justify-content:center;border-bottom:1px solid var(--border-color);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px rgba(0,0,0,.02)}.header,.header-content{display:flex;align-items:center}.header-content{gap:10px}.logo-text{font-family:Inter,sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:.05em;color:var(--text-color);text-transform:uppercase}.logo-sub{font-size:.8rem;color:#888;margin-left:10px;border-left:1px solid #ccc;padding-left:10px}.chat-container{max-width:800px;width:100%;margin:0 auto;overflow:hidden}.chat-container,.chat-window{flex:1 1;padding:20px;display:flex;flex-direction:column}.chat-window{overflow-y:auto;gap:20px;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.message{max-width:85%;padding:16px 20px;border-radius:16px;font-size:.95rem;line-height:1.7;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.05)}.message.user{align-self:flex-end;background-color:var(--chat-bg-user);border-bottom-right-radius:4px;color:var(--text-color)}.message.bot{align-self:flex-start;background-color:var(--chat-bg-bot);border-bottom-left-radius:4px;border:1px solid var(--primary-color);color:var(--text-color)}.message-role{font-size:.75rem;margin-bottom:4px;color:#888;font-weight:700}.input-area-wrapper{background-color:#fff;padding:20px;border-top:1px solid var(--border-color);width:100%}.input-area{max-width:800px;margin:0 auto;display:flex;gap:10px;position:relative}.input-area input{flex:1 1;padding:16px;border:2px solid var(--border-color);border-radius:30px;font-size:1rem;outline:none;transition:border-color .2s;background-color:#fcfcfc}.input-area input:focus{border-color:var(--primary-color);background-color:#fff}.input-area button{padding:0 24px;background-color:var(--accent-color);color:#fff;border:none;border-radius:30px;font-size:1rem;cursor:pointer;font-weight:700;transition:background-color .2s,transform .1s;box-shadow:0 2px 4px rgba(225,78,42,.3);white-space:nowrap}.input-area button.payment-btn{background-color:#ffbf00;color:#000;box-shadow:0 2px 4px rgba(255,191,0,.3)}.input-area button.payment-btn:hover{background-color:#e6ac00}.input-area button:hover{background-color:#c03e1e;transform:translateY(-1px)}.input-area button:active{transform:translateY(1px)}.input-area button:disabled{background-color:#ccc;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width:600px){.input-area{gap:8px}.input-area input{padding:12px 16px;font-size:.95rem}.input-area button{padding:0 16px;font-size:.9rem}}.loading{font-size:.8rem;color:#888;text-align:center;margin-top:10px;font-style:italic}.chat-window::-webkit-scrollbar{width:8px}.chat-window::-webkit-scrollbar-track{background:#f1f1f1}.chat-window::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.chat-window::-webkit-scrollbar-thumb:hover{background:#bbb}