:root{--ink:#151515;--paper:#fbfaf7;--soft:#f1f0eb;--orange:#b54700;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);margin:0;min-width:320px;min-height:100vh}button,a{font:inherit}button{touch-action:manipulation}.skip-link{background:#fff;border:3px solid #111;color:#111;font-weight:800;left:12px;padding:12px 16px;position:fixed;top:12px;transform:translateY(-160%);z-index:100}.skip-link:focus{transform:translateY(0)}.screen-reader-status{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.app-shell{min-height:100vh}.topbar{align-items:center;background:#fffffff5;border-bottom:1px solid #deddd8;box-shadow:0 4px 18px #0000000a;display:flex;justify-content:space-between;min-height:88px;padding:14px clamp(20px,5vw,72px)}.brand{display:inline-flex;width:clamp(190px,24vw,300px)}.brand img{display:block;height:auto;max-width:100%;width:100%}.byline{color:#5e5e5e;font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap}.byline:hover,.byline:focus-visible{text-decoration:underline;text-underline-offset:3px}.chooser{margin:0 auto;max-width:1240px;padding:clamp(42px,7vw,86px) 28px 82px}.intro{margin-bottom:clamp(30px,4vw,48px);max-width:820px}.eyebrow{align-items:center;background:#e5f2eb;border-radius:999px;color:#0f6f41;display:inline-flex;font-size:.9rem;font-weight:800;letter-spacing:.02em;margin:0 0 16px;min-height:34px;padding:5px 13px}.intro h1{font-size:clamp(2.65rem,7vw,5.5rem);letter-spacing:-.06em;line-height:.96;margin:0 0 22px}.intro>p:last-child,.about>p:last-child{color:#626262;font-size:clamp(1rem,1.6vw,1.14rem);line-height:1.55;margin:0}.state-grid{display:grid;gap:clamp(12px,1.4vw,18px);grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}.state-grid li{min-width:0}.state-card{align-items:flex-start;aspect-ratio:1;background:var(--state-color);border:0;border-radius:clamp(18px,2.2vw,28px);box-shadow:0 4px #0000002e,inset 0 0 0 1px #ffffff2e;color:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:44px;padding:clamp(14px,1.7vw,22px);position:relative;text-align:left;width:100%}.state-card:hover{outline:4px solid #b54700;outline-offset:4px}.state-card:focus-visible{outline:4px solid #111;outline-offset:5px}.state-card:active{box-shadow:0 2px #0003;transform:translateY(1px)}.face{color:currentColor;display:block;height:clamp(54px,6vw,76px);width:clamp(54px,6vw,76px)}.card-copy{display:flex;flex-direction:column;gap:6px;padding-right:4px}.card-copy strong{font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.05;overflow-wrap:anywhere}.card-copy span{font-size:clamp(.78rem,1.05vw,.94rem);line-height:1.25;opacity:.9;overflow-wrap:anywhere}.message-accordion{background:#fff3e9;border:2px solid #efc6a6;border-radius:18px;box-shadow:0 3px #b547001f;margin-top:28px}.message-accordion.is-open{border-bottom:0;border-color:var(--orange);border-radius:18px 18px 0 0;box-shadow:none}.message-accordion-heading{font-size:inherit;margin:0}.message-accordion-trigger{align-items:center;background:transparent;border:0;border-radius:16px;color:#111;cursor:pointer;display:flex;gap:20px;justify-content:space-between;min-height:80px;padding:15px 18px 15px 20px;text-align:left;width:100%}.message-controls-copy{display:flex;flex-direction:column;gap:3px}.message-controls-copy strong{color:#542300;font-size:1.05rem}.message-controls-copy span{color:#70472a;font-size:.9rem;line-height:1.35}.accordion-action{align-items:center;color:#111;display:flex;flex:0 0 92px;font-size:.95rem;font-weight:800;gap:9px;justify-content:flex-end;white-space:nowrap}.accordion-triangle{color:#111;display:inline-block;font-size:.8rem;line-height:1;text-align:center;width:14px}.message-accordion-trigger:hover{outline:3px solid #b54700;outline-offset:3px}.message-accordion-trigger:focus-visible,.message-editor button:focus-visible,.message-editor input:focus-visible,.byline:focus-visible,footer a:focus-visible,.brand:focus-visible{outline:3px solid #b54700;outline-offset:3px}.message-editor{background:#fff;border:2px solid var(--orange);border-radius:0 0 18px 18px;box-shadow:0 10px 26px #46230a14;margin-top:0;padding:clamp(20px,3vw,32px)}.editor-heading h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 6px}.editor-heading p{color:#626262;line-height:1.45;margin:0}.editor-heading .editor-guidance{background:#f6f1ec;border-left:4px solid var(--orange);border-radius:0 9px 9px 0;color:#5c3d27;font-size:.9rem;margin-top:14px;max-width:620px;padding:9px 12px}.message-fields{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.state-message-fields{background:color-mix(in srgb,var(--field-accent) 7%,white);border:1px solid color-mix(in srgb,var(--field-color) 38%,white);border-top:6px solid var(--field-color);border-radius:14px;display:grid;gap:14px;margin:0;min-width:0;padding:15px 16px 17px}.state-message-fields:last-child{grid-column:1 / -1}.state-message-fields legend{padding:0 7px}.state-face-legend .face{color:#fff;height:48px;width:48px}.message-fields label{display:flex;flex-direction:column;gap:7px}.message-fields label>span{font-size:.9rem;font-weight:800}.message-fields input{background:#fff;border:2px solid #949494;border-radius:10px;color:#111;min-height:50px;padding:10px 12px;width:100%}.validation-error{background:#fff0f0;border:2px solid #9d1717;border-radius:10px;color:#750d0d;font-weight:800;line-height:1.4;margin:20px 0 0;padding:12px 14px}.editor-actions{align-items:center;border-top:1px solid #e1dfda;display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:22px}.editor-actions button{border:2px solid #111;border-radius:999px;cursor:pointer;font-weight:800;min-height:48px;padding:0 20px}.save-messages-button{background:#0f6f41;border-color:#0f6f41!important;color:#fff}.reset-messages-button{background:#fff7f0;border-color:var(--orange)!important;color:#7a3000}.cancel-messages-button{background:#fff;color:#111}.save-messages-button:hover{background:#0a5430}.reset-messages-button:hover{background:#ffe9d8}.cancel-messages-button:hover{background:#f1f0eb}.cancel-messages-button{border-color:transparent!important;margin-left:auto}.privacy-note{background:#eef5f1;border-left:5px solid #0f6f41;border-radius:0 12px 12px 0;color:#4f5c55;font-size:.92rem;line-height:1.5;margin:34px 0 0;max-width:820px;padding:13px 16px}.calm-example{background:#111;margin:0;overflow:hidden}.calm-example img{display:block;height:auto;margin:0 auto;max-height:820px;object-fit:cover;width:100%}.about{background:#f0f0ec;border-bottom:1px solid #d9d9d4;border-top:1px solid #d9d9d4;padding:72px max(28px,calc((100vw - 1184px)/2))}.about h2{font-size:clamp(2.25rem,5.5vw,4.8rem);letter-spacing:-.055em;line-height:1;margin:0 0 28px;max-width:900px}.about>p:last-child{max-width:760px}footer{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1240px;padding:34px 28px 46px}footer a{color:#626262;font-size:.85rem;text-decoration:none}footer a:hover,footer a:focus-visible{text-decoration:underline;text-underline-offset:3px}.signal-screen{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;padding:22px clamp(20px,5vw,60px) 24px}.change-button{background:#ffffffe6;border:2px solid currentColor;border-radius:999px;color:#111;cursor:pointer;font-weight:800;justify-self:start;min-height:48px;padding:0 20px}.change-button:focus-visible{outline:4px solid currentColor;outline-offset:4px}.signal-content{align-items:center;align-self:center;display:flex;flex-direction:column;text-align:center}.face-large{color:currentColor;height:min(35vw,230px);margin-bottom:28px;width:min(35vw,230px)}.signal-state{font-size:clamp(1rem,3vw,1.35rem);font-weight:800;letter-spacing:.02em;margin:0 0 12px}.signal-content h1{font-size:clamp(2.65rem,10vw,7rem);letter-spacing:-.06em;line-height:.96;margin:0;max-width:1100px}.custom-message-note{background:#0000004d;border:1px solid currentColor;border-radius:999px;font-size:clamp(.78rem,2vw,.95rem);font-weight:700;line-height:1.3;margin:28px 0 0;padding:9px 14px}.signal-brand{font-size:1.15rem;font-weight:800;margin:0;text-align:center}.signal-brand span{font-size:.75em;font-weight:700;opacity:.8}@media(max-width:900px){.state-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.topbar{min-height:72px;padding:12px 18px}.brand{width:min(57vw,220px)}.byline{font-size:.76rem}.chooser{padding:38px 16px 58px}.state-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.state-card{border-radius:20px;padding:14px}.face{height:clamp(50px,18vw,68px);width:clamp(50px,18vw,68px)}.card-copy strong{font-size:clamp(1rem,5vw,1.3rem)}.card-copy span{font-size:clamp(.72rem,3.4vw,.9rem)}.message-accordion-trigger{min-height:88px}.message-fields{grid-template-columns:1fr}.state-message-fields:last-child{grid-column:auto}.editor-actions{flex-direction:column}.editor-actions button{width:100%}.cancel-messages-button{margin-left:0}.about{padding-bottom:54px;padding-top:54px}footer{align-items:flex-start;flex-direction:column;gap:8px}.face-large{height:150px;width:150px}}@media(max-width:360px){.state-grid{gap:10px}.state-card{padding:12px}.card-copy span{font-size:.72rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(forced-colors:active){.state-card,.message-editor,.editor-actions button,.message-accordion{border:2px solid ButtonText}.state-card:hover,.state-card:focus-visible,.message-accordion-trigger:focus-visible{outline:4px solid Highlight}.face{forced-color-adjust:auto}}
