:root{color-scheme:light;color:#1c2024;background:#e2e7ea;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI Variable,Segoe UI,Noto Sans SC,Microsoft YaHei,sans-serif;font-synthesis:none;--red: #a6322c;--red-deep: #7f241f;--coral: #d76852;--yellow: #e4bd3f;--acid: #a9c957;--ink: #1c2024;--paper: #edf1f3;--muted: #626971;--line: rgba(36, 42, 47, .14);--glass: rgba(255, 255, 255, .66);--glass-strong: rgba(255, 255, 255, .82);--glass-border: rgba(255, 255, 255, .88);--glass-shadow: 0 14px 36px rgba(63, 54, 49, .1), inset 0 1px 0 rgba(255, 255, 255, .94)}*{box-sizing:border-box}html{min-width:320px;background:#dfe5e8;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#e7ecef}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2769b2;outline-offset:3px}#root{min-height:100vh}.app-shell{position:relative;min-height:100vh;background:#ebf0f2eb}.event-hero{position:relative;min-height:48vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#4d5147 url(/assets/hero-mobile.jpg) center 42% / cover no-repeat}.event-hero--compact{min-height:32vh}.event-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,#1315161a 18%,#131516c2)}.event-hero__content{position:relative;width:min(100%,760px);margin:0 auto;padding:88px 24px 34px}.event-hero h1{max-width:620px;margin:12px 0 3px;font-family:Iowan Old Style,Baskerville,Georgia,Times New Roman,serif;font-size:40px;line-height:1;letter-spacing:0;text-transform:uppercase;text-wrap:balance}.event-hero p{margin:8px 0 18px;font-size:17px;font-weight:700}.eyebrow{display:flex;gap:9px;align-items:center;color:#f18a70;font-size:11px;font-weight:800;letter-spacing:0}.eyebrow span{width:30px;height:3px;background:currentColor}.eyebrow--light{color:#fff1be}.event-date{display:inline-flex;align-items:center;gap:8px;padding-top:13px;border-top:1px solid rgba(255,255,255,.38);font-size:13px;font-weight:700}.content-band{position:relative;width:min(100%,760px);min-height:68vh;margin:-8px auto 0;padding:36px 22px max(52px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.9);border-radius:8px 8px 0 0;background:#f4f7f8d1;box-shadow:inset 0 1px #fffffff5;backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%)}.section-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.section-index{flex:0 0 42px;padding:8px 0;border-top:3px solid var(--coral);color:var(--red);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.section-heading p,.ticket-heading p{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.section-heading h2,.ticket-heading h2{margin:0;color:var(--ink);font-size:28px;font-weight:760;line-height:1.15;letter-spacing:0;text-wrap:balance}.floating-back{position:absolute;z-index:20;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.52);border-radius:50%;color:#fff;background:#25272957;box-shadow:inset 0 1px #ffffff57,0 8px 24px #1416182e;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.floating-back--dark{background:#1f22247a}.language-screen{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#5f6455}.language-screen__visual,.venue-screen__visual{position:absolute;inset:0;background:url(/assets/hero-mobile.jpg) center center / cover no-repeat}.language-screen__shade{position:absolute;inset:0;background:linear-gradient(180deg,#181b1c14,#311e1a70 42%,#161819e6)}.language-screen__content{position:relative;width:min(100%,720px);margin:0 auto;padding:max(56px,env(safe-area-inset-top)) 24px max(34px,env(safe-area-inset-bottom))}.language-screen h1{margin:16px 0 5px;font-family:Iowan Old Style,Baskerville,Georgia,Times New Roman,serif;font-size:58px;line-height:.84;letter-spacing:0}.language-screen h1 strong{color:#f3d547;font-weight:inherit}.language-screen__zh{margin:12px 0 4px;font-size:21px;font-weight:800}.language-screen__date{margin:0;color:#ffffffc2;font-size:13px;text-transform:uppercase}.language-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0 20px}.language-choices button{min-height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;border:1px solid rgba(255,255,255,.62);border-radius:8px;color:var(--ink);background:#fffc;font-size:19px;font-weight:780;box-shadow:0 12px 30px #16181929,inset 0 1px #ffffffe6;backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.language-choices button:first-child{color:#fff;border-color:#ffffff47;background:#9d2b26e6}.child-rule{display:flex;gap:10px;align-items:flex-start;color:#fff2bf;font-size:12px;font-weight:600;line-height:1.55}.notice-list{border-top:1px solid var(--line)}.notice-list>div{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.notice-list svg{color:var(--red)}.notice-list p{margin:0;color:#42484e;line-height:1.65}.intro-copy{margin:-4px 0 24px 58px;color:var(--muted);line-height:1.6}.primary-button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:26px;padding:13px 20px;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;background:#972823eb;font-weight:780;text-decoration:none;box-shadow:0 14px 30px #7d241f33,inset 0 1px #ffffff57;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.primary-button:disabled{cursor:not-allowed;opacity:.46}.primary-button--light{color:#1f2a1b;background:#e1eebce0;box-shadow:0 12px 30px #181d1629,inset 0 1px #ffffff7a}.text-action{display:block;margin:18px auto 0;padding:6px;border:0;color:var(--red-deep);background:transparent;font-size:13px;font-weight:780;text-decoration:underline;text-underline-offset:4px}.text-action--light{color:#fff}.registration-form{display:grid;gap:18px}.registration-form>label{display:grid;gap:7px}.registration-form label>span,.session-picker legend{display:flex;gap:7px;align-items:center;color:#41474d;font-size:13px;font-weight:760}.registration-form input:not([type=radio]){width:100%;min-height:54px;padding:0 15px;border:1px solid rgba(43,49,54,.15);border-radius:8px;color:var(--ink);caret-color:var(--red);background:var(--glass);box-shadow:0 8px 24px #3a343012,inset 0 1px 0 var(--glass-border);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.registration-form input::placeholder{color:#899198}.registration-form input:focus{border-color:#a6322c9e;background:var(--glass-strong);box-shadow:0 10px 28px #4a3a3517,inset 0 1px #fff}.registration-form input:-webkit-autofill,.registration-form input:-webkit-autofill:hover,.registration-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px rgba(250,252,253,.88) inset;caret-color:var(--red);transition:background-color 9999s ease-out}.registration-form small,.session-picker small{color:#b3261e;font-size:12px}.document-type,.session-picker{min-width:0;margin:0;padding:0;border:0}.document-type legend,.session-picker legend{margin-bottom:9px}.document-type{display:flex;flex-wrap:wrap;gap:9px}.document-type legend{width:100%}.document-type label{position:relative}.document-type input{position:absolute;opacity:0}.document-type label span{min-height:42px;padding:0 17px;border:1px solid rgba(43,49,54,.15);border-radius:8px;background:var(--glass);box-shadow:0 7px 20px #3a34300f,inset 0 1px 0 var(--glass-border);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.document-type input:checked+span{border-color:#ffffff47;color:#fff;background:#972823e8;box-shadow:0 9px 22px #7d241f29,inset 0 1px #ffffff4d}.session-picker{display:grid;gap:11px}.session-picker>button{position:relative;min-height:82px;display:grid;grid-template-columns:136px minmax(0,1fr) 24px;align-items:center;gap:13px;padding:14px 15px;border:1px solid rgba(43,49,54,.14);border-radius:8px;color:var(--ink);background:var(--glass);box-shadow:var(--glass-shadow);text-align:left;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.session-picker>button.is-selected{border-color:#a6322c9e;background:#fff8f7c2;box-shadow:0 0 0 1px #a6322cb8,0 16px 34px #74302a1f,inset 0 1px #fffffff0}.session-picker>button:disabled{cursor:not-allowed;opacity:.5;filter:saturate(.55)}.session-time{min-width:0;display:grid;grid-template-columns:minmax(5ch,1fr) auto minmax(5ch,1fr);align-items:center;gap:8px;font-family:SFMono-Regular,Cascadia Code,Consolas,ui-monospace,monospace;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.session-time__value{text-align:center}.session-time__separator{color:#8a9298;font-family:inherit;font-weight:500}.session-meta{display:grid;gap:5px}.session-meta strong{font-size:13px;font-weight:760}.session-meta em{color:#39704d;font-size:11px;font-style:normal;font-weight:780}.session-meta em.is-tight{color:#a65518}.session-meta em.is-full{color:#7b8389}.session-check{width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(54,61,66,.28);border-radius:50%;color:#fff;background:#ffffff57;box-shadow:inset 0 1px #fffc}.is-selected .session-check{border-color:var(--red);background:var(--red);box-shadow:0 5px 14px #7d241f38,inset 0 1px #ffffff47}.terms{display:flex;gap:9px;margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.terms svg{flex:0 0 auto;color:#407657}.inline-alert{padding:13px 14px;border:1px solid rgba(166,50,44,.16);border-left:4px solid var(--red);border-radius:0 8px 8px 0;color:#782620;background:#ffe2dead;box-shadow:inset 0 1px #ffffffb8;font-size:13px;line-height:1.5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ticket-heading{display:flex;gap:13px;align-items:center;margin-bottom:22px}.status-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.76);border-radius:50%;color:#315f42;background:#dbebd0c7;box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.status-mark--checked_in{color:#fff;background:#2c734b}.status-mark--cancelled{color:#fff;background:#9b2d27}.ticket-sheet{position:relative;overflow:hidden;border:1px solid var(--glass-border);border-radius:8px;background:#ffffffbd;box-shadow:var(--glass-shadow);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}.ticket-sheet:before,.ticket-sheet:after{content:"";position:absolute;top:67px;width:20px;height:20px;border-radius:50%;background:var(--paper)}.ticket-sheet:before{left:-11px}.ticket-sheet:after{right:-11px}.ticket-sheet__top{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px dashed rgba(45,51,56,.18);background:#ece2d685}.ticket-sheet__top span{color:var(--muted);font-size:12px;font-weight:800}.ticket-sheet__top strong{font-family:SFMono-Regular,Cascadia Code,Consolas,ui-monospace,monospace;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:0}.qr-stage{display:grid;place-items:center;padding:28px 24px 22px;text-align:center}.qr-stage img{width:min(68vw,270px);aspect-ratio:1}.qr-stage p{margin:14px 0 6px;font-size:15px;font-weight:900}.qr-stage small{max-width:420px;color:var(--muted);line-height:1.5}.ticket-details{margin:0;padding:0 22px 20px}.ticket-details>div{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line)}.ticket-details dt{color:var(--muted);font-size:12px}.ticket-details dd{margin:0;max-width:62%;text-align:right;font-weight:800;overflow-wrap:anywhere}.ticket-details dd span{color:var(--muted);font-size:12px;font-weight:500}.venue-screen{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#282e26}.venue-screen__visual{background-position:36% center;transform:scale(1.03)}.venue-screen__shade{position:absolute;inset:0;background:linear-gradient(180deg,#1814111f,#191612f0 74%)}.venue-screen__content{position:relative;width:min(100%,720px);margin:0 auto;padding:120px 24px max(38px,env(safe-area-inset-bottom))}.venue-pin{margin:28px 0 14px;color:var(--acid)}.venue-screen h1{max-width:620px;margin:0 0 10px;font-family:Iowan Old Style,Baskerville,Georgia,"Noto Serif SC",serif;font-size:38px;line-height:1.05;letter-spacing:0;text-wrap:balance}.venue-screen__content>p{margin:0;color:#ffffffd1;line-height:1.65}.venue-screen__content>small{display:block;margin-top:9px;color:#ffd7bd}.copy-button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:9px;margin:12px auto 0;padding:0 14px;border:0;color:#fff;background:transparent;font-weight:800}.venue-note{text-align:center;font-size:11px}.loading-screen{min-height:100svh;display:grid;place-content:center;justify-items:center;gap:12px;padding:32px;color:#fff;background:#241e18;text-align:center}.loading-screen p{margin:0;color:#ffffffc7}.loading-screen button{min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.28);border-radius:8px;color:#fff;background:#972823eb;box-shadow:inset 0 1px #ffffff47}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:720px){body{background:#dce3e6}.app-shell{width:min(100%,760px);margin:0 auto;border-inline:1px solid rgba(255,255,255,.64);box-shadow:0 26px 72px #3034372e}.event-hero{background-image:url(/assets/main-visual.jpg);background-position:36% center}.language-screen__visual,.venue-screen__visual{background-image:url(/assets/main-visual.jpg);background-position:36% center}.event-hero h1{font-size:54px}.language-screen h1{font-size:80px}.venue-screen h1{font-size:50px}.language-screen__content,.venue-screen__content{padding-left:46px;padding-right:46px}.content-band{padding-left:40px;padding-right:40px}}@media(hover:hover){.language-choices button:hover,.session-picker>button:hover:not(:disabled),.document-type label:hover span{transform:translateY(-1px);box-shadow:0 16px 34px #3a343021,inset 0 1px #fffffff5}.primary-button:hover:not(:disabled){background:#84201cf0;box-shadow:0 17px 34px #7d241f3d,inset 0 1px #ffffff57}.text-action:hover{color:#681c18}}.language-choices button:active,.session-picker>button:active:not(:disabled),.primary-button:active:not(:disabled),.document-type label:active span{transform:translateY(1px) scale(.99)}@media(max-width:420px){.session-picker>button{min-height:98px;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;padding:14px 15px}.session-time{grid-column:1;grid-row:1;width:min(100%,188px)}.session-meta{grid-column:1;grid-row:2;grid-template-columns:auto 1fr;align-items:baseline;gap:10px}.session-check{grid-column:2;grid-row:1 / 3;align-self:center}}@media(max-width:359px){.language-screen h1{font-size:46px}.language-choices{grid-template-columns:1fr}.session-time{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
