:root{color:#1f2723;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#182b26;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scrollbar-width:none;background:#182b26}body{scrollbar-width:none;min-height:100vh;margin:0}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}::-webkit-scrollbar{width:0;height:0;display:none}*{-ms-overflow-style:none;scrollbar-width:none}button,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}#root{min-height:100vh}.app-shell{color:#111;background:#fffbe9;max-width:520px;min-height:100vh;margin:0 auto;position:relative;overflow:hidden}.hero-panel{color:#111;background:#33a876;border-bottom:3px solid #111;padding:18px 16px 20px;position:relative}.hero-panel:after{content:"";opacity:.08;pointer-events:none;background-color:#0000;background-image:radial-gradient(circle,#111 2px,#0000 2.5px),radial-gradient(circle,#111 2px,#0000 2.5px);background-position:0 0,14px 14px;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:34px;position:absolute;inset:auto 0 0}.brand-strip{z-index:1;justify-content:space-between;align-items:center;gap:18px;min-height:78px;display:flex;position:relative}.brand-strip img{filter:drop-shadow(3px 5px #0003);object-fit:contain;max-width:48%;height:72px;animation:4.8s ease-in-out infinite logo-float;display:block}.brand-strip img:nth-child(2){height:66px;animation-delay:.8s}@keyframes logo-float{0%,to{transform:translateY(0)rotate(-.5deg)}50%{transform:translateY(-4px)rotate(.5deg)}}.block-card,.day-summary,.itinerary-card,.score-card{background:#fffdf1;border:3px solid #111;border-radius:18px;box-shadow:5px 5px #111}.event-card{z-index:1;margin-top:18px;padding:17px 18px;position:relative}.event-card h2{margin:0;font-size:25px;font-weight:950;line-height:1.12}.event-card p{margin:8px 0 0;font-size:14px;font-weight:800;line-height:1.4}h3,h4,p{margin:0}h3{font-size:24px;font-weight:950;line-height:1.12}h4{font-size:17px;font-weight:950;line-height:1.22}.content-panel{padding:18px 14px 104px}.view-stack,.leaderboard-grid{flex-direction:column;gap:16px;display:flex}.section-head{justify-content:space-between;align-items:center;display:flex}.section-head p{color:#323232;margin-top:5px;font-size:13px;font-weight:800;line-height:1.45}.section-head.compact{border-bottom:3px solid #111;margin:-16px -16px 2px;padding:14px 16px}.head-icon{color:#111;background:#ff6a1a;border:3px solid #111;border-radius:14px;padding:5px;box-shadow:3px 3px #111}.schedule-tabs,.segmented{background:#111;border:3px solid #111;border-radius:18px;gap:3px;padding:0;display:grid}.schedule-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented{grid-template-columns:repeat(2,1fr)}.schedule-tabs button,.segmented button{color:#111;font:inherit;background:#fffdf1;border:0;min-width:0;height:42px;padding:0;font-size:13px;font-weight:950}.schedule-tabs button:first-child,.segmented button:first-child{border-radius:14px 0 0 14px}.schedule-tabs button:last-child,.segmented button:last-child{border-radius:0 14px 14px 0}.schedule-tabs button.selected,.segmented button.selected{color:#111;background:#33a876}.day-summary{background:var(--day-color);grid-template-columns:1fr auto;align-items:center;gap:14px;min-height:138px;padding:16px;display:grid}.day-summary span{background:#fffdf1;border:3px solid #111;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:950;display:inline-flex}.day-summary h3{margin-top:12px;font-size:28px}.day-summary p{margin-top:8px;font-size:14px;font-weight:850;line-height:1.42}.day-summary svg{background:#fffdf1;border:3px solid #111;border-radius:16px;padding:7px;box-shadow:3px 3px #111}.itinerary-list,.score-list,.contact-list,.text-list{flex-direction:column;gap:12px;display:flex}.itinerary-card{padding:0 13px 13px;position:relative;overflow:hidden}.itinerary-card:before{background:var(--accent);content:"";border-bottom:3px solid #111;height:13px;margin:0 -13px 13px;display:block}.itinerary-head{grid-template-columns:48px 1fr 22px;align-items:center;gap:11px;display:grid}.item-index{background:var(--accent);border:3px solid #111;border-radius:14px;place-items:center;width:48px;height:48px;font-size:16px;font-weight:950;display:grid}.itinerary-head .place{color:#222;margin-top:4px;font-size:12px;font-weight:900;line-height:1.35}.itinerary-head svg{color:#111}.schedule-meta{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-top:13px;display:flex}.time-range{color:#fffdf1;white-space:nowrap;background:#111;border-radius:999px;flex:none;align-items:center;gap:7px;width:max-content;max-width:100%;padding:8px 11px;font-size:12px;font-weight:950;line-height:1;display:inline-flex}.time-range i{background:#fffdf1;width:10px;height:2px;display:block}.time-range span{display:block}.itinerary-detail{color:#2f2f2f;margin-top:10px;font-size:13px;font-weight:750;line-height:1.55}.action-link,.map-link{color:#111;white-space:nowrap;background:#45b8e8;border:2px solid #111;border-radius:999px;flex:none;align-items:center;gap:5px;width:max-content;max-width:100%;padding:7px 10px;font-size:12px;font-weight:950;text-decoration:none;display:inline-flex}.map-link svg{flex:none}.score-card{grid-template-columns:30px 46px 1fr auto;align-items:center;gap:10px;min-height:78px;padding:12px;display:grid}.score-card:first-child{background:#ffca18}.score-card:nth-child(2){background:#45b8e8}.score-card:nth-child(3){background:#33a876}.score-card:nth-child(4){background:#ffefe5}.rank{text-align:center;font-size:20px;font-weight:950}.score-icon,.avatar{background:#fffdf1;border:3px solid #111;border-radius:14px;place-items:center;width:46px;height:46px;font-weight:950;display:grid}.score-main{min-width:0}.score-main p{color:#202020;margin-top:4px;font-size:12px;font-weight:850;line-height:1.42}.score-value{text-align:right}.score-value strong{font-size:24px;font-weight:950;line-height:1;display:block}.score-value span{font-size:12px;font-weight:950}.muted-note{color:#333;text-align:center;font-size:12px;font-weight:800;line-height:1.45}.bottom-nav{max-width:520px;min-height:78px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:20;background:#fffdf1;border-top:3px solid #111;grid-template-columns:repeat(2,1fr);align-items:center;width:100%;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:#111;font:inherit;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:58px;font-size:12px;font-weight:950;display:flex}.nav-item.active{background:#ffca18;border:3px solid #111;box-shadow:3px 3px #111}button,textarea,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}@media (width>=720px){body{background:#101316}.app-shell{border-left:3px solid #111;border-right:3px solid #111}}@media (width<=380px){.brand-strip img{height:62px}.brand-strip img:nth-child(2){height:58px}.event-card h2,.day-summary h3{font-size:23px}}.admin-shell{color:#17202a;background:#f6f7f9;min-height:100vh;padding:18px}.admin-topbar{justify-content:space-between;align-items:center;gap:12px;max-width:1120px;margin:0 auto 16px;display:flex}.admin-topbar h1,.admin-login-card h1{margin:0;font-size:24px;font-weight:800;line-height:1.15}.admin-topbar p,.admin-login-card p,.admin-panel-head p{color:#657080;margin:6px 0 0;font-size:13px;font-weight:500;line-height:1.45}.admin-topbar button,.admin-tabs button,.admin-actions button,.record-row button,.team-card-head button,.admin-login-card button{color:#fff;font:inherit;background:#1f6feb;border:1px solid #1f6feb;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.login-shell{place-items:center;display:grid}.admin-login-card,.admin-panel{background:#fff;border:1px solid #d9dee7;border-radius:10px;box-shadow:0 8px 24px #161b220f}.admin-login-card{gap:14px;width:min(100%,420px);max-width:420px;padding:22px;display:grid}.admin-login-card label,.admin-panel label{color:#2b3440;gap:7px;font-size:13px;font-weight:700;display:grid}.admin-login-card input,.admin-panel input,.admin-panel select{color:#17202a;font:inherit;background:#fff;border:1px solid #cfd6e1;border-radius:8px;width:100%;min-height:40px;padding:0 10px;font-size:14px}.admin-login-card input:focus,.admin-panel input:focus,.admin-panel select:focus{border-color:#1f6feb;outline:none;box-shadow:0 0 0 3px #1f6feb24}.admin-message{color:#164a91;background:#eaf2ff;border:1px solid #bdd5ff;border-radius:8px;margin:0;padding:9px 10px;font-size:13px;font-weight:600;line-height:1.4}.admin-message.inline{max-width:1120px;margin:0 auto 14px}.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:1120px;margin:0 auto 16px;display:grid}.admin-tabs button{color:#344054;background:#fff;border-color:#d9dee7}.admin-tabs button.selected{color:#fff;background:#17202a;border-color:#17202a}.admin-grid{grid-template-columns:minmax(280px,.8fr) minmax(280px,1fr);gap:16px;max-width:1120px;margin:0 auto;display:grid}.admin-panel{gap:16px;width:100%;max-width:1120px;margin:0 auto;padding:18px;display:grid}.admin-grid .admin-panel{margin:0}.admin-panel.wide{grid-column:1/-1;max-width:none}.admin-panel-head{border-bottom:1px solid #edf0f4;margin:-18px -18px 0;padding:16px 18px}.admin-panel-head h2{margin:0;font-size:18px;font-weight:800;line-height:1.2}.admin-segmented{background:#eef2f7;border:1px solid #d9dee7;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.admin-segmented button{color:#475467;font:inherit;background:0 0;border:0;border-radius:6px;height:36px;font-weight:700}.admin-segmented button.selected{color:#fff;background:#1f6feb;box-shadow:0 1px 3px #161b221a}.admin-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.admin-actions button.danger{color:#b42318;background:#fff;border-color:#dc3545}.admin-score-list,.record-list,.member-list{gap:10px;display:grid}.admin-score-row,.record-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;padding:10px;display:grid}.admin-score-row{grid-template-columns:34px 1fr auto}.admin-score-row span,.record-row span{color:#344054;background:#eef2f7;border-radius:8px;place-items:center;min-width:34px;height:34px;font-weight:800;display:grid}.admin-score-row b{color:#1f6feb;font-size:21px}.record-row{grid-template-columns:58px 1fr auto}.record-row.reverted{opacity:.48}.record-row p{color:#667085;margin-top:3px;font-size:12px;font-weight:500;line-height:1.4}.record-row button{color:#344054;background:#fff;border-color:#cfd6e1;min-height:36px}.team-manage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.team-manage-card{background:#fff;border:1px solid #d9dee7;border-radius:10px;gap:10px;padding:14px;display:grid}.team-manage-card.expanded{border-color:#9bbcff;box-shadow:0 8px 20px #1f6feb14}.team-card-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto 40px;align-items:end;gap:10px;display:grid}.team-title-edit{gap:6px;min-width:0;display:grid}.team-card-head button{white-space:nowrap}.team-expand-button{color:#344054;background:#fff;border-color:#cfd6e1;width:40px;padding:0}.team-expand-button svg{transition:transform .18s}.team-expand-button.expanded svg{transform:rotate(180deg)}.team-member-count{color:#667085;font-size:13px;font-weight:600}.member-list.compact{border-top:1px solid #edf0f4;padding-top:10px}.member-mini-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:34px 1fr;align-items:center;gap:10px;min-height:54px;padding:9px 10px;display:grid}.member-mini-card span{color:#1f6feb;background:#eaf2ff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:grid}.member-mini-card strong{font-size:14px;line-height:1.2;display:block}.member-mini-card p{color:#667085;margin-top:3px;font-size:12px;font-weight:500;line-height:1.3}@media (width<=760px){.admin-shell{padding:12px}.admin-topbar{flex-direction:column;align-items:stretch}.admin-grid,.team-manage-grid{grid-template-columns:1fr}.team-card-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto 40px}.record-row{grid-template-columns:58px 1fr}.record-row button{grid-column:1/-1}}@media (width<=430px){.team-card-head{grid-template-columns:1fr 40px;align-items:stretch}.team-title-edit{grid-column:1/-1}}
