:root{--tx-color-brand: #2563eb;--tx-color-brand-hover: #4080ff;--tx-color-brand-strong: #0e42d2;--tx-color-brand-soft: #e8f3ff;--tx-color-ai-purple: #722ed1;--tx-color-ai-magenta: #d91ad9;--tx-gradient-ai: linear-gradient(100deg, #2563eb 0%, #4080ff 100%);--tx-color-success: #00b42a;--tx-color-warning: #ff7d00;--tx-color-danger: #f53f3f;--tx-color-text-primary: #0f172a;--tx-color-text-secondary: #626c7b;--tx-color-text-muted: #9ca3af;--tx-color-text-disabled: #c9cdd4;--tx-color-border: #e5e6eb;--tx-color-border-soft: #f2f3f5;--tx-color-fill-page: #f6f8fa;--tx-color-fill-page-mobile: #fbfdff;--tx-color-fill-secondary: #f9fafb;--tx-color-fill-input: #f2f3f5;--tx-color-fill-card: #ffffff;--tx-radius-card: 8px;--tx-radius-control: 6px;--tx-radius-mobile-card: 12px;--tx-shadow-card: 0 2px 4px rgba(0, 0, 0, .04);--tx-shadow-menu: 0 4px 24px rgba(0, 0, 0, .04);--tx-shadow-float: 0 4px 10px rgba(0, 0, 0, .1);--tx-shadow-mobile-card: 0 2px 8px rgba(0, 0, 0, .08);--tx-shadow-mobile-modal: 0 8px 24px rgba(0, 0, 0, .12);--tx-space-1: 4px;--tx-space-2: 8px;--tx-space-3: 12px;--tx-space-4: 16px;--tx-space-5: 20px;--tx-space-6: 24px;--tx-font-family: "Source Han Sans CN", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif}body{margin:0;color:var(--tx-color-text-primary);font-family:var(--tx-font-family);background:var(--tx-color-fill-page)}.tx-card{background:var(--tx-color-fill-card);border:1px solid var(--tx-color-border);border-radius:var(--tx-radius-card);box-shadow:var(--tx-shadow-card)}.tx-primary-button{border:0;border-radius:var(--tx-radius-control);color:#fff;background:var(--tx-color-brand);font-weight:600;cursor:pointer;box-shadow:0 2px 4px #2563eb33}html,body,#app{width:100%;height:100%;overflow:hidden;scrollbar-width:none}body{margin:0;background:var(--tx-color-fill-page-mobile)}html::-webkit-scrollbar,body::-webkit-scrollbar,.mobile-shell::-webkit-scrollbar{width:0;height:0}*{box-sizing:border-box}input::placeholder,textarea::placeholder{color:#9ca3af75}input[type=date],input[type=datetime-local],input[type=time]{cursor:pointer;padding-right:34px!important;background:linear-gradient(90deg,transparent calc(100% - 34px),rgba(242,243,245,.72) calc(100% - 34px)),#fff}input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:0 0 0 3px #2563eb29}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--tx-color-brand-hover)!important;box-shadow:0 0 0 3px #2563eb1f}.mobile-shell{position:relative;width:100%;max-width:none;height:100vh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0 auto;padding-bottom:calc(88px + env(safe-area-inset-bottom));background:var(--tx-color-fill-page-mobile)}.mobile-loading-toast{position:fixed;top:calc(12px + env(safe-area-inset-top));left:50%;z-index:80;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);min-height:36px;padding:0 14px;border:1px solid rgba(37,99,235,.18);border-radius:999px;color:var(--tx-color-brand);background:#fffffff5;box-shadow:var(--tx-shadow-mobile-card);transform:translate(-50%);animation:mobileFadeIn .18s ease both;white-space:nowrap}.loading-spinner,.is-loading:before{display:inline-block;width:14px;height:14px;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;content:"";animation:mobileSpin .72s linear infinite}.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px;pointer-events:none}.mobile-nav{position:sticky;top:0;z-index:2;display:grid;min-height:calc(44px + env(safe-area-inset-top));grid-template-columns:44px minmax(0,1fr) 56px;align-items:center;padding-top:env(safe-area-inset-top);background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--tx-color-border);box-shadow:0 6px 18px #0f172a0a;text-align:center}.mobile-nav strong{min-width:0;overflow:hidden;color:var(--tx-color-text-primary);font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mobile-nav button{display:inline-flex;align-items:center;justify-content:center;height:36px;min-width:40px;border:0;background:transparent;font-size:24px;line-height:1}.mobile-nav button[aria-label=退出登录]{color:var(--tx-color-text-secondary);font-size:13px}.guest-login{display:grid;gap:14px;min-height:100vh;align-content:center;padding:28px 18px;background:radial-gradient(circle at 18% 14%,rgba(37,99,235,.12),transparent 30%),linear-gradient(180deg,#ffffffdb,#f8fafff5)}.guest-login .eyebrow{display:inline-flex;width:fit-content;min-height:28px;align-items:center;padding:4px 10px;border-radius:999px;color:var(--tx-color-brand);background:var(--tx-color-brand-soft);font-size:13px;font-weight:700}.guest-login h1{margin:0;font-size:26px}.guest-login p{margin:0;color:var(--tx-color-text-secondary);line-height:1.7}.guest-login label{display:grid;gap:8px;padding:12px;border:1px solid var(--tx-color-border-soft);border-radius:12px;color:var(--tx-color-text-secondary);font-size:13px;background:#ffffffdb;box-shadow:var(--tx-shadow-mobile-card)}.guest-login input,.guest-login select{height:44px;padding:0 12px;border:1px solid var(--tx-color-border);border-radius:8px;color:var(--tx-color-text-primary);background:#fff}.guest-login span{color:var(--tx-color-text-muted);font-size:12px;text-align:center}.guest-login .sync-message{justify-self:center;margin-top:0}.test-user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.test-user-actions .ghost-button{height:40px;margin-top:0;font-size:13px}.user-switch{display:grid;grid-template-columns:1fr;gap:8px;align-items:center;padding:10px 16px 12px;background:#fff;border-bottom:1px solid var(--tx-color-border)}.user-switch span{color:var(--tx-color-text-primary);font-size:14px;font-weight:700}.user-switch input,.user-switch select{width:100%}.user-switch input{display:none}.user-switch select{min-width:0;height:42px;padding:0 12px;border:1px solid var(--tx-color-border);border-radius:8px;color:var(--tx-color-text-primary);background:#fff;font-size:15px}.user-switch input::placeholder{color:var(--tx-color-text-secondary)}.hero{padding:14px 16px 16px;color:var(--tx-color-text-primary);background:transparent}.activity-home{padding:18px 16px 28px}.home-title{margin-bottom:14px}.home-title .eyebrow{color:var(--tx-color-brand)}.home-title h1{margin:6px 0 8px;font-size:28px;line-height:1.15}.home-title span{color:var(--tx-color-text-secondary);font-size:12px}.home-section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.home-section-title strong{font-size:20px}.home-section-title span{color:var(--tx-color-text-secondary);font-size:12px}.home-section-title.ended{margin-top:18px}.activity-search{position:relative;display:block;margin:-2px 0 12px}.activity-search:before{content:"";position:absolute;left:14px;top:50%;width:15px;height:15px;box-sizing:border-box;opacity:.68;pointer-events:none;transform:translateY(-50%);border:2px solid var(--tx-color-text-muted);border-radius:50%;background:transparent}.activity-search:after{content:"";position:absolute;left:26px;top:calc(50% + 5px);width:7px;height:2px;border-radius:999px;opacity:.68;pointer-events:none;background:var(--tx-color-text-muted);transform:rotate(45deg)}.activity-search input{width:100%;height:44px;min-width:0;padding:0 12px 0 38px;border:1px solid var(--tx-color-border);border-radius:8px;color:var(--tx-color-text-primary);background:#fff;font-size:14px}.date-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:14px;overflow:hidden}.date-strip button{min-width:0;height:58px;border:0;border-radius:12px;color:var(--tx-color-text-secondary);background:#fff;box-shadow:var(--tx-shadow-mobile-card)}.date-strip span,.date-strip strong,.date-strip em{display:block}.date-strip span{font-size:11px}.date-strip strong{margin-top:4px;font-size:16px}.date-strip em{margin-top:2px;font-size:10px;font-style:normal}.date-strip .active{color:#fff;background:var(--tx-color-brand)}.date-strip .disabled{color:#b8c0ce;background:#eef1f6;box-shadow:none}.activity-list{display:grid;gap:10px;border-top:0;background:transparent}.activity-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;min-height:96px;padding:14px 16px;border:1px solid var(--tx-color-border);border-radius:12px;background:#fff!important;box-shadow:var(--tx-shadow-mobile-card)!important;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.activity-list-card:hover{border-color:#2563eb3d;background:#fff!important;box-shadow:var(--tx-shadow-mobile-card)!important}.activity-list-card>div{display:grid;min-width:0;gap:4px}.activity-list-card span,.activity-list-card p{color:var(--tx-color-text-secondary);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.activity-list-card strong{display:block;margin:0;color:var(--tx-color-text-primary);font-size:19px;line-height:1.35;overflow-wrap:anywhere}.activity-list-card p{margin:0}.activity-list.archived .activity-list-card,.activity-list-card.ended{background:#fff!important;box-shadow:none!important}.activity-list-card.ended strong,.activity-list-card.ended span,.activity-list-card.ended p{color:var(--tx-color-text-secondary)}.activity-list-card button{height:36px;min-width:56px;padding:0 14px;border:1px solid rgba(37,99,235,.3);border-radius:18px;color:var(--tx-color-brand);background:var(--tx-color-brand-soft);font-weight:600;white-space:nowrap}.event-banner{padding:20px 18px;overflow:hidden;border-radius:12px;color:#fff;background:var(--tx-color-brand);box-shadow:0 2px 8px #2563eb29}.activity-status-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:12px;border-radius:12px;background:#fff;box-shadow:var(--tx-shadow-mobile-card)}.activity-status-card strong,.activity-status-card span{display:block}.activity-status-card strong{font-size:15px}.activity-status-card span{margin-top:4px;color:var(--tx-color-text-secondary);font-size:12px}.activity-status-card em{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:var(--tx-color-brand);background:var(--tx-color-brand-soft);font-size:12px;font-style:normal}.public-preview-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;justify-content:space-between;margin-top:10px;padding:10px 12px;border:1px solid rgba(37,99,235,.16);border-radius:12px;background:var(--tx-color-brand-soft)}.public-preview-panel strong,.public-preview-panel span{display:block}.public-preview-panel strong{font-size:14px}.public-preview-panel span{margin-top:4px;color:var(--tx-color-text-secondary);font-size:12px;line-height:1.5}.public-preview-panel em{display:inline-flex;flex:0 0 auto;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;color:var(--tx-color-brand);background:#fff;font-size:12px;font-style:normal;font-weight:700}.certificate-entry-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:10px;padding:12px;overflow:hidden;border:1px solid rgba(37,99,235,.2);border-radius:12px;background:#fff;box-shadow:var(--tx-shadow-mobile-card)}.certificate-entry-card span,.certificate-entry-card strong,.certificate-entry-card p{display:block;min-width:0}.certificate-entry-card span{color:var(--tx-color-brand);font-size:12px;font-weight:700}.certificate-entry-card strong{margin-top:3px;font-size:17px}.certificate-entry-card p{margin:4px 0 0;color:var(--tx-color-text-secondary);font-size:12px;line-height:1.45}.certificate-entry-card button,.certificate-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:0;border-radius:20px;color:#fff;background:var(--tx-color-brand);box-shadow:0 2px 4px #2563eb33;font-size:13px;font-weight:700;white-space:nowrap}.event-banner p{color:#ffffffe0}.event-banner .eyebrow{color:#ffffffb8}.info-row h2{margin:0 0 8px;font-size:20px;line-height:1.35}.info-row p,.agenda-item p,.resource-card p{font-size:15px}.resource-card{grid-template-columns:56px minmax(0,1fr)}.resource-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.resource-download,.resource-preview-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:38px;text-decoration:none}.hero h1{margin:6px 0 10px;font-size:30px;line-height:1.18}.hero p{margin:0;line-height:1.6}.eyebrow{color:#ffffffbf;font-size:12px}.tabs{display:flex;gap:8px;overflow-x:auto;padding:14px 16px 8px;background:transparent;scrollbar-width:none}.tabs::-webkit-scrollbar,.chip-row::-webkit-scrollbar{width:0;height:0}.tabs button,.chip-row button{border:0;background:transparent}.tabs button{flex:0 0 auto;height:40px;padding:0 12px;border-radius:999px;color:var(--tx-color-text-secondary);font-size:15px;background:#fff;border:1px solid var(--tx-color-border);transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.tabs button:active,.chip-row button:active,.resource-download:active,.resource-preview-button:active{transform:scale(.98)}.tabs .active{color:var(--tx-color-brand);border-color:var(--tx-color-brand);background:var(--tx-color-brand-soft);font-weight:600}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:8px 16px 14px;background:transparent;scrollbar-width:none}.chip-row button{flex:0 0 auto;height:36px;padding:0 12px;border:1px solid var(--tx-color-border);border-radius:999px;background:#fff;color:var(--tx-color-text-secondary);transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.chip-row .active{color:var(--tx-color-brand);border-color:var(--tx-color-brand);background:var(--tx-color-brand-soft)}.info-card{margin:10px 16px 14px;padding:16px;border-radius:12px;box-shadow:var(--tx-shadow-mobile-card)}.info-card h2{margin:0 0 10px;font-size:17px}.info-card p{margin:0;color:var(--tx-color-text-secondary);line-height:1.7}.info-row{padding:12px 0;border-bottom:1px solid var(--tx-color-border)}.info-row:first-child{padding-top:0}.info-row:last-child{padding-bottom:0;border-bottom:0}.info-row span{display:inline-block;margin-bottom:8px;padding:3px 8px;border-radius:999px;color:var(--tx-color-brand);background:var(--tx-color-brand-soft);font-size:12px}.guide-image,.agenda-image{display:block;width:100%;aspect-ratio:16 / 9;margin-bottom:12px;border-radius:8px;object-fit:cover;background:#eef2fb}.empty-text{display:grid;min-height:92px;place-items:center;padding:16px;border:1px dashed var(--tx-color-border);border-radius:12px;color:var(--tx-color-text-muted)!important;background:#f9fafbb8;text-align:center;line-height:21px}.empty-text:before{content:"";display:block;width:38px;height:38px;margin-bottom:8px;border-radius:999px;background:radial-gradient(circle at 50% 50%,var(--tx-color-brand) 0 3px,transparent 4px),linear-gradient(var(--tx-color-brand-soft),var(--tx-color-brand-soft));box-shadow:inset 0 0 0 1px #2563eb1f}.resource-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--tx-color-border)}.resource-card:last-child{border-bottom:0}.resource-cover{display:grid;width:56px;height:56px;place-items:center;border-radius:8px;color:#fff;background:var(--tx-color-brand);box-shadow:0 2px 8px #2563eb1f;font-size:12px;font-weight:800}.resource-cover.type-pdf{background:#f53f3f;box-shadow:0 2px 8px #f53f3f1f}.resource-cover.type-image{background:#00b42a;box-shadow:0 2px 8px #00b42a1f}.resource-cover.type-document{background:var(--tx-color-brand)}.resource-cover.type-archive{background:#ff7d00;box-shadow:0 2px 8px #ff7d001f}.resource-cover.type-video{background:#722ed1;box-shadow:0 2px 8px #722ed11f}.resource-card p{margin-top:6px;font-size:13px}.resource-card strong{display:block;min-width:0;overflow:hidden;color:var(--tx-color-text-primary);text-overflow:ellipsis;white-space:nowrap}.resource-actions{margin-top:10px}.resource-download,.resource-preview-button{height:38px;padding:0 12px;border:1px solid var(--tx-color-brand);border-radius:18px;color:var(--tx-color-brand);background:#fff;font-size:12px;font-weight:600}.resource-preview-button{background:var(--tx-color-brand-soft)}.preview-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;align-items:end;padding:16px 12px calc(16px + env(safe-area-inset-bottom));background:#12192661;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.preview-panel{display:grid;height:min(82vh,760px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:16px 16px 12px 12px;background:#fff;box-shadow:0 -16px 44px #0f172a33}.preview-panel header,.preview-panel footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--tx-color-border)}.preview-panel footer{border-top:1px solid var(--tx-color-border);border-bottom:0}.preview-panel header div{display:grid;min-width:0;gap:3px}.preview-panel header span{color:var(--tx-color-text-secondary);font-size:12px}.preview-panel header strong{overflow:hidden;color:var(--tx-color-text-primary);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.preview-panel header button{display:inline-grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--tx-color-border);border-radius:10px;color:var(--tx-color-text-secondary);background:#fff;font-size:24px;line-height:1}.preview-panel header button:active{transform:scale(.96)}.preview-panel iframe{width:100%;height:100%;border:0;background:#f7f9fd}.preview-panel footer .tx-primary-button{width:100%;min-height:44px;border-radius:22px;text-decoration:none}.bottom-action{position:fixed;right:0;bottom:0;left:0;max-width:none;margin:0 auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--tx-color-border)}.bottom-action button{width:100%;height:44px;border-radius:22px;box-shadow:0 2px 4px #2563eb33;font-size:16px}.certificate{position:relative;min-height:calc(100dvh - 48px - env(safe-area-inset-top));margin:0;overflow:hidden;background:#f3f5fb}.certificate-card{position:absolute;top:0;left:0;width:calc(100dvh - 48px - env(safe-area-inset-top));height:100vw;max-height:430px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;padding:28px 34px 26px;overflow:hidden;color:#fff;border-radius:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.2),transparent 24%),linear-gradient(135deg,#0b1220e6,#5b1422bd),linear-gradient(135deg,#d71920,#981b1f 42%,#111827);box-shadow:0 18px 42px #0f172a38;transform:translate(100vw) rotate(90deg);transform-origin:top left;isolation:isolate}.certificate-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(135deg,transparent 0 44%,rgba(255,213,79,.28) 44.2% 45%,transparent 45.2% 100%);background-size:28px 28px,28px 28px,100% 100%;-webkit-mask-image:linear-gradient(135deg,transparent 5%,#000 45%,rgba(0,0,0,.85) 92%);mask-image:linear-gradient(135deg,transparent 5%,#000 45%,rgba(0,0,0,.85) 92%);opacity:.56}.certificate-logo{position:absolute;right:34px;top:28px;z-index:2;width:auto;height:30px;color:#fff;font-size:22px;font-weight:800;letter-spacing:.08em;line-height:30px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.22))}.certificate-logo span{color:#aeb7ff}.certificate-border{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(255,255,255,.58);border-radius:12px;animation:borderPulse 1.35s ease-in-out infinite;pointer-events:none}.certificate-border:before,.certificate-border:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:16px;background:linear-gradient(90deg,transparent 0 12%,#55f6ff 18%,transparent 24% 52%,#ff3df2 60%,transparent 68% 100%);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;animation:certificateSpin 5.6s linear infinite,certificateHue 2.6s linear infinite}.certificate-border:after{top:-10px;right:-10px;bottom:-10px;left:-10px;animation-direction:reverse;opacity:.72}.certificate-orbit{position:absolute;border-radius:999px;border:1px dashed rgba(255,255,255,.44);pointer-events:none}.certificate-orbit-a{width:250px;height:250px;right:-92px;bottom:-112px;animation:certificateSpin 7s linear infinite}.certificate-orbit-b{width:176px;height:176px;left:-86px;top:-74px;animation:certificateSpin 4.8s linear infinite reverse}.certificate-watermark{position:absolute;right:78px;bottom:62px;color:#ffffff0f;font-size:104px;font-weight:900;letter-spacing:0;pointer-events:none}.certificate-main,.certificate-card .live-time,.certificate-card .ghost-button{position:relative;z-index:1}.certificate-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:28px;align-items:end;min-height:0}.certificate-identity{min-width:0;padding-bottom:10px}.certificate-identity p{margin:0;color:#ffffffb8;font-size:18px;font-weight:800}.certificate-identity h2{margin:12px 0 10px;overflow:hidden;color:#fff;font-size:clamp(46px,11vw,72px);line-height:.98;text-overflow:ellipsis;white-space:nowrap}.certificate-identity span{display:block;overflow:hidden;color:#ffffffd6;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.certificate dl{display:grid;gap:12px;margin:0;padding:18px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:#080c165c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.certificate dl div{display:flex;justify-content:space-between;gap:18px}.certificate dt{flex:0 0 auto;color:#fff9;font-size:16px}.certificate dd{min-width:0;margin:0;overflow:hidden;color:#fff;font-size:18px;font-weight:800;text-align:right;text-overflow:ellipsis;white-space:nowrap}.certificate dd.pending{color:#fbbf24}.live-time{display:block;min-width:0;overflow:hidden;color:#ffffffb8;font-size:15px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.ghost-button{justify-self:end;min-width:160px;min-height:40px;border:1px solid rgba(255,255,255,.36);border-radius:10px;color:#fff;background:#ffffff1a;font-weight:700}.form-panel,.result-panel,.attendee-panel{margin:14px 16px;padding:18px 16px;background:#fff;border-radius:12px;border:1px solid var(--tx-color-border-soft);box-shadow:var(--tx-shadow-mobile-card)}.form-panel h1,.result-panel h1,.attendee-panel h1{margin:0 0 8px;font-size:22px}.form-panel p,.result-panel p{margin:0 0 18px;color:var(--tx-color-text-secondary);line-height:1.7}.result-panel .sync-message{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin:-8px 0 14px;padding:4px 10px;border:1px solid rgba(37,99,235,.16);border-radius:999px;color:var(--tx-color-brand);background:var(--tx-color-brand-soft);font-size:13px;line-height:1.35}.status-hints{display:grid;gap:8px;margin:-4px 0 18px;text-align:left}.status-hints span{padding:10px 12px;border:1px solid var(--tx-color-border-soft);border-radius:10px;color:var(--tx-color-text-secondary);background:var(--tx-color-fill-secondary);font-size:12px;line-height:1.5}.form-panel label{display:grid;gap:7px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--tx-color-border-soft);border-radius:12px;color:var(--tx-color-text-secondary);font-size:13px;font-weight:600;background:var(--tx-color-fill-secondary)}.form-panel input,.form-panel select{width:100%;height:44px;margin-top:0;padding:0 10px;border:1px solid var(--tx-color-border);border-radius:8px;color:var(--tx-color-text-primary);font-size:15px;background:#fff}.form-panel label:focus-within{border-color:#2563eb47;background:#fff}@media(max-width:420px){.activity-status-card,.public-preview-panel,.certificate-entry-card{align-items:stretch}.public-preview-panel,.certificate-entry-card{grid-template-columns:1fr}.public-preview-panel em,.certificate-entry-card button{justify-content:center}}.travel-form-block,.travel-hint{margin:16px 0;padding:14px 12px 12px;border:1px solid var(--tx-color-border-soft);border-left:3px solid var(--tx-color-brand);border-radius:12px;background:var(--tx-color-fill-secondary)}.notice-card,.travel-action-card{display:grid;gap:8px;margin:14px 0;padding:12px;border:1px solid rgba(37,99,235,.18);border-radius:12px;background:var(--tx-color-brand-soft)}.notice-card strong,.travel-action-card strong{color:var(--tx-color-text-primary)}.notice-card p,.travel-action-card p,.travel-action-card span{margin:0;color:var(--tx-color-text-secondary);font-size:13px;line-height:1.55}.notice-card .ghost-button{justify-self:end;min-width:92px;margin-top:2px}.travel-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.travel-action-row .tx-primary-button,.travel-action-row .ghost-button{min-height:40px;border-radius:20px}.travel-form-block.compact{display:grid;gap:10px;margin-top:12px}.travel-form-block>strong,.travel-hint strong{display:block;margin:0 0 6px;color:var(--tx-color-text-primary);font-size:16px}.travel-form-block p,.travel-hint span,.travel-note{display:block;margin:0 0 12px;color:var(--tx-color-text-secondary);font-size:13px;line-height:1.6}.travel-form-block label:last-child{margin-bottom:0}.travel-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--tx-color-border)}.form-hint{margin:-4px 0 14px!important;padding:10px 12px 10px 14px;border:1px solid rgba(37,99,235,.16);border-left:3px solid var(--tx-color-brand);border-radius:12px;color:var(--tx-color-text-secondary);background:var(--tx-color-brand-soft);font-size:13px}.form-submit{width:100%;height:48px;margin-top:4px;border-radius:24px;font-size:15px}.form-submit:disabled,.bottom-action button:disabled{background:#c7cfdd;box-shadow:none;cursor:not-allowed}.result-panel{text-align:center}.result-icon{display:inline-grid;width:54px;height:54px;margin-bottom:14px;place-items:center;border-radius:50%;color:#fff;background:var(--tx-color-success);font-size:24px;font-weight:700;box-shadow:0 10px 24px #20a1623d}.result-icon.gift{background:var(--tx-color-warning);box-shadow:0 10px 24px #f59e0b3d}.attendee-grid{display:grid;grid-template-columns:84px 1fr;gap:0 12px;margin:0}.attendee-grid span{min-height:42px;padding:10px 0;border-bottom:1px solid var(--tx-color-border);color:var(--tx-color-text-secondary);font-size:13px}.attendee-grid strong{min-height:42px;padding:10px 0;border-bottom:1px solid var(--tx-color-border);overflow-wrap:anywhere;text-align:right;font-size:13px}.checkin-confirm-grid{margin:16px 0;text-align:left}.attendee-grid span:nth-last-child(-n+2),.attendee-grid strong:nth-last-child(-n+1){border-bottom:0}.attendee-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--tx-color-border)}.attendee-section:first-of-type{margin-top:10px}.attendee-section h2{margin:0 0 8px;color:var(--tx-color-text-primary);font-size:16px}.certificate-link-button{width:100%;margin-top:12px}.approved-strip{margin-top:14px;padding:10px 12px 10px 14px;border:1px solid rgba(32,161,98,.16);border-left:3px solid var(--tx-color-success);border-radius:12px;color:var(--tx-color-success);background:#20a1621a;font-size:13px;font-weight:700}.agenda-item{position:relative;margin-left:10px;padding:12px 0 12px 18px;border-left:2px solid rgba(37,99,235,.18);border-bottom:1px solid var(--tx-color-border)}.agenda-item:last-child{border-bottom:0}.agenda-item:before{position:absolute;top:18px;left:-6px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--tx-color-brand);box-shadow:0 0 0 3px #2563eb1f;content:""}.agenda-day-group{display:grid;gap:0}.agenda-day-group h3{margin:14px 0 4px;color:var(--tx-color-text-primary);font-size:16px;line-height:1.3}.agenda-item time{display:block;color:var(--tx-color-brand);font-size:13px;font-weight:600}.agenda-item strong{display:block;margin-top:6px}.agenda-item p{margin-top:6px}.agenda-switch{display:inline-flex;gap:4px;margin:4px 0 10px;padding:3px;border:1px solid var(--tx-color-border);border-radius:8px;background:var(--tx-color-fill-secondary)}.agenda-switch button{height:36px;padding:0 12px;border:0;border-radius:6px;color:var(--tx-color-text-secondary);background:transparent;font-size:12px;font-weight:600;transition:transform .16s ease,color .16s ease,background .16s ease}.agenda-switch button:active{transform:scale(.98)}.agenda-switch .active{color:var(--tx-color-brand);background:#fff;box-shadow:var(--tx-shadow-mobile-card)}.agenda-table{display:grid;gap:8px}.agenda-table-row{display:grid;grid-template-columns:98px 1fr;gap:4px 10px;padding:11px 10px;border:1px solid var(--tx-color-border);border-radius:8px;background:var(--tx-color-fill-secondary)}.agenda-table-row time{grid-row:span 2;color:var(--tx-color-brand);font-size:12px;font-weight:700}.agenda-table-row strong{min-width:0}.agenda-table-row span{overflow:hidden;color:var(--tx-color-text-secondary);font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}@keyframes borderPulse{0%,to{opacity:.45;filter:hue-rotate(0deg)}50%{opacity:1;filter:hue-rotate(28deg)}}@keyframes certificateSpin{to{transform:rotate(360deg)}}@keyframes certificateHue{0%,to{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(120deg) brightness(1.22)}}@keyframes mobileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobileSpin{to{transform:rotate(360deg)}}@media(max-width:390px){.home-title h1{font-size:30px}.hero h1{font-size:27px}}@media(min-width:720px){body{background:#e9edf7}.mobile-shell{width:min(430px,100vw);min-height:100vh;box-shadow:0 0 0 1px #96a0b533}.bottom-action{width:min(430px,100vw)}}
