:root{--ink:#4e4865;--purple:#6967cf;--pink:#ee6681;--blue:#4f98d8;--cream:#fff8de}*{box-sizing:border-box}html{min-height:100%;background:#d7efff}body{min-height:100vh;margin:0;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.8) 0 42px,transparent 43px),radial-gradient(circle at 88% 40%,rgba(255,255,255,.55) 0 35px,transparent 36px),linear-gradient(160deg,#bdeeff,#e4ddff 55%,#ffe5c9)}button,input{font:inherit}.clouds{position:fixed;inset:5% 4% auto;text-align:center;color:rgba(255,255,255,.7);font-size:28px;word-spacing:240px;pointer-events:none}.admin-shell{position:relative;width:min(1120px,calc(100% - 24px));margin:auto;padding:25px 0 45px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-header>div{display:flex;align-items:center;gap:10px}.admin-header>div>span{display:grid;place-items:center;width:54px;height:54px;border:4px solid white;border-radius:18px;background:#ffe58b;box-shadow:0 6px 0 #ce9a53;font-size:27px}.admin-header small{font-size:8px;font-weight:1000;letter-spacing:2px}.admin-header h1{margin:1px 0;font-size:24px}.admin-header nav{display:flex;gap:8px}.admin-header a,.admin-header button{padding:8px 12px;border:3px solid white;border-radius:99px;color:#665675;background:rgba(255,255,255,.83);box-shadow:0 4px 0 rgba(96,76,109,.14);font-size:10px;font-weight:900;text-decoration:none;cursor:pointer}.overview-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.overview-cards article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 10px;padding:13px;border:4px solid white;border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 6px 0 rgba(103,83,119,.13)}.overview-cards article>span{grid-row:1/3;font-size:26px}.overview-cards small{font-size:9px;font-weight:800}.overview-cards strong{font-size:16px}.admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;margin-bottom:12px}.admin-card{padding:16px;border:5px solid white;border-radius:25px;background:rgba(255,250,229,.94);box-shadow:0 8px 0 #c99878,0 16px 30px rgba(74,60,92,.1)}.admin-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.admin-card>header>div{display:flex;align-items:center;gap:8px}.admin-card>header>div>span{font-size:24px}.admin-card h2{margin:0;font-size:15px}.admin-card h2 b{color:var(--pink)}.admin-card header p{margin:2px 0 0;color:#8c8194;font-size:9px;font-weight:700}.settings-card form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ticket-card form{display:grid;grid-template-columns:.75fr 1.5fr .6fr;gap:8px}.settings-card label,.ticket-card label,.login-card label{display:grid;gap:5px}.settings-card label span,.ticket-card label span,.login-card label span{font-size:9px;font-weight:900}.settings-card input,.ticket-card input,.login-card input{width:100%;padding:10px 11px;border:3px solid #e8dce5;border-radius:12px;color:var(--ink);background:white;outline:none}.settings-card input:focus,.ticket-card input:focus,.login-card input:focus{border-color:#8c85df;box-shadow:0 0 0 3px rgba(108,103,207,.12)}.primary-button{align-self:end;padding:10px 12px;border:3px solid white;border-radius:13px;color:white;background:linear-gradient(#7c78de,#625dc3);box-shadow:0 5px 0 #4e499e;font-weight:1000;cursor:pointer}.settings-card .primary-button{grid-column:1/-1}.ticket-card .add-button{grid-column:1/-1}.example-button{padding:6px 9px;border:2px solid white;border-radius:99px;color:#78586a;background:#ffe08e;font-size:8px;font-weight:900;cursor:pointer}.form-status{min-height:14px;margin:8px 0 0;color:#458a68;font-size:9px;font-weight:900}.form-status.error{color:#d9445a}.count-chip{padding:4px 9px;border-radius:99px;color:white;background:#8a74d5;font-size:9px;font-weight:900}.ticket-table{display:grid;gap:7px}.ticket-row{display:grid;grid-template-columns:46px 1fr auto auto auto;align-items:center;gap:9px;padding:9px 10px;border:2px solid #edd8d0;border-radius:14px;background:white}.ticket-row>i{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#fff0c6;font-size:20px;font-style:normal}.ticket-person b{display:block;font-size:11px}.ticket-person small{font-size:8px;color:#938795}.number-balls{display:flex;align-items:center;gap:4px}.number-balls i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:white;background:#e95c72;box-shadow:0 3px 0 #b33c51;font-size:9px;font-style:normal;font-weight:1000}.number-balls i.back{margin-left:6px;background:#4b91d3;box-shadow:0 3px 0 #32649c}.ticket-row>strong{color:#d64a60;font-size:11px}.delete-ticket{padding:6px 8px;border:2px solid #f2c7ce;border-radius:9px;color:#c9485b;background:#fff2f4;font-size:8px;font-weight:900;cursor:pointer}.empty-table{padding:25px;border:3px dashed #dcc8d0;border-radius:16px;color:#97828d;text-align:center;font-size:10px;font-weight:900}.rules-card{margin-bottom:12px}.rule-list{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.rule-list article{display:flex;flex-direction:column;align-items:center;padding:9px 5px;border-radius:13px;background:#fff0c3;text-align:center}.rule-list article:nth-child(2n){background:#e3f0ff}.rule-list b{font-size:10px}.rule-list span{font-size:9px}.rule-list strong{margin-top:3px;color:#d64b61;font-size:10px}.settlement-note{margin:9px 0 0;padding:8px 10px;border-radius:11px;color:#76637b;background:#eee8ff;font-size:9px;font-weight:800}.history-list{display:grid;gap:8px}.history-entry{padding:10px;border:2px solid #ead8d1;border-radius:14px;background:white}.history-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.history-head>b{padding:5px 8px;border-radius:99px;color:white;background:#7169ce;font-size:9px}.history-numbers{font-size:11px;font-weight:1000}.history-numbers em{color:#d64c62;font-style:normal}.history-numbers i{color:#4a8fd0;font-style:normal}.history-money{text-align:right;font-size:9px}.history-money strong{display:block;color:#d64c62;font-size:11px}.history-winners{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.history-winners span{padding:4px 7px;border-radius:99px;color:#73596b;background:#fff1c8;font-size:8px;font-weight:900}.history-winners .none{background:#edf0f5}.login-screen{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:18px;background:linear-gradient(150deg,rgba(176,231,255,.96),rgba(230,216,255,.97),rgba(255,229,194,.96))}.login-card{width:min(390px,100%);padding:30px;border:7px solid white;border-radius:32px;background:#fff9e7;box-shadow:0 12px 0 #c17f70,0 28px 60px rgba(62,50,84,.22);text-align:center}.login-mascots{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:-58px}.login-mascots i,.login-mascots span{display:grid;place-items:center;width:62px;height:62px;border:5px solid white;border-radius:22px;background:#ffe9ac;box-shadow:0 5px 0 #c69362;font-size:35px;font-style:normal}.login-mascots span{width:50px;height:50px;border-radius:50%;font-size:22px}.login-card>small{display:block;margin-top:18px;color:#82728d;font-size:8px;font-weight:1000;letter-spacing:2px}.login-card h1{margin:4px 0;font-size:27px}.login-card p{margin:0 0 17px;color:#8d8191;font-size:10px;font-weight:700}.login-card label{text-align:left}.login-card button{width:100%;margin-top:12px;padding:11px;border:4px solid white;border-radius:15px;color:white;background:linear-gradient(#ee7088,#d94e6a);box-shadow:0 5px 0 #a83b53;font-weight:1000;cursor:pointer}.login-card>a{display:inline-block;margin-top:14px;color:#6d6080;font-size:9px;font-weight:900}.login-error{min-height:18px;margin-top:8px;color:#d53e56;font-size:9px;font-weight:900}
@media(max-width:760px){.admin-shell{width:calc(100% - 12px);padding-top:12px}.admin-header{align-items:flex-start;flex-direction:column}.admin-header nav{width:100%;justify-content:space-between}.overview-cards{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.ticket-card form{grid-template-columns:1fr 1fr}.ticket-card .name-field{grid-column:1/-1}.ticket-card .front-field{grid-column:1}.ticket-card .back-field{grid-column:2}.rule-list{grid-template-columns:repeat(3,1fr)}.ticket-row{grid-template-columns:40px 1fr auto}.number-balls{grid-column:2/-1;flex-wrap:wrap}.ticket-row>strong{grid-column:2}.delete-ticket{grid-column:3;grid-row:3}.history-head{grid-template-columns:auto 1fr}.history-money{grid-column:2;text-align:left}.login-card{padding:24px 18px}.login-mascots{margin-top:-49px}}
