
:root{color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#272620;background:#faf9f6;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
main{min-height:100svh;display:grid;place-items:center;padding:24px}
button,input{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible,input:focus-visible{outline:3px solid #272620;outline-offset:5px}
.wake-control{position:relative;max-width:100%}
.wake-button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:76px;width:276px;max-width:100%;padding:20px 30px;border:0;border-radius:24px;background:#c9462b;color:#fff;font-weight:650;font-size:20px;letter-spacing:.04em;box-shadow:0 5px 0 #a63420,0 12px 24px #a6342014;transition:transform .15s,box-shadow .15s,background .15s}
.wake-button:hover:not(:disabled){background:#b43a23;transform:translateY(-2px);box-shadow:0 7px 0 #a63420,0 15px 28px #a634201b}
.wake-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 #a63420}
.wake-button:disabled{cursor:default;background:#bdb9af;box-shadow:0 4px 0 #a5a093;color:#fff}
.bell{flex-shrink:0}
#status{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(340px,calc(100vw - 48px));margin:24px 0 0;text-align:center;line-height:1.8;font-size:13px;color:#736f64;overflow-wrap:anywhere}
dialog{width:min(400px,calc(100vw - 40px));padding:30px;border:1px solid #e9e5dc;border-radius:24px;color:#272620;background:#fffdfa;box-shadow:0 24px 80px #27262022}
dialog::backdrop{background:#27262038;backdrop-filter:blur(3px)}
h2{margin:0;font-size:21px;font-weight:650;line-height:1.5}
dialog p{margin:14px 0 27px;color:#736f64;font-size:14px;line-height:1.8}
.dialog-actions{display:flex;gap:12px}
.dialog-actions button{flex:1;min-height:48px;border-radius:13px;padding:12px;font-weight:600;font-size:15px}
.cancel-button{background:#f0eee8;border:1px solid #e9e5dc;color:#625e54}
.cancel-button:hover{background:#e8e5dd}
.send-button{border:0;background:#c9462b;color:#fff}
.send-button:hover{background:#b43a23}
.access-label{display:block;margin-bottom:9px;font-size:13px;color:#625e54}
.access-input{width:100%;min-height:48px;margin-bottom:24px;padding:12px;border:1px solid #d6d1c6;border-radius:12px;background:#fff;font-size:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){*{transition:none!important}dialog::backdrop{backdrop-filter:none}}
