.chat-page [hidden],.chat-admin-body [hidden]{display:none!important}
/* Existing summit navy, warm gold rules, generous Japanese line height. */
.chat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:12px;background:#b53039;color:#fff;font:700 12px/1.1 Arial,sans-serif;letter-spacing:0;border:2px solid #fff;font-variant-numeric:tabular-nums}
.chat-badge[hidden],.chat-launcher[hidden],.chat-panel[hidden],.chat-pane[hidden],.chat-admin-app[hidden],.chat-login[hidden],.chat-closed[hidden],.chat-start[hidden],.chat-form[hidden]{display:none!important}
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:22;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 16px;background:#0a1633;border:1px solid #b3904e;color:#fff;text-decoration:none;border-radius:5px;box-shadow:0 3px 16px #0a16331c;font-size:13px;font-weight:600}
.chat-launcher svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.chat-launcher .chat-badge{position:absolute;right:-8px;top:-9px}.chat-enabled .site-promotion{bottom:88px}.chat-launcher:hover{background:#193250;color:#fff}
.chat-page{max-width:900px;margin:auto;padding:32px 24px 65px}.chat-heading{display:flex;align-items:baseline;gap:16px;justify-content:space-between;margin-bottom:18px}.chat-heading h1{font-family:var(--serif,serif);font-weight:400;font-size:32px;margin:0}.chat-heading p{font-size:12px;color:#627080;margin:0}.chat-panel{border:1px solid #d0d8e1;background:white;border-top:3px solid #b3904e;border-radius:3px;overflow:hidden}
.chat-tabs{display:flex;border-bottom:1px solid #d0d8e1}.chat-tabs button{flex:1;min-height:54px;border:0;background:#edf1f5;color:#40516a;font:600 14px/1.5 inherit;cursor:pointer;padding:12px 8px;display:flex;align-items:center;justify-content:center;gap:8px}.chat-tabs button[aria-selected=true]{background:#fff;color:#0a1633;box-shadow:inset 0 -3px #b3904e}.chat-tabs .chat-badge{border:0}
.chat-meta{font-size:11px;color:#657084;padding:10px 18px;border-bottom:1px solid #e8ecf0;display:flex;justify-content:space-between;gap:12px}.chat-feed{height:clamp(240px,42dvh,420px);min-height:230px;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px;background:#f4f6f9;scrollbar-gutter:stable}.chat-empty{text-align:center;max-width:26em;margin:48px auto;color:#647284;font-size:14px;line-height:1.9}.chat-empty strong{display:block;color:#1b2d49;font-size:17px;margin-bottom:10px}
.chat-message{max-width:min(86%,540px);margin:0 0 20px;clear:both}.chat-message.is-mine{margin-left:auto}.chat-message-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;margin:0 3px 5px;font-size:11px;color:#637087}.chat-message-meta strong{color:#304058;font-size:12px}.chat-message-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:15px;padding:13px 16px;border:1px solid #d9e0e8;border-radius:0 10px 10px 10px;background:white;color:#16233b}.is-mine .chat-message-body{background:#132746;color:white;border-color:#132746;border-radius:10px 0 10px 10px}.chat-message.is-notice{max-width:100%;padding-bottom:16px;border-bottom:1px solid #d3dbe6}.is-notice .chat-message-body{border-left:3px solid #b3904e;border-radius:0;background:#fffdf6;color:#1a2940}.chat-edit{display:block;margin:5px 0 0 auto;border:0;background:none;color:#315e80;font-size:12px;text-decoration:underline;cursor:pointer;min-height:32px;padding:4px}
.chat-form{padding:14px 18px 17px;border-top:1px solid #d4dce6;background:#fff}.chat-form label,.chat-login label{font-size:12px;font-weight:600;color:#34445b;display:block;margin-bottom:7px}.chat-form textarea{display:block;width:100%;min-height:86px;max-height:200px;resize:vertical;border:1px solid #b8c5d4;border-radius:3px;padding:11px 12px;font:inherit;font-size:16px;line-height:1.7;background:#fff;color:#182a42;box-sizing:border-box}.chat-form textarea:disabled{background:#edf0f4}.chat-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.chat-count{font-size:12px;color:#687688}.chat-count.is-over{color:#ad2331;font-weight:700}.chat-primary{border:1px solid #0a1633;background:#0a1633;color:#fff;border-radius:3px;min-height:44px;min-width:98px;padding:10px 18px;font:600 14px/1.4 sans-serif;cursor:pointer}.chat-primary:hover{background:#1d3556}.chat-primary:disabled{opacity:.45;cursor:default}.chat-secondary{border:1px solid #bdc8d6;color:#203a58;background:white;min-height:40px;padding:8px 14px;border-radius:3px;cursor:pointer;font:inherit;font-size:12px}.chat-start{padding:18px;text-align:center;border-top:1px solid #d0d8e1}.chat-start p{font-size:12px;line-height:1.8;color:#596a7e;margin:0 0 12px}.chat-feedback{padding:0 18px;color:#aa2731;font-size:13px;line-height:1.7;min-height:0}.chat-feedback:not(:empty){padding-top:10px;padding-bottom:10px;background:#fff4f3}.chat-help{margin-top:16px;font-size:12px;color:#5c6d81;line-height:1.9}.chat-help p{margin:8px 0}.chat-help a{color:#275e81;text-underline-offset:3px}.chat-closed{padding:35px 28px;background:#fffdf6;border:1px solid #d4c6a7;border-left:3px solid #b3904e;line-height:1.9}.chat-closed h2{font-size:23px;margin:0 0 10px;font-family:var(--serif,serif);font-weight:400}.chat-closed p{font-size:14px;margin:0}.chat-pane-note{margin:0;padding:14px 18px;font-size:12px;color:#617083;border-top:1px solid #d0d8e1}.chat-connection{font-size:11px;color:#6d7787}.chat-connection.is-offline{color:#a32b33}
.chat-admin-body{margin:0;background:#f2f5f8;color:#172944;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}.chat-admin-header{background:#0a1633;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:17px 28px;gap:16px;border-bottom:2px solid #b3904e}.chat-admin-brand{font:600 22px/1.3 Georgia,serif;letter-spacing:.035em;text-decoration:none;color:#eed9a8}.chat-admin-brand small{display:block;font:400 10px/1.6 sans-serif;letter-spacing:.08em;color:#bac6d6}.chat-admin-header a.chat-back{color:#fff;font-size:12px}.chat-admin-main{max-width:1300px;margin:0 auto;padding:26px}.chat-admin-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.chat-admin-heading h1{font-family:serif;font-size:27px;font-weight:400;margin:0}.chat-admin-identity{font-size:12px;color:#52627a;display:flex;align-items:center;gap:15px}.chat-login{max-width:450px;margin:50px auto;background:white;padding:32px;border-top:3px solid #b3904e;box-shadow:0 1px 5px #0a163310}.chat-login h2{font-family:serif;font-size:25px;font-weight:400;margin:0 0 13px}.chat-login p{font-size:13px;color:#5f6f84;line-height:1.8}.chat-login input{display:block;width:100%;box-sizing:border-box;padding:13px 12px;border:1px solid #b8c5d4;border-radius:3px;font-size:16px;margin-bottom:15px;background:#fff;color:#1a2940}.chat-login .chat-primary{width:100%}.chat-login #admin-code{letter-spacing:.25em}.chat-admin-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px}.chat-inbox{background:white;border:1px solid #d0d8e1;align-self:start}.chat-inbox-head{padding:15px;border-bottom:1px solid #d0d8e1;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.chat-inbox-filter{padding:10px 12px}.chat-inbox-filter select{width:100%;min-height:38px;border:1px solid #b8c5d4;padding:6px;background:white;color:#243c59;font-size:13px}.chat-thread-list{max-height:60dvh;overflow-y:auto}.chat-thread{display:block;width:100%;padding:15px;text-align:left;border:0;border-top:1px solid #e2e7ed;background:white;cursor:pointer;font:inherit;color:#1f3551}.chat-thread[aria-current=true]{background:#eaf0f7;box-shadow:inset 3px 0 #b3904e}.chat-thread-heading{display:flex;align-items:center;gap:7px;justify-content:space-between;font-size:13px;font-weight:700}.chat-thread p{margin:8px 0 6px;font-size:12px;line-height:1.6;color:#54657c;overflow-wrap:anywhere}.chat-thread small{font-size:10px;color:#6a7789}.chat-status{font-size:10px;white-space:nowrap;border:1px solid #d3dbe5;border-radius:2px;padding:2px 5px;font-weight:400;background:#f5f7fa}.chat-status-new{color:#9d2831;background:#fff3f2;border-color:#e6c5c7}.chat-status-done{color:#486657;background:#edf5ef}.chat-admin-tools{display:flex;align-items:center;gap:9px;padding:10px 15px;background:#fff;border-bottom:1px solid #d0d8e1;font-size:12px;flex-wrap:wrap}.chat-admin-tools select{min-height:36px;font-size:13px;border:1px solid #bdc8d6;background:#fff;color:#243b57;padding:5px}.chat-admin-grid .chat-feed{height:clamp(280px,49dvh,570px)}.chat-admin-grid .chat-message{max-width:88%}.chat-admin-grid .chat-message.is-mine .chat-message-body{background:#eff3f8;color:#182a42;border-color:#d3dce8}.chat-admin-grid .chat-message.is-visitor .chat-message-body{background:#fff;color:#182a42}.chat-admin-summary{font-size:12px;color:#607088;margin-top:16px;line-height:1.9}
.chat-launcher:focus-visible,.chat-tabs button:focus-visible,.chat-primary:focus-visible,.chat-secondary:focus-visible,.chat-edit:focus-visible,.chat-thread:focus-visible,.chat-form textarea:focus-visible,.chat-login input:focus-visible{outline:3px solid #be943b;outline-offset:3px}.chat-page .chat-feed:focus-visible{outline:2px solid #be943b;outline-offset:-2px}
@media(max-width:760px){.chat-launcher{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));min-height:44px;padding:8px 13px;font-size:12px}.chat-enabled .site-promotion{bottom:calc(143px + env(safe-area-inset-bottom))}.chat-page{padding:24px 14px 40px}.chat-heading{display:block;margin-bottom:14px}.chat-heading h1{font-size:27px}.chat-heading p{margin-top:5px}.chat-feed{height:clamp(210px,39dvh,360px);padding:18px 12px}.chat-message{max-width:91%}.chat-message-body{font-size:14px;padding:11px 13px}.chat-form{padding:12px}.chat-meta{padding:9px 12px;gap:8px;font-size:10px}.chat-form textarea{min-height:78px}.chat-tabs button{font-size:13px}.chat-help{font-size:11px}.chat-closed{padding:26px 21px}.chat-admin-header{padding:14px 16px}.chat-admin-brand{font-size:18px}.chat-admin-main{padding:18px 12px}.chat-admin-heading{align-items:flex-start}.chat-admin-heading h1{font-size:23px}.chat-admin-identity{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:170px;font-size:11px}.chat-admin-grid{grid-template-columns:1fr;gap:15px}.chat-thread-list{max-height:190px}.chat-admin-grid .chat-feed{height:40dvh;min-height:240px}.chat-login{margin:24px auto;padding:25px 21px}.chat-thread{padding:12px}.chat-inbox-head{padding:12px}.chat-admin-summary{font-size:11px}.chat-admin-tools{padding:9px 12px}}
@media(prefers-reduced-motion:no-preference){.chat-launcher{animation:chat-appear .5s ease-out both}@keyframes chat-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}

.chat-message-body{width:fit-content;max-width:100%;box-sizing:border-box}.is-mine .chat-message-body{margin-left:auto}

.chat-test-banner{margin:0 0 20px;padding:13px 17px;background:#fff4d8;border:1px solid #d5b965;border-left:4px solid #b18b27;color:#5b4111;font-size:13px;line-height:1.8}.chat-test-banner strong{display:block;font-size:15px}.chat-test-banner a{color:#544311;text-decoration:underline}.chat-admin-links{margin:0 0 18px;font-size:13px}.chat-admin-links a{color:#315e80}

/* The inbox is navigation; the conversation is the selected person's workspace. */
.chat-inbox{background:#eaf0f6;border-color:#b9c8d8;border-radius:5px;overflow:hidden}
.chat-inbox-head{background:#142845;color:#fff;border:0;padding:17px 16px}
.chat-inbox-head>span:first-child{display:flex;flex-direction:column;gap:5px}
.chat-inbox-head small{color:#ddc48c;font-size:10px;font-weight:500;letter-spacing:.12em}
.chat-inbox-head strong{font-size:17px;font-weight:600}
.chat-inbox-hint{margin:0;padding:12px 15px 0;font-size:11px;color:#566b82}
.chat-inbox-filter{padding:10px 14px 14px}
.chat-thread-list .chat-empty{font-size:12px;margin:0;padding:20px 16px 26px;text-align:left}
.chat-thread{background:#fdfefe;border-top:1px solid #d3dee9;padding:17px 15px}
.chat-thread[aria-current=true]{background:#deebf7;box-shadow:inset 4px 0 #28618a}
.chat-thread-heading{align-items:flex-start;gap:10px}
.chat-thread-name{font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.chat-thread-heading>span:last-child{display:flex;align-items:center;gap:5px;flex:none;padding-top:2px}
.chat-thread small{display:block;line-height:1.7}
.chat-status{font-weight:600;line-height:1.5;border-radius:3px;padding:3px 7px;font-size:11px}
.chat-status-new{color:#9a2531;background:#fff0f1;border-color:#e7b3bb}
.chat-status-active{color:#79510a;background:#fff0c6;border-color:#d9b44f}
.chat-status-done{color:#25613f;background:#e4f2e9;border-color:#a4c6b0}
.chat-conversation{border:1px solid #bcc9d7;border-top:3px solid #b3904e;box-shadow:0 2px 9px #14284508}
.chat-conversation-heading{padding:13px 17px;display:flex;justify-content:space-between;gap:12px;background:#fffdf7;border-bottom:1px solid #e4dfd1}
.chat-conversation-heading>span{font-size:14px;font-weight:600;color:#3d3625}
.chat-conversation-heading small{font-size:11px;color:#7b7362}
.chat-recipient{display:flex;flex-direction:column;gap:3px;min-width:0}
.chat-recipient>small:first-child{font-size:10px;color:#788495}
.chat-recipient>strong{font-size:17px;color:#203754;font-weight:600;overflow-wrap:anywhere;line-height:1.6}
.chat-recipient>small:last-child{font-size:10px;letter-spacing:.03em;color:#6c7c8e}
.chat-admin-tools{background:#fafbfd}
.chat-admin-tools .chat-status-select{min-width:112px;padding:7px 32px 7px 12px;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}
.chat-status-select[data-status=new]{color:#9a2531;background:#fff0f1;border-color:#e7b3bb}
.chat-status-select[data-status=active]{color:#79510a;background:#fff0c6;border-color:#d9b44f}
.chat-status-select[data-status=done]{color:#25613f;background:#e4f2e9;border-color:#a4c6b0}
.chat-status-select option{background:#fff;color:#1b2b42}
.chat-admin-grid .chat-feed{background:#f4f6f9;padding:24px 18px}
.chat-message{width:fit-content}
.chat-message-meta{overflow-wrap:anywhere;line-height:1.6}
.chat-message-meta strong{overflow-wrap:anywhere}
.is-mine .chat-message-meta{justify-content:flex-end;text-align:right}
.chat-admin-grid .chat-message.is-mine .chat-message-body{background:#e7eef7;border-color:#bfcee0;color:#142d4a}
.chat-message-body{min-width:2em}
.chat-participant-heading{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.chat-participant-heading strong{font-size:13px;color:#233b58;overflow-wrap:anywhere}
.chat-participant-heading small{font-size:10px;color:#687b8f}
.chat-name-edit{align-self:flex-start;flex:none;border:0;padding:4px 0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:11px;color:#2b6085;cursor:pointer}
.chat-start{text-align:left;padding:20px 22px;background:#fffdf7}
.chat-start p{margin-bottom:16px;font-size:13px}
.chat-start label{display:block;font-size:13px;font-weight:600;color:#243a55;margin-bottom:7px}
.chat-required{display:inline-block;margin-left:7px;font-size:10px;color:#9e2936;font-weight:400}
.chat-start input{display:block;width:100%;box-sizing:border-box;max-width:440px;min-height:46px;background:#fff;color:#172d49;border:1px solid #b4c3d4;border-radius:3px;font:inherit;font-size:16px;padding:10px 12px}
.chat-profile-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:13px}
.chat-start input:focus-visible,.chat-status-select:focus-visible,.chat-name-edit:focus-visible{outline:3px solid #be943b;outline-offset:3px}
.chat-toast{position:fixed;z-index:80;left:50%;bottom:30px;transform:translate(-50%,8px);opacity:0;max-width:calc(100vw - 28px);width:max-content;box-sizing:border-box;padding:13px 20px 13px 45px;border:1px solid #b9c9bb;border-radius:6px;box-shadow:0 6px 24px #0a163327;background:#fff;color:#224832;font-size:13px;line-height:1.7;pointer-events:none;transition:opacity .28s ease,transform .28s ease}
.chat-toast:before{content:'✓';position:absolute;left:17px;top:13px;font-weight:700;color:#2a754c}
.chat-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.chat-launcher{padding:10px 17px;min-height:56px;box-sizing:border-box;gap:11px}
.chat-launcher-copy{display:flex;flex-direction:column;gap:3px;line-height:1.45}
.chat-launcher-copy strong{font-size:13px;font-weight:600}
.chat-launcher-copy small{font-size:10px;font-weight:400;color:#ded3b4}
.chat-launcher .chat-badge{min-width:26px;height:26px;font-size:13px;right:-7px;top:-9px;box-shadow:0 1px 5px #0a16331a}
.chat-enabled .site-promotion{bottom:96px}
@media(max-width:760px){
 .chat-admin-heading{display:block}.chat-admin-heading h1{font-size:24px}.chat-admin-identity{max-width:none;margin-top:12px;justify-content:space-between;gap:12px}
 .chat-inbox-head{padding:13px 15px}.chat-inbox-head strong{font-size:15px}.chat-inbox-head small{font-size:9px}
 .chat-inbox-hint{padding-top:9px}.chat-thread{padding:13px 15px}.chat-thread-name{font-size:14px}
 .chat-conversation-heading{padding:11px 13px}.chat-conversation-heading small{font-size:10px}
 .chat-recipient>strong{font-size:16px}.chat-admin-grid .chat-feed{padding:20px 13px}
 .chat-start{padding:17px 15px}.chat-start p{font-size:12px}.chat-profile-actions .chat-primary{font-size:13px}
 .chat-toast{bottom:calc(22px + env(safe-area-inset-bottom));font-size:12px;padding-right:16px}
 .chat-launcher{min-height:52px;padding:8px 13px}.chat-launcher-copy strong{font-size:12px}.chat-launcher-copy small{font-size:9px}
 .chat-enabled .site-promotion{bottom:calc(154px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.chat-toast,.chat-status-select{transition:none}}

.chat-back-to-help{margin:-4px 0 17px;font-size:12px;color:var(--blue)}

.chat-admin-guide-link{margin:0 0 20px;font-size:14px}.chat-admin-guide-link a{display:inline-flex;align-items:center;gap:24px;min-height:44px;padding:9px 16px;border:1px solid #b3904e;background:#fffaf0;color:#153351;font-weight:600;text-decoration:none}.chat-login #admin-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:.18em}

/* Peatix is the primary pre-event route; the form stays a quiet text fallback. */
.support-contact .support-peatix-how{font-size:14px;line-height:1.95;margin:18px 0 0;color:var(--muted)}
.support-peatix-how a{display:inline-block;padding:5px 0;color:var(--blue);text-underline-offset:4px}
.support-fallback{font-size:14px;line-height:1.95;color:var(--muted);margin:18px 0 22px}
.support-fallback a{color:var(--blue);text-underline-offset:4px}
