.guestbook-dialog{position:fixed;left:0;right:0;bottom:auto;top:calc(var(--guestbook-viewport-offset,0px) + var(--guestbook-viewport,100dvh)/2);margin:0 auto;transform:translateY(-50%);width:min(620px,calc(100vw - 28px));max-width:none;max-height:calc(var(--guestbook-viewport,100dvh) - 32px);box-sizing:border-box;padding:24px;border:1px solid #cbb99f;border-radius:22px;background:#fcf6e9;color:#574333;box-shadow:0 18px 65px #30241833;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding:16px;font:15px/1.55 system-ui,sans-serif}
.guestbook-dialog::backdrop{background:#30281e66;backdrop-filter:blur(3px)}
.guestbook-dialog [hidden]{display:none!important}.guestbook-dialog *{box-sizing:border-box}.guestbook-dialog button,.guestbook-dialog input,.guestbook-dialog textarea{font:inherit;color:inherit}.guestbook-dialog button,.guestbook-dialog a{touch-action:manipulation}.guestbook-dialog button{min-height:44px;padding:9px 15px;border:1px solid #c9b295;border-radius:11px;background:#fffcf5;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.guestbook-dialog button:disabled{opacity:.55;cursor:default}.guestbook-dialog button:focus-visible,.guestbook-dialog a:focus-visible,.guestbook-dialog summary:focus-visible{outline:3px solid #92765b;outline-offset:3px}.guestbook-dialog a{color:#725034;text-underline-offset:4px}.guestbook-dialog h2{margin:0;font-size:25px;letter-spacing:.04em;color:#594331}.guestbook-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.guestbook-head p{margin:5px 0 0;color:#8b735e;font-size:14px}.guestbook-dialog .guestbook-close{position:static;flex:0 0 44px;min-width:44px;padding:5px;border:0;background:transparent;font-size:26px;line-height:1}
.guestbook-form{display:grid;gap:7px;margin:0 0 12px}.guestbook-form label{font-weight:650;font-size:13px}.guestbook-form input,.guestbook-form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #cfbea5;border-radius:10px;background:#fffdf7;outline-color:#9b7e5d;font-size:16px;line-height:1.5}.guestbook-form textarea{min-height:110px;max-height:35dvh;resize:vertical}.guestbook-form input:disabled,.guestbook-form textarea:disabled{opacity:.75}.guestbook-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:3px}.guestbook-count{color:#89725c;font-size:12px}.guestbook-count.over-limit{color:#a5453c}.guestbook-dialog .guestbook-submit{background:#8a6850;border-color:#8a6850;color:#fff9ee;min-width:118px}.guestbook-status,.guestbook-error{margin:9px 0;padding:10px 12px;border-radius:10px;font-size:13px;overflow-wrap:anywhere}.guestbook-status{background:#eaf0df;color:#536345}.guestbook-error{background:#f5e3dc;color:#884f3f}
.guestbook-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dfd1bc;margin-top:22px;padding-top:14px}.guestbook-dialog .guestbook-refresh,.guestbook-dialog .guestbook-delete{background:transparent;border-color:transparent;font-size:12px;padding:6px 10px}.guestbook-entries{display:grid;gap:12px;margin:10px 0}.guestbook-entry{border:1px solid #e6d9c7;background:#fffcf5;border-radius:13px;padding:15px}.guestbook-entry-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;align-items:center;min-width:0}.guestbook-entry-head strong{font-size:14px;overflow-wrap:anywhere}.guestbook-entry time{font-size:11px;color:#95816d}.guestbook-entry-body{margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}.guestbook-dialog .guestbook-delete{color:#956c57;margin:7px -9px -8px}.guestbook-empty{padding:18px 6px;text-align:center;color:#947e67}.guestbook-dialog .guestbook-more{width:100%;margin-top:5px;background:#f3eadb}.guestbook-confirm{border:1px solid #bf9b80;border-radius:12px;background:#f5e9da;padding:14px;margin:14px 0}.guestbook-confirm h3{font-size:15px;margin:0 0 9px}.guestbook-confirm blockquote{white-space:pre-wrap;overflow-wrap:anywhere;max-height:140px;overflow:auto;margin:0 0 12px;padding:10px;background:#fff9ef;font-size:13px;border-left:3px solid #b4977a}.guestbook-dialog .guestbook-danger{background:#8e5746;border-color:#8e5746;color:#fff9f2}.guestbook-admin{border-top:1px solid #e0d2bc;padding-top:12px;margin-top:20px;font-size:12px;color:#8c725b}.guestbook-admin summary{cursor:pointer;min-height:36px;padding:6px 0}.guestbook-admin p{margin:3px 0 8px}.guestbook-admin a{display:inline-block;min-height:40px;padding:8px 0}
@media(max-width:600px){.guestbook-dialog{width:calc(100vw - 16px);max-height:calc(var(--guestbook-viewport,100dvh) - 16px);padding:18px 16px;border-radius:17px}.guestbook-head{gap:8px}.guestbook-dialog h2{font-size:22px}.guestbook-head p{font-size:12px}.guestbook-form textarea{min-height:100px}.guestbook-entry{padding:12px}.guestbook-form-actions{gap:8px}.guestbook-dialog .guestbook-submit{min-width:100px}.guestbook-confirm .guestbook-form-actions{flex-wrap:wrap}}
@media(max-height:500px){.guestbook-dialog{padding:14px;max-height:calc(var(--guestbook-viewport,100dvh) - 12px)}.guestbook-head{margin-bottom:10px}.guestbook-form textarea{min-height:74px}.guestbook-head p{display:none}}
/* Four translated menu labels can exceed a narrow phone's single row. */
.room-controls .game-menu{min-width:0;max-width:100%;flex-wrap:wrap}.room-controls .game-menu>button{flex:0 0 auto}
