/* 布局与时序依据guestbook:1456–1629/2314–2358；素材差异见场景对照文档。 */
body[data-section=guestbook] #main{z-index:10}
.guestbook-immersive[data-simplified=true] canvas{display:none}.guestbook-immersive[data-simplified=true] .wall-accessible{z-index:25;user-select:text}
.guestbook-immersive[data-simplified=true] .wall-accessible button{padding:10px;width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.guestbook-immersive{position:fixed;inset:0;z-index:10;overflow:hidden;isolation:isolate;user-select:none}
.guestbook-immersive canvas{position:absolute;inset:0;width:100%;height:100%}.wall-background{z-index:0;pointer-events:none}.wall-canvas{z-index:2;touch-action:pan-y}.wall-theme-wipe{z-index:1;pointer-events:none;contain:strict;will-change:clip-path}
.wall-tooltip,.wall-preview{position:absolute;z-index:10;overflow:hidden;border:1px solid #ffffffbf;border-radius:22.4px;background:#ffffffe0;padding:16px;text-align:left;color:#020617;box-shadow:0 22px 65px #0f334638;backdrop-filter:blur(40px)}
.wall-tooltip{pointer-events:none;width:min(320px,calc(100% - 32px))}.wall-tooltip:before,.wall-preview:before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:linear-gradient(90deg,transparent,#34d399e6,transparent)}
.wall-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.wall-panel-heading time{flex-shrink:0;font-size:10px;line-height:20px;color:#64748b}.wall-panel-heading>div{min-width:0}.wall-panel-label{display:flex;align-items:center;gap:6px;font-size:10px;line-height:15px;font-weight:600;letter-spacing:1.8px;color:#047857}.wall-panel-label:before{content:"";width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b981cc}.wall-tooltip [data-wall-name],.wall-preview [data-wall-name]{font-size:14px;font-weight:600;line-height:20px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wall-tooltip [data-wall-text],.wall-preview [data-wall-text]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px;font-size:13px;line-height:24px;color:#334155}.wall-panel-hint{margin-top:12px;padding-top:10px;border-top:1px solid #0f172a14;color:#94a3b8;font-size:10px;line-height:15px;font-weight:500}.wall-preview{display:none;left:16px;right:16px;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 72px);border-radius:20px;background:#ffffffe6;box-shadow:0 18px 48px #0f334633}.wall-preview [data-wall-text]{-webkit-line-clamp:3;margin-top:8px;line-height:20px}.wall-preview .wall-panel-hint{display:block;text-align:right;font-size:12px;font-weight:600;color:#047857}.wall-preview[data-state=visible]{animation:wall-preview-in .3s ease both}.wall-preview[data-state=exiting]{pointer-events:none;animation:wall-preview-out .2s ease forwards}
.wall-dock{position:absolute;left:16px;right:16px;bottom:32px;z-index:20;display:flex;justify-content:center;pointer-events:none}.wall-dock>div{display:flex;align-items:center;gap:4px;max-width:100%;border:1px solid #ffffff80;border-radius:999px;background:#ffffffcc;padding:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;backdrop-filter:blur(24px);pointer-events:auto}.wall-dock button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:999px;padding:0 16px;font-size:14px;line-height:20px;font-weight:600;color:#0f172a}.wall-dock button svg{width:16px;height:16px;color:#10b981}.wall-dock button:hover{background:#d1fae5}.wall-dock button:disabled{opacity:.5;cursor:not-allowed}.wall-status{position:absolute;left:16px;right:16px;bottom:100px;z-index:20;margin:0;text-align:center;font-size:12px;line-height:20px;color:#334155;pointer-events:none}.wall-accessible:focus-within{position:absolute;left:16px;top:112px;width:min(480px,calc(100% - 32px));height:auto;max-height:calc(100% - 224px);overflow:auto;clip:auto;white-space:normal;z-index:25;padding:16px;border-radius:16px;background:#fffffff0;color:#0f172a}.wall-accessible:focus-within button{display:block;padding:10px;text-align:left;width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.guestbook-immersive[data-simplified=true] .wall-accessible{position:absolute;inset:112px 16px 112px;width:auto;height:auto;clip:auto;white-space:normal;overflow:auto;background:#ffffffe6;padding:20px}.guestbook-immersive[data-simplified=true] .wall-accessible button{display:block;margin-bottom:16px;text-align:left}
.dark .wall-tooltip,.dark .wall-preview{border-color:#ffffff26;background:#0f172ae0;color:#f8fafc;box-shadow:0 22px 65px #0000007a}.dark .wall-panel-label,.dark .wall-preview .wall-panel-hint{color:#6ee7b7}.dark .wall-panel-heading time{color:#94a3b8}.dark .wall-tooltip [data-wall-text],.dark .wall-preview [data-wall-text]{color:#e2e8f0}.dark .wall-panel-hint{border-color:#ffffff1a;color:#64748b}.dark .wall-dock>div{border-color:#ffffff26;background:#0f172acc}.dark .wall-dock button{color:#f8fafc}.dark .wall-dock button:hover{background:#ffffff1a}.dark .wall-status{color:#cbd5e1}
.guestbook-immersive [hidden]{display:none!important}.wall-short-label{display:none}
.wall-dock .wall-compose{background:#059669;color:white}.wall-dock .wall-compose svg{color:currentColor}.wall-dock .wall-compose:hover{background:#10b981}.wall-dock .wall-compose:disabled{background:#059669}.dark .wall-dock .wall-compose{color:white}.dark .wall-dock .wall-compose:hover{background:#10b981}
@keyframes wall-preview-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes wall-preview-out{to{opacity:0;transform:translateY(8px)}}
@media(max-width:639px){.wall-tooltip{display:none}.wall-preview{display:block}.wall-dock{bottom:max(20px,env(safe-area-inset-bottom))}.wall-dock button{padding:0 12px}.wall-short-label{display:inline}.wall-long-label{display:none}}
@media(min-width:480px){.wall-dock button{padding:0 16px}.wall-short-label{display:none}.wall-long-label{display:inline}}
@media(prefers-reduced-motion:reduce){.wall-preview{animation:none!important}.wall-preview[data-state=exiting]{visibility:hidden}}
/* 原投递弹窗Et和Tt的尺寸；昵称与审核说明仍遵循本站公开规则。 */
#message-dialog{width:calc(100vw - 32px);max-width:448px;border-radius:28px;padding:20px;background:#fffffff2;border:1px solid #ffffff80;backdrop-filter:blur(24px);outline:none;position:fixed;top:max(88px,env(safe-area-inset-top));bottom:auto;margin:0 auto;max-height:calc(100dvh - 104px);overflow:auto}
#message-dialog::backdrop{background:#0206178c;backdrop-filter:blur(6px)}
#message-dialog .dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
#message-dialog .dialog-head h2{font-size:18px;line-height:28px;font-weight:600}
#message-dialog .dialog-head button{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;padding:0;color:#64748b}
#message-dialog .message-form{display:flex;flex-direction:column;gap:16px}
#message-dialog .message-form textarea{min-height:160px;width:100%;resize:none;border-radius:16px;background:#f1f5f9;padding:12px 16px;font-size:15px;line-height:28px;color:#020617;outline:none;border:0}
#message-dialog .message-form textarea:focus{background:white;box-shadow:0 0 0 2px #10b98140}
.dark #message-dialog{background:#0f172af2;border-color:#ffffff1a;color:#f8fafc}
.dark #message-dialog .message-form textarea{background:#020617b3;color:#f8fafc}
.dark #message-dialog .message-form textarea:focus{background:#020617;box-shadow:0 0 0 2px #34d39940}
@media(min-width:640px){#message-dialog{width:448px;padding:24px;top:50%;transform:translateY(-50%);max-height:calc(100dvh - 32px)}}
#message-dialog .wall-compose-heading>p{font-size:12px;font-weight:600;letter-spacing:.025em;color:#059669;margin:0}
#message-dialog .wall-compose-heading>h2{margin:4px 0 0}
#message-dialog .wall-compose-footer{display:flex;align-items:center;gap:12px}
#message-dialog .wall-compose-tools{display:flex;align-items:center;gap:12px}
#message-dialog .wall-compose-tools .emoji-tools{margin:0}
#message-dialog .wall-compose-tools .character-count{margin:0;font-size:12px;white-space:nowrap}
#message-dialog .wall-compose-shortcut{font-size:12px;color:#94a3b8;display:none;white-space:nowrap}
#message-dialog .wall-compose-footer>.button.primary{margin-left:auto;height:44px;min-width:96px;border-radius:999px;padding:0 20px;background:#059669;color:white;font-size:14px;font-weight:600}
#message-dialog .wall-compose-footer>.button.primary:disabled{cursor:not-allowed;opacity:.4}
@media(min-width:640px){#message-dialog .wall-compose-shortcut{display:inline}}
.wall-dock>div{position:relative}
.wall-dock .wall-compose[data-rate-limited=true]{background:#fbbf24;color:#020617;font-family:"Maple Mono",monospace}
.wall-rate-tip{position:absolute;right:-24px;bottom:calc(100% + 12px);z-index:40;width:max-content;max-width:min(288px,calc(100vw - 32px));border:1px solid #fde68acc;border-radius:12px;background:#fffffff2;padding:8px 12px;text-align:center;font-size:12px;line-height:20px;color:#334155;box-shadow:0 20px 25px -5px #0003;backdrop-filter:blur(24px)}
.wall-rate-tip:after{content:"";position:absolute;top:100%;right:72px;width:8px;height:8px;transform:translateY(-50%) rotate(45deg);border-right:1px solid #fde68acc;border-bottom:1px solid #fde68acc;background:#fffffff2}
.dark .wall-rate-tip{background:#0f172af2;border-color:#fbbf2440;color:#e2e8f0}
@media(min-width:640px){.wall-rate-tip{right:auto;left:50%;transform:translateX(-50%)}.wall-rate-tip:after{right:auto;left:50%;transform:translate(-50%,-50%) rotate(45deg)}}
