:root{--cream:#fffaf0;--white:#fff;--orange:#f97316;--orange-dark:#e85d04;--amber:#fbbf24;--amber-soft:#fef3c7;--ink:#3b2417;--muted:#78695f;--line:#fed7aa;--shadow:0 24px 70px rgba(180,83,9,.14);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#fffdf8 0%,#fff8e8 52%,#fff4da 100%);color:var(--ink);font-family:'Noto Sans TC',sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.ambient{position:fixed;border-radius:999px;filter:blur(3px);opacity:.42;pointer-events:none;z-index:-1}.ambient-one{width:420px;height:420px;background:#ffe3a3;right:-140px;top:12%}.ambient-two{width:300px;height:300px;background:#ffd5ba;left:-120px;bottom:4%}.topbar{max-width:1240px;margin:auto;padding:22px 26px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;background:none;border:0;color:var(--ink);text-align:left}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--amber),var(--orange));color:#fff;font-weight:900;box-shadow:0 8px 22px rgba(249,115,22,.25)}.brand strong,.brand small{display:block}.brand small{font-size:.75rem;color:var(--muted);margin-top:2px}.ghost-button,.back-link{border:0;background:rgba(255,255,255,.68);color:var(--orange-dark);font-weight:700;padding:11px 17px;border-radius:999px;box-shadow:0 8px 24px rgba(180,83,9,.08)}.view{display:none}.view.active{display:block;animation:fadeIn .45s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.login-shell{max-width:1180px;margin:24px auto 80px;padding:28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center;min-height:calc(100vh - 150px)}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--orange-dark);font-size:.75rem;font-weight:800;letter-spacing:.15em}.eyebrow i,.live-pill i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(249,115,22,.12)}.welcome-copy h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1.12;letter-spacing:-.05em;margin:24px 0}.welcome-copy h1 em{font-style:normal;background:linear-gradient(90deg,var(--orange-dark),var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-copy>p{font-size:1.05rem;line-height:1.9;color:var(--muted);max-width:560px}.feature-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.feature-row span{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);font-size:.82rem;font-weight:700;color:#9a4f17}.entry-card{background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.9);border-radius:36px;padding:16px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.art-card{height:390px;position:relative;overflow:hidden;border-radius:27px;background:linear-gradient(155deg,#fffdf8 8%,#fff0b8 52%,#ffc56c 100%)}.art-card:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent)}.art-card img{position:absolute;width:min(88%,520px);max-height:92%;object-fit:contain;right:-2%;bottom:-4%;filter:drop-shadow(0 22px 25px rgba(154,74,11,.2));animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}.sun{position:absolute;width:190px;height:190px;right:18px;top:18px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#ffe195 36%,rgba(255,186,54,.18) 70%);filter:blur(2px)}.cloud{position:absolute;border-radius:999px;background:rgba(255,255,255,.8);filter:blur(1px)}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud-a{width:160px;height:30px;left:28px;top:92px}.cloud-a:before{width:58px;height:58px;left:25px;bottom:0}.cloud-a:after{width:70px;height:70px;left:68px;bottom:-2px}.cloud-b{width:130px;height:24px;right:18px;bottom:58px}.cloud-b:before{width:48px;height:48px;left:24px;bottom:0}.spark{position:absolute;color:#fff;font-size:2rem;text-shadow:0 4px 15px rgba(249,115,22,.35);animation:twinkle 2.7s ease-in-out infinite}.spark-one{left:12%;bottom:22%}.spark-two{right:14%;top:22%;animation-delay:1s}@keyframes twinkle{50%{transform:scale(1.35) rotate(20deg);opacity:.55}}.entry-card form{padding:24px 22px 16px}.form-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.form-heading strong,.form-heading small{display:block}.form-heading strong{font-size:1.1rem}.form-heading small{color:var(--muted);margin-top:4px}.secure-badge{font-size:.72rem;color:#9a4f17;background:var(--amber-soft);padding:7px 10px;border-radius:999px}.code-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 5px}.code-inputs input{width:100%;height:68px;border:2px solid #f2dfca;border-radius:18px;text-align:center;font-size:1.8rem;font-weight:900;color:var(--orange-dark);background:#fffaf5;outline:none;transition:.2s}.code-inputs input:focus{border-color:var(--orange);box-shadow:0 0 0 5px rgba(249,115,22,.11);transform:translateY(-2px)}.form-message{min-height:22px;color:#c2410c;font-size:.82rem;margin:7px 0}.primary-button{width:100%;border:0;border-radius:16px;padding:15px 20px;color:#fff;background:linear-gradient(120deg,var(--orange),var(--orange-dark));font-weight:800;box-shadow:0 12px 24px rgba(234,88,12,.22);transition:.2s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(234,88,12,.28)}.primary-button span{float:right}.demo-hint{text-align:center;color:var(--muted);font-size:.74rem;margin:14px 0 0}.demo-hint button{border:0;background:none;color:var(--orange-dark);font-weight:800;text-decoration:underline}
.event-hero,.admin-shell{max-width:1180px;margin:25px auto;padding:24px}.event-heading{margin-top:34px;padding:34px;border-radius:var(--radius);background:linear-gradient(125deg,#fff 0%,#fff5d7 60%,#ffd87c 100%);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.event-heading h1,.admin-header h1{font-size:clamp(2rem,4vw,3.5rem);margin:14px 0 6px;letter-spacing:-.04em}.event-heading p,.admin-header p{color:var(--muted);margin:0}.live-pill{display:inline-flex;align-items:center;gap:9px;padding:7px 12px;background:#fff;border-radius:999px;color:var(--orange-dark);font-size:.75rem;font-weight:800}.online-card{min-width:115px;height:115px;border-radius:26px;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.72);border:1px solid #fff}.online-card span{font-size:2.2rem;font-weight:900;color:var(--orange-dark)}.online-card small{color:var(--muted)}.event-layout{max-width:1180px;margin:0 auto 80px;padding:0 24px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:24px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title span{font-size:.72rem;font-weight:800;color:var(--orange);letter-spacing:.08em}.section-title h2{margin:3px 0 0;font-size:1.35rem}.sync-note{color:#16a34a!important}.post-list{display:grid;gap:16px}.post-card,.response-panel,.wordcloud-card,.quick-card,.admin-panel{background:rgba(255,255,255,.84);border:1px solid #fff;border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(180,83,9,.08)}.post-card.pinned{border-color:#fdba74}.post-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.73rem}.post-card h3{margin:15px 0 8px}.post-card>p{white-space:pre-wrap;line-height:1.8;color:#5f5149}.post-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.action-button,.link-button,.delete-button{border:1px solid var(--line);background:#fff8ed;color:#a3460c;padding:9px 13px;border-radius:12px;font-weight:700;text-decoration:none;font-size:.82rem}.link-button{background:var(--orange);border-color:var(--orange);color:#fff}.attachment{display:inline-flex;margin-top:12px;padding:8px 11px;border-radius:10px;background:#fff4dc;color:#8a4b1d;font-size:.8rem}.response-panel{margin-top:24px}.response-panel label,.admin-panel label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}.response-panel textarea,.admin-panel textarea,.admin-panel input{width:100%;border:1.5px solid #f0ddc8;border-radius:14px;padding:13px;background:#fffdf9;color:var(--ink);outline:none}.response-panel textarea{min-height:120px;resize:vertical;margin-top:8px}.response-panel textarea:focus,.admin-panel input:focus,.admin-panel textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(249,115,22,.1)}.response-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.primary-button.compact{width:auto;padding:11px 20px}.response-list{display:grid;gap:9px;margin-top:22px}.response-item{background:#fff8ec;border-radius:14px;padding:12px 14px}.response-item p{margin:0}.response-item small{color:var(--muted)}.side-column{display:grid;gap:18px;align-content:start}.word-cloud{min-height:250px;display:flex;align-content:center;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:18px}.word-cloud span{color:var(--orange-dark);line-height:1}.quick-card strong{color:var(--orange-dark)}.quick-card p{color:var(--muted);line-height:1.7;margin-bottom:0}
.admin-header{display:flex;justify-content:space-between;align-items:flex-end;margin:10px 0 28px}.admin-header .eyebrow{margin-top:24px}.admin-code{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;color:var(--muted)}.admin-code strong{font-size:1.5rem;color:var(--orange-dark);margin-left:8px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats-grid article{background:#fff;border:1px solid #fff1dc;border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(180,83,9,.07)}.stats-grid span,.stats-grid small{display:block;color:var(--muted);font-size:.76rem}.stats-grid strong{display:block;font-size:2rem;color:var(--orange-dark);margin:7px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.admin-panel form{display:grid;gap:15px}.admin-panel textarea{min-height:120px;resize:vertical}.form-split{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px}.file-field{padding:14px;border-radius:14px;background:#fff7e8}.file-field input{border:0;padding:6px 0;background:transparent}.admin-post-list{display:grid;gap:12px}.admin-post-item{display:flex;justify-content:space-between;gap:12px;padding:15px;border-radius:16px;background:#fff8eb}.admin-post-item strong,.admin-post-item small{display:block}.admin-post-item small{color:var(--muted);margin-top:4px}.delete-button{color:#b42318;background:#fff1ef;border-color:#ffd0ca}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#3b2417;color:#fff;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;gap:28px;padding-top:0}.welcome-copy{text-align:center}.welcome-copy>p{margin-inline:auto}.feature-row{justify-content:center}.art-card{height:340px}.event-layout,.admin-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.topbar{padding:16px}.brand small{display:none}.login-shell{padding:12px 16px;margin-top:5px}.welcome-copy h1{font-size:2.55rem}.entry-card{border-radius:27px}.art-card{height:285px}.entry-card form{padding:20px 10px 10px}.code-inputs{gap:8px}.code-inputs input{height:59px;border-radius:14px}.event-hero,.admin-shell{padding:16px}.event-heading{padding:24px;align-items:flex-start}.event-heading p{font-size:.9rem}.online-card{min-width:82px;height:82px}.event-layout{padding:0 16px}.admin-header{align-items:flex-start;gap:16px}.admin-code{padding:10px}.stats-grid{gap:9px}.stats-grid article{padding:15px}.form-split{grid-template-columns:1fr}.post-card,.response-panel,.wordcloud-card,.quick-card,.admin-panel{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.participant-label{font-size:.78rem;font-weight:800;color:var(--orange-dark);background:#fff;border:1px solid var(--line);padding:9px 14px;border-radius:999px}.ghost-button{text-decoration:none}.admin-body{background:linear-gradient(145deg,#fffdf8,#fff6df)}.session-panel{background:#ffffffcc;padding:22px;border-radius:24px;margin-bottom:20px}.session-tabs{display:flex;gap:10px;overflow-x:auto}.session-tab{min-width:180px;border:1px solid var(--line);background:#fffaf2;padding:13px 15px;border-radius:15px;text-align:left;color:var(--ink)}.session-tab strong,.session-tab small{display:block}.session-tab small{color:var(--orange-dark);margin-top:5px}.session-tab.active{background:linear-gradient(130deg,var(--orange),var(--orange-dark));color:#fff}.session-tab.active small{color:#fff}.session-overview{display:grid;grid-template-columns:1.4fr .6fr;gap:20px;margin-bottom:20px}.session-card,.qr-card{background:#fff;border-radius:24px;padding:24px;box-shadow:0 14px 40px #b4530914}.session-card>span{font-size:.75rem;color:var(--orange);font-weight:800}.big-code{display:flex;align-items:center;justify-content:space-between;background:#fff6e3;border:1px solid var(--line);border-radius:18px;padding:14px 18px;margin:15px 0}.big-code strong{font-size:2rem;letter-spacing:.12em;color:var(--orange-dark)}.session-card label{display:grid;gap:7px;color:var(--muted);font-size:.8rem;font-weight:700}.session-card input{width:100%;border:1.5px solid #f0ddc8;border-radius:13px;padding:12px}.session-card>small{display:block;color:var(--muted);margin-top:7px}.url-actions{display:flex;gap:10px;margin-top:16px}.url-actions .primary-button{width:auto}.qr-card{display:grid;place-items:center;text-align:center}.qr-card img{width:min(100%,250px)}#qr-empty b{width:100px;height:100px;border:2px dashed var(--line);border-radius:18px;display:grid;place-items:center;margin:auto;color:var(--orange);font-size:2rem}.optional-note{color:var(--muted);font-size:.8rem}dialog{width:min(92vw,520px);border:0;border-radius:26px;padding:0;box-shadow:0 30px 90px #3b241747}dialog::backdrop{background:#3b241761}dialog form{padding:26px;display:grid;gap:15px}dialog label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}dialog input,dialog textarea{width:100%;border:1.5px solid #f0ddc8;border-radius:14px;padding:13px}.dialog-heading{display:flex;justify-content:space-between}.dialog-heading button{border:0;background:#fff3df;width:36px;height:36px;border-radius:50%;font-size:1.4rem}@media(max-width:900px){.session-overview{grid-template-columns:1fr}.qr-card{min-height:300px}}
.brand-photo{overflow:hidden;padding:0;background:#fff}.brand-photo img{width:100%;height:100%;object-fit:cover;display:block}
.art-card .cover-image{width:100%;height:100%;right:0;bottom:0;object-fit:cover;filter:none;animation:none}.admin-lock{min-height:calc(100vh - 100px);display:grid;place-items:center;padding:24px}.admin-login-card{width:min(100%,430px);background:#fff;padding:32px;border-radius:28px;box-shadow:var(--shadow);text-align:center}.admin-login-card>img{width:78px;height:78px;object-fit:cover;border-radius:22px;margin-bottom:18px}.admin-login-card h1{margin:14px 0 6px}.admin-login-card>p{color:var(--muted)}.admin-password{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 5px}.admin-password input{width:100%;height:62px;border:2px solid var(--line);border-radius:15px;text-align:center;font-size:1.6rem;font-weight:900;color:var(--orange-dark);outline:none}.admin-password input:focus{border-color:var(--orange);box-shadow:0 0 0 4px #f9731620}
.session-management{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.warning-button{color:#9a4f17;background:#fff3cd;border-color:#f8c75d}.session-status{margin:12px 0 0!important;padding:9px 12px;border-radius:12px;background:#ecfdf3;color:#18794e!important;font-weight:800}.session-status.closed{background:#fff1e8;color:#b54708!important}.session-tab.closed{opacity:.7;border-style:dashed}.closed-badge{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:999px;background:#fff1e8;color:#b54708;font-size:.68rem;font-style:normal}
.side-column .response-panel{margin-top:0;width:100%}

.attachment-actions,.admin-post-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attachment-actions{margin-top:12px}.attachment-actions .attachment{margin-top:0}.attachment.unavailable{opacity:.72}.admin-post-actions{justify-content:flex-end}
.order-button{min-width:72px;text-align:center}.order-button:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.5)}
