:root{--ink:#183541;--muted:#60747a;--deep:#153947;--sea:#2d7779;--gold:#b69558;--paper:#fbf9f2;--line:#e4e2d7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f5ef;color:var(--ink);font:15px/1.65 system-ui,"Noto Sans TC",sans-serif}a{color:inherit}button,a.plaza-action,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cba961;outline-offset:2px}
body>header{height:72px;padding:0 max(4vw,20px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}header a{text-decoration:none}.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-size:12px;font-weight:700;line-height:1.15}.brand b{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;color:#8c734d;font:20px Georgia,serif;letter-spacing:0}.brand small{display:block;margin-top:5px;font-size:10px}.back-home{font-size:13px;font-weight:700;padding:9px 15px;border:1px solid #d9d8cb;border-radius:100px;background:#fff}main{max-width:1200px;margin:auto;padding:28px 26px 100px}
.lobby{min-height:358px;position:relative;display:grid;grid-template-columns:minmax(350px,.83fr) minmax(0,1.17fr);align-items:center;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 70% 38%,#267479 0,#165360 36%,#123c4a 75%);box-shadow:0 22px 52px #133b4540}.lobby:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#153a48 0%,#153a48e0 32%,transparent 72%);pointer-events:none;z-index:1}.lobby-copy{position:relative;z-index:2;padding:42px 0 42px 52px;color:#f5f3e8}.lobby-copy small,.plaza-section-intro small{color:#cdb881;font-size:10px;font-weight:700;letter-spacing:2.5px}.lobby h1{font:500 clamp(36px,4vw,54px)/1.25 Georgia,serif;letter-spacing:.04em;margin:18px 0 16px}.lobby h1 em{font-style:normal;color:#e5cf98}.lobby-copy p{max-width:430px;color:#d3e0dc;line-height:1.85;margin:0 0 22px}.lobby-link{display:inline-flex;align-items:center;gap:14px;color:#f5e6bd;text-decoration:none;border-bottom:1px solid #cbb780;padding:4px 0 8px;font-weight:700;font-size:13px}.lobby-link span{font-size:18px}
#scene{position:relative;z-index:0;align-self:stretch;display:flex;align-items:center;justify-content:center;margin:-20px -20px -20px -80px}#scene svg{display:block;width:100%;max-height:380px;filter:drop-shadow(0 22px 18px #071e2940)}.scene-destination{position:absolute;transform:translate(-50%,-15%);z-index:3;padding:5px 11px;min-height:31px;border:1px solid #c8aa70;border-radius:99px;background:#fff9eb;color:var(--ink);box-shadow:0 5px 14px #0a293d55;font-weight:700;font-size:11px;white-space:nowrap}
#areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 38px}#areas button{display:flex;align-items:center;gap:11px;text-align:left;min-height:86px;padding:15px;border:1px solid #e2e2d7;border-radius:14px;background:#fffefa;color:var(--ink);box-shadow:0 3px 12px #122f3610;transition:transform .18s,border-color .18s}#areas button:hover{transform:translateY(-2px);border-color:#baad85}#areas button[aria-pressed=true]{background:#204957;border-color:#204957;color:#fff;box-shadow:0 9px 22px #163b4633}.area-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:#eff2e9;color:#557c70;font-size:20px}#areas button[aria-pressed=true] .area-icon{background:#ffffff22;color:#ead09a}.area-text{display:flex;flex-direction:column;min-width:0}.area-text strong{font-size:14px}.area-text small{font-size:11px;color:#718483;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#areas button[aria-pressed=true] small{color:#c9d8d8}
#notice{padding:12px 16px;margin:0 0 18px;border-radius:10px;background:#fff0c6}#notice[hidden]{display:none}#plaza-content{overflow-wrap:anywhere}.plaza-pane{max-width:1000px;margin:auto}.plaza-section-intro{margin:0 0 24px}.plaza-section-intro small{color:#8b744e}.plaza-section-intro h2{font:500 clamp(29px,3vw,38px)/1.25 Georgia,serif;margin:6px 0}.plaza-section-intro p{color:var(--muted);margin:0}h2,h3,p{margin:0 0 .65em}h2{font-size:28px}h3{font-size:19px}
button,a.plaza-action{border:1px solid #d8d8c9;border-radius:9px;background:#f5f2e8;color:var(--ink);min-height:39px;padding:7px 13px;text-decoration:none}button:hover,a.plaza-action:hover{border-color:#a9986e}button.primary,a.plaza-action{background:var(--deep);color:#fff;border-color:var(--deep)}.plaza-card,article,.plaza-form{background:#fffefa;border:1px solid var(--line);border-radius:14px;padding:20px;margin:12px 0}.plaza-form,form{display:grid;gap:12px;max-width:760px}label{font-size:13px;font-weight:600;color:#496068}input,select,textarea{display:block;width:100%;min-width:0;padding:10px 12px;border:1px solid #d0d6d0;border-radius:9px;background:#fff;color:var(--ink)}label input,label select,label textarea{margin-top:5px}input[type=checkbox],input[type=radio]{display:inline-block;width:auto}textarea{min-height:88px;resize:vertical}.plaza-row,.plaza-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.plaza-muted,.hint{color:var(--muted);font-size:13px}.plaza-photo,.plaza-card img,article img{max-width:100%;max-height:420px;object-fit:contain;border-radius:9px}.plaza-avatar svg,.avatar-art svg{width:42px;height:46px;display:block}.avatar-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.avatar-grid button{padding:3px}.avatar-grid svg{display:block;width:100%;height:auto}.avatar-grid button[aria-pressed=true]{border:2px solid var(--gold)}.profile-heading{display:flex;align-items:center;gap:12px}.profile-heading svg{width:68px;height:75px}#plaza-content button{max-width:100%}#plaza-content time{font-size:12px}.plaza-error{color:#a93e33}
.plaza-invite{display:flex;align-items:center;gap:16px;padding:17px 20px;background:#e9f0eb;border-color:#d2e3d7}.plaza-invite span{font-weight:700;white-space:nowrap}.plaza-invite p{margin:0;flex:1;color:#506a67;font-size:13px}.plaza-invite button{background:var(--deep);color:#fff;border:0;white-space:nowrap}.plaza-new-topic{padding:0;overflow:hidden}.plaza-new-topic summary{list-style:none;cursor:pointer;padding:16px 22px;font-weight:700;color:var(--sea)}.plaza-new-topic summary::-webkit-details-marker{display:none}.plaza-new-topic[open] summary{border-bottom:1px solid var(--line)}.plaza-new-topic form{margin:0;padding:20px;border:0;background:none;max-width:none}.plaza-new-topic form button[type=submit],.plaza-reply-form button[type=submit],.plaza-chat-composer button[type=submit]{background:var(--deep);color:#fff;border:0;justify-self:start}
.plaza-topic-toolbar{display:flex;justify-content:space-between;align-items:baseline;margin:30px 0 12px}.plaza-topic-toolbar strong{font:500 24px Georgia,serif}.plaza-topic-toolbar span{color:var(--muted);font-size:12px}.plaza-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.plaza-filters button{border-radius:99px;background:#fffefa;padding:6px 15px;font-size:13px;min-height:35px}.plaza-filters button[aria-pressed=true]{background:#244e5b;border-color:#244e5b;color:#fff}.plaza-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plaza-topic-card{margin:0;padding:22px;display:flex;min-height:156px;flex-direction:column;align-items:flex-start;gap:7px;box-shadow:0 5px 18px #113c4210}.topic-category{color:#9a7e47;font-weight:700;font-size:11px;letter-spacing:.1em}.plaza-topic-card>button{border:0;background:transparent;min-height:0;padding:0;text-align:left;font-weight:700;font-size:19px;line-height:1.4;color:var(--ink)}.plaza-topic-card>button:hover{color:#276e72;text-decoration:underline}.plaza-author{gap:7px;margin-top:auto}.plaza-author button{padding:0;min-height:0;border:0;background:none;color:var(--ink);font-weight:700}.plaza-author small{font-size:11px}.plaza-topic-detail{padding:28px}.plaza-topic-detail>small{color:#9a7e47;font-weight:700}.plaza-topic-detail h2{font:500 34px Georgia,serif;margin:10px 0 16px}.plaza-topic-detail>p{margin:24px 0}.plaza-reply{margin:10px 0}.plaza-reply-form{padding:22px;border-radius:14px;background:#e8efec}.plaza-report>button{min-height:0;padding:3px 0;background:transparent;border:0;color:#7b8583;font-size:12px}.plaza-empty{grid-column:1/-1;display:flex;min-height:225px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #ccd8cd;border-radius:16px;background:linear-gradient(135deg,#f9fbf3,#e9f1e8);padding:28px}.plaza-empty span{font:36px Georgia,serif;color:#a99c77}.plaza-empty h3{margin:5px 0}.plaza-empty p{max-width:380px;color:var(--muted);font-size:13px;margin:0}
.plaza-chat-room{border:1px solid #d6ddd6;border-radius:20px;overflow:hidden;background:#fffefa;box-shadow:0 16px 48px #14364012}.plaza-room-head{display:flex;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid #e3e7dc;background:#edf3ec}.room-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#d3e4dc;color:#2e796a;font-size:22px}.room-title{display:flex;flex-direction:column;line-height:1.45}.room-title strong{font-size:15px}.room-title small{color:var(--muted);font-size:11px}.plaza-room-head>p{margin:0 0 0 auto;text-align:right;font-size:11px}.plaza-chat-privacy{padding:10px 22px;background:#f8f4e9;color:#766d5b;font-size:12px;margin:0;border-bottom:1px solid #eee8d7}.plaza-chat-list{height:min(57vh,570px);min-height:340px;overflow:auto;padding:23px;background:radial-gradient(circle at 10% 20%,#eaf2ee,transparent 45%),#f7f9f4}.plaza-chat-message{display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 12px;width:min(85%,630px);border:0;background:none;padding:0;margin:0 0 18px}.plaza-chat-message .plaza-author{grid-column:1/-1;display:contents}.plaza-chat-message .plaza-avatar{grid-column:1;grid-row:1/3;align-self:start}.plaza-chat-message .plaza-author button,.plaza-chat-message .plaza-author strong{grid-column:2;grid-row:1;justify-self:start;line-height:1.3}.plaza-chat-message .plaza-author small{grid-column:2;grid-row:1;justify-self:end;align-self:center;margin-right:3px;font-size:10px}.plaza-chat-message>p{grid-column:2;grid-row:2;padding:12px 15px;border-radius:2px 14px 14px 14px;background:#fff;box-shadow:0 3px 13px #16374714;margin:5px 0 0;line-height:1.65}.plaza-chat-message .plaza-report{grid-column:2}.plaza-chat-composer{max-width:none;display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 12px;margin:0;border:0;border-top:1px solid #e3e7df;border-radius:0;padding:16px 22px;background:#fffefa}.plaza-chat-composer label{grid-column:1}.plaza-chat-composer textarea{min-height:54px;max-height:160px}.plaza-chat-composer .plaza-error{grid-column:1/-1}.plaza-chat-composer button[type=submit]{grid-column:2;grid-row:1;padding:12px 20px;white-space:nowrap}.plaza-chat-room>.plaza-invite{border-radius:0;margin:0;border:0;border-top:1px solid #e3e7df}.plaza-chat-list .plaza-empty{height:100%;border:0;background:none}
.plaza-event-editor{display:grid;gap:12px}.plaza-event-editor label{display:grid;gap:4px}.plaza-event-card dl{display:grid;grid-template-columns:max-content 1fr;gap:.4rem .8rem}.plaza-event-card dd{margin:0;overflow-wrap:anywhere}
.plaza-chat-message{display:block}.plaza-chat-message .plaza-author{display:flex;gap:7px;align-items:center}.plaza-chat-message .plaza-avatar{flex:none}.plaza-chat-message .plaza-author small{margin-left:4px}.plaza-chat-message>p{margin:4px 0 0 54px}.plaza-chat-message .plaza-report{margin-left:54px}
.plaza-badge{display:inline-flex;align-items:center;gap:3px;width:max-content;max-width:100%;padding:2px 8px;border:1px solid #c8a668;border-radius:99px;background:#f3e7c9;color:#765729;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.plaza-badge-moderator{border-color:#86aaa9;background:#e4f0ed;color:#2d6267}.plaza-badge-organizer{border-color:#bdada0;background:#f3e9df;color:#805e48}.plaza-owner-heading{display:flex;align-items:center;gap:12px;margin:14px 0 4px}.plaza-owner-heading strong{font-size:19px}.profile-heading h2{margin:0}.plaza-form input[readonly],.plaza-form select:disabled{background:#f1f0e9;color:#4c5b59;opacity:1}.plaza-chat-message .plaza-badge{font-size:10px}
.plaza-owner-control{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;font-size:12px;color:#85564a}.plaza-owner-control button{min-height:30px;padding:4px 9px;font-size:12px}.plaza-owner-start{border-color:#e4c7c0;background:#fff8f6;color:#9a5146}.plaza-owner-danger{border-color:#a4483a;background:#a4483a;color:#fff}.plaza-topic-card .plaza-owner-control{margin-top:3px}.plaza-chat-message .plaza-owner-control{margin-left:54px}
@media(max-width:900px){.lobby{grid-template-columns:1fr 1.1fr}.lobby-copy{padding-left:30px}#scene{margin-left:-60px}#areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body>header{height:62px;padding:0 15px}.brand{font-size:10px;letter-spacing:1.7px}.brand b{width:36px;height:36px;font-size:17px}.brand small{letter-spacing:2px;font-size:9px}.back-home{font-size:12px;padding:7px 10px}main{padding:12px 12px 70px}.lobby{display:flex;flex-direction:column;min-height:0;border-radius:18px}.lobby:before{background:linear-gradient(#153a48ee 0%,transparent 70%)}.lobby-copy{width:100%;padding:25px 24px 0}.lobby-copy small{font-size:9px;letter-spacing:1.5px}.lobby h1{font-size:33px;margin:12px 0}.lobby-copy p{font-size:13px;margin-bottom:12px}.lobby-link{display:none}#scene{width:100%;min-height:185px;align-self:center;margin:-8px 0 -10px}#scene svg{width:110%;max-height:210px}.scene-destination{font-size:9px;min-height:24px;padding:2px 5px}#areas{gap:7px;margin:11px 0 27px}#areas button{min-height:68px;padding:9px;gap:7px}.area-icon{width:30px;height:30px;font-size:17px}.area-text strong{font-size:12px}.area-text small{display:none}.plaza-section-intro h2{font-size:29px}.plaza-invite{display:block}.plaza-invite span{display:block}.plaza-invite p{margin:3px 0 10px}.plaza-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -12px 14px;padding:0 12px 5px}.plaza-filters button{flex:none}.plaza-list{grid-template-columns:1fr}.plaza-topic-card{min-height:135px}.plaza-room-head{padding:12px}.plaza-room-head>p{max-width:110px}.plaza-chat-privacy{padding:8px 12px}.plaza-chat-list{height:48vh;min-height:260px;padding:15px 10px}.plaza-chat-message{width:100%}.plaza-chat-composer{padding:11px;gap:6px}.plaza-chat-composer button[type=submit]{padding:10px}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.plaza-card,article,.plaza-form{padding:15px}.plaza-new-topic{padding:0}.plaza-new-topic form{padding:15px}}
