:root{--cream:#fff9f0;--peach:#fff0de;--surface:#fff;--ink:#2d2926;--muted:#786f68;--line:#eadfd3;--orange:#f28c3a;--orange-dark:#c95e19;--orange-pale:#ffe2c4;--lavender:#eee9ff;--success:#287a4b;--danger:#b74242;--shadow:0 12px 32px rgba(105,73,44,.1);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 7% 32%,rgba(255,205,154,.26) 0 4px,transparent 5px),radial-gradient(circle at 9% 35%,rgba(255,205,154,.26) 0 9px,transparent 10px),var(--cream);line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}.shell{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(234,223,211,.7)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:22px;font-weight:800;text-decoration:none}.brand img{width:44px;height:44px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:22px}.site-header nav a,.link-button{border:0;background:transparent;color:var(--ink);font-weight:650;text-decoration:none;padding:10px 0}.link-button:hover,.site-header nav a:hover{color:var(--orange-dark)}.landing-main{padding:58px 0 72px}.hero{display:grid;grid-template-columns:1fr 250px;align-items:center;max-width:920px;margin:0 auto 28px}.eyebrow,.card-kicker{margin:0 0 8px;color:var(--orange-dark);font-size:14px;font-weight:750;letter-spacing:.08em}.hero h1,.parser-heading h1,.admin-heading h1{margin:0;font-size:clamp(38px,6vw,64px);line-height:1.12;letter-spacing:-.06em}.hero-copy>p:last-child{max-width:540px;margin:18px 0 0;font-size:17px;color:var(--muted)}.hero-cat{width:220px;justify-self:end;filter:drop-shadow(0 14px 14px rgba(152,89,37,.15))}.preview-card,.player-card{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:16/7;min-height:260px;border:12px solid var(--surface);border-radius:30px;background:linear-gradient(145deg,#fffdf9,#fff7ed);box-shadow:var(--shadow);color:var(--muted)}.preview-card p,.empty-player p{font-size:17px;font-weight:650}.preview-play{width:88px;height:88px;display:grid;place-items:center;border-radius:50%;background:var(--orange-pale)}.preview-play span{display:block;width:0;height:0;margin-left:7px;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:22px solid var(--orange)}.login-card,.parser-form-card,.admin-card{display:grid;gap:26px;margin:26px auto;padding:30px;border:1px solid rgba(234,223,211,.8);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.login-card{max-width:920px;grid-template-columns:300px 1fr;align-items:center}.login-card h2,.admin-card h2{margin:0;font-size:24px}.muted{margin:7px 0 0;color:var(--muted);font-size:14px}.login-actions{display:grid;gap:8px}.field-label{display:block;font-weight:750;font-size:14px}.field-label span{font-weight:500;color:var(--muted)}.input-row,.parse-controls{display:flex;gap:10px}input,select{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 15px;color:var(--ink);outline-offset:2px}input:focus,select:focus{border-color:var(--orange);outline:3px solid rgba(242,140,58,.19)}.input-row input,.parse-controls input{flex:1}.primary-button,.secondary-button{min-height:46px;border:0;border-radius:14px;padding:11px 18px;font-weight:800;text-decoration:none;text-align:center;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.primary-button{background:var(--orange);color:#fff;box-shadow:0 6px 15px rgba(201,94,25,.2)}.primary-button:hover{background:var(--orange-dark);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--ink)}.secondary-button:hover{border-color:var(--orange);color:var(--orange-dark)}.linux-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.linux-button img{width:20px;height:20px;object-fit:contain}.form-message{min-height:21px;margin:0;color:var(--muted);font-size:13px}.form-message.error{color:var(--danger)}.form-message.success{color:var(--success)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:920px;margin:35px auto 0}.steps article{padding:20px;border-radius:20px;background:rgba(255,255,255,.66)}.steps span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lavender);color:#625491;font-size:14px;font-weight:800}.steps h2{margin:12px 0 5px;font-size:17px}.steps p{margin:0;color:var(--muted);font-size:14px}.dialog-card{width:min(420px,calc(100% - 32px));border:0;border-radius:24px;padding:0;background:transparent;box-shadow:var(--shadow)}.dialog-card::backdrop{background:rgba(45,41,38,.48)}.dialog-card form{position:relative;display:grid;gap:14px;padding:32px;background:var(--surface);border-radius:24px}.dialog-card h2{margin:0}.dialog-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--peach);font-size:24px;line-height:1}.full-width{width:100%;margin-top:4px}.parser-main{padding:42px 0 70px}.parser-heading{text-align:center;margin-bottom:26px}.parser-heading h1{font-size:clamp(32px,4.5vw,50px)}.player-card{width:min(920px,100%);margin:auto;aspect-ratio:16/8;min-height:0}.empty-player{text-align:center}.parser-form-card{width:min(920px,100%);margin-top:22px}.parse-controls select{width:160px}.platform-list{display:flex;flex-wrap:wrap;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:20px}.platform-list>span{margin-right:4px;color:var(--muted);font-size:14px}.platform-list a{display:grid;place-items:center;width:64px;height:36px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.platform-list img{width:100%;height:100%;object-fit:cover}.player-card iframe{width:100%;height:100%;border:0;border-radius:18px}.user-name,.admin-badge{padding:5px 10px;border-radius:99px;background:var(--lavender);font-size:13px;font-weight:700}.admin-main{padding:40px 0 70px}.admin-heading,.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-heading h1{font-size:44px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.metric-grid article{padding:20px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.metric-grid span{display:block;color:var(--muted);font-size:14px}.metric-grid strong{display:block;margin-top:6px;font-size:32px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-card{display:block;margin:20px 0;padding:26px;box-shadow:none}.admin-grid .admin-card{margin:0}.section-title{margin-bottom:18px}.switch-row{display:grid;grid-template-columns:1fr 46px;gap:16px;align-items:center;padding:17px 0;border-top:1px solid var(--line);cursor:pointer}.switch-row strong,.switch-row small{display:block}.switch-row small{margin-top:3px;color:var(--muted);font-size:13px}.switch-row input{position:absolute;opacity:0}.switch-row i{position:relative;width:46px;height:26px;border-radius:20px;background:#d8cec5;transition:background .16s}.switch-row i::after{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;content:"";transition:transform .16s}.switch-row input:checked+i{background:var(--orange)}.switch-row input:checked+i::after{transform:translateX(20px)}.switch-row input:focus-visible+i{outline:3px solid rgba(242,140,58,.35)}.policy-note{margin:12px 0 0;padding:11px;border-radius:12px;background:var(--peach);font-size:13px}.invite-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.invite-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.invite-form .primary-button{grid-column:span 2}.generated-codes{margin-top:16px;padding:14px;border-radius:14px;background:var(--peach);font-size:13px}.generated-codes code{display:block;margin-top:8px;word-break:break-all;color:var(--orange-dark);font-weight:800}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:650px;font-size:14px}th,td{padding:13px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:13px}.status{display:inline-block;padding:3px 8px;border-radius:99px;background:var(--lavender);font-size:12px}.status.revoked{background:#ffe1e1;color:var(--danger)}.danger-button{border:1px solid #efb6b6;border-radius:10px;background:#fff;color:var(--danger);padding:7px 10px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(max-width:720px){.shell{width:min(100% - 28px,1120px)}.site-header{height:72px}.brand{font-size:18px}.brand img{width:38px;height:38px}.site-header nav{gap:12px;font-size:14px}.landing-main{padding:38px 0 50px}.hero{position:relative;display:block;min-height:270px}.hero-copy{position:relative;z-index:1;max-width:275px}.hero-cat{position:absolute;right:0;bottom:4px;width:110px}.hero h1{font-size:38px}.hero-copy>p:last-child{font-size:15px}.preview-card{aspect-ratio:16/10;min-height:0;border-width:8px;border-radius:24px}.preview-play{width:68px;height:68px}.preview-play span{border-top-width:11px;border-bottom-width:11px;border-left-width:18px}.login-card{grid-template-columns:1fr;padding:22px}.input-row,.parse-controls{flex-direction:column}.linux-button{width:100%}.steps{grid-template-columns:1fr;gap:10px;margin-top:22px}.steps article{padding:16px}.parser-main{padding-top:28px}.player-card{border-width:8px;border-radius:22px}.parser-form-card{padding:20px}.parse-controls select{width:100%}.platform-list a{width:58px}.admin-heading{align-items:flex-start;flex-direction:column}.admin-heading h1{font-size:36px}.metric-grid,.admin-grid{grid-template-columns:1fr}.invite-form{grid-template-columns:1fr}.invite-form .primary-button{grid-column:auto}.admin-card{padding:20px}.user-name{display:none}}
