@import url('data:text/css,');
:root{--ink:#173d32;--muted:#728077;--paper:#f4f3e9;--line:#dfe4d8;--gold:#dbb965}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "Leelawadee UI",Tahoma,system-ui,sans-serif}a{color:inherit}button,input{font:inherit}button,a,input{outline-offset:5px}button{cursor:pointer}button:hover{filter:brightness(1.08)}.site-header{height:88px;max-width:1280px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:16px;letter-spacing:1px}.brand-icon{background:var(--ink);color:var(--gold);border-radius:12px;padding:1px 12px;font-size:27px}.brand small{font-size:9px;letter-spacing:2px;border-left:1px solid var(--line);padding-left:14px}.quiet{font-size:13px;text-underline-offset:5px}main{min-height:calc(100vh - 180px)}.join-layout{max-width:1120px;margin:68px auto;display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;padding:0 24px}.eyebrow,.step{font-size:11px;font-weight:800;letter-spacing:3px;color:#8b7b4d}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.6vw,62px);line-height:1.3;letter-spacing:-1.5px;margin:16px 0 22px}h1 em{font-style:normal;color:#619476}h2{font-size:26px;margin-bottom:10px}h3{font-size:17px}.lead{font-size:17px;max-width:380px;color:#647369}.card{background:#fffef9;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 14px 50px #264e3010}.join-card{padding:38px}.join-card h2{margin-top:22px;font-size:32px}.join-card>p{color:var(--muted)}.fine{font-size:12px;color:var(--muted);line-height:1.8}.class-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 12px}.class-chips span,.class-badge{display:inline-block;border-radius:7px;font-size:12px;font-weight:700;padding:5px 10px;background:#eee}.Sword{background:#e3eff9!important;color:#236da3}.Daggers{background:#f8efcb!important;color:#9a7117}.Axe{background:#f7e4dd!important;color:#a34836}.connection{display:flex;align-items:center;gap:8px;font-size:12px;margin:20px 0;color:#88754c}.connection span{width:7px;height:7px;border-radius:50%;background:#c19f4e}.connection.online{color:#428264}.online span{background:#428264}label{display:block;font-size:13px;font-weight:700;margin:16px 0 8px}input{border:1px solid #ced8cb;border-radius:10px;background:#fff;width:100%;padding:13px 14px;color:var(--ink)}input:focus{outline:2px solid #71a585}.primary,.secondary,.small-button{border:0;border-radius:10px;padding:13px 18px;display:inline-flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;text-decoration:none}.primary{background:var(--ink);color:#fff;width:100%;margin-top:14px}.secondary{background:#eaf0e5;color:var(--ink)}.small-button{font-size:12px;background:#edf0e7;padding:7px 12px;white-space:nowrap}.link-button{justify-content:center}.how{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;display:flex;justify-content:space-between;gap:8px}.how div{display:flex;align-items:center;gap:6px;font-size:11px}.how b{display:grid;place-items:center;width:22px;height:22px;background:#ecf1e7;border-radius:50%}.landscape{position:relative;height:150px;overflow:hidden;margin-top:26px;border-radius:80px 80px 12px 12px;background:linear-gradient(#e2e8d2,#f0efd8)}.landscape i{position:absolute;width:250px;height:190px;background:#91a485;transform:rotate(45deg);top:70px;left:-40px;border-radius:25px}.landscape i:nth-child(2){left:140px;top:35px;background:#657f68}.landscape i:nth-child(3){left:260px;top:80px;background:#b7bb91}.landscape b{position:absolute;left:46%;top:16px;font-size:40px;color:#aa8442}.landscape span{position:absolute;bottom:13px;left:24px;font-size:9px;letter-spacing:4px;color:#fff}.narrow{max-width:500px;margin:64px auto}.narrow h1{font-size:34px}.ticket,.qr-card{text-align:center}.seal{display:grid;place-items:center;margin:20px auto;width:80px;height:80px;border:1px solid #d7bf79;border-radius:50%;font-size:45px;color:#b2944d;background:#f4edd5}.notice{background:#edf2e8;border:1px solid #d9e3d1;border-radius:10px;padding:14px;margin:22px 0;font-size:14px}.notice.error{background:#fbe9e1;color:#9e4438;border-color:#f2c6b7}.ticket-stats{display:grid;grid-template-columns:1fr 1fr;margin:24px 0}.ticket-stats div+div{border-left:1px solid var(--line)}.ticket-stats b{font-size:36px;display:block}.ticket-stats span{font-size:12px;color:var(--muted)}.qr{max-width:100%;width:320px;border-radius:14px}.url{font-size:12px;word-break:break-all;display:block;margin:10px 0 20px}.dashboard{max-width:1300px;margin:40px auto;padding:0 24px}.dashboard h1{font-size:38px;margin-bottom:25px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.title-row form{margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.metrics .card{padding:22px}.metrics span{font-size:12px;color:var(--muted)}.metrics b{display:block;font-size:34px;margin-top:8px}.metrics b.connection-text{font-size:20px;padding-top:8px}.admin-columns{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.roster{padding:24px}.search{display:flex;gap:8px;margin:20px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{color:var(--muted);font-size:11px;font-weight:600;background:#f6f7ef}td,th{padding:13px 10px;border-bottom:1px solid var(--line)}td small{display:block;font-size:10px;color:var(--muted)}.empty{text-align:center;padding:50px 15px}.setup ol{padding-left:20px;font-size:12px;color:#647369}.setup hr{border:0;border-top:1px solid var(--line);margin:26px 0}details{font-size:12px;margin-top:20px}footer{max-width:1280px;margin:30px auto 0;padding:24px 32px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;gap:24px;align-items:center}footer a{margin-left:auto}@media(max-width:900px){.join-layout{gap:28px}.admin-columns{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.site-header{height:70px;padding:0 20px}.brand small{display:none}.join-layout{display:block;margin:30px auto}.intro h1{font-size:40px}.intro h1 br:nth-child(2){display:none}.landscape{display:none}.join-card{margin-top:30px;padding:26px}.narrow{margin:30px 16px}.card{padding:24px}.dashboard{padding:0 14px}.dashboard h1{font-size:30px}.metrics{gap:10px}.metrics .card{padding:16px}.title-row{gap:8px}footer{padding:20px;flex-wrap:wrap;gap:12px}footer span{display:none}}@media print{header,footer,button{display:none!important}body{background:#fff}.card{box-shadow:none;border:0}.narrow{margin:auto}}

.date-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:18px 0}.filter-wide{grid-column:1/-1}.date-filters label{margin-top:4px}.date-filters select{width:100%;padding:13px 10px;border:1px solid #ced8cb;border-radius:10px;background:white;color:var(--ink);font:inherit}.filter-actions,.pagination{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pagination{margin-top:20px;font-size:12px}.joined-date{white-space:nowrap}button:disabled{cursor:default;opacity:.5}@media(max-width:640px){.date-filters{grid-template-columns:1fr}}

.admin-tabs{max-width:1300px;padding:24px 24px 0;margin:auto;display:flex;gap:12px;flex-wrap:wrap}.table-wrap details{max-width:260px}.table-wrap details small{overflow-wrap:anywhere}
