:root{--bg:#fff6e5;--card:#fff;--ink:#2b2140;--muted:#7a6f8f;--line:#efe4d0;--accent:#6c5ce7;--mint:#2ec4b6;--sun:#ffb703;--ok:#2a9d8f;--wait:#f4a261}body.night{--bg:#15121f;--card:#221d31;--ink:#e9e3f5;--muted:#9a90b0;--line:#322b45}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--ink);user-select:none;font:600 20px/1.25 Nunito,Roboto,Segoe UI,sans-serif;transition:background-color .6s}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}b{font-weight:900}.muted{color:var(--muted)}.small{font-size:16px}.empty{color:var(--muted);text-align:center;padding:40px;font-size:24px}img.emo{vertical-align:-.25em;width:1.2em;height:1.2em}.emo-text{font-family:Noto Color Emoji,sans-serif}#app{flex-direction:column;height:100%;padding:16px 20px;display:flex}.top{align-items:center;gap:24px;margin-bottom:14px;display:flex}.clock{align-items:baseline;gap:14px;padding:4px 0;display:flex}.time{letter-spacing:-1px;font-size:56px;font-weight:900;line-height:1}.date{color:var(--muted);font-size:22px}.hello{text-align:right;color:var(--muted);flex:1;font-size:22px}.status{background:var(--card);border:2px solid var(--line);white-space:nowrap;border-radius:99px;padding:4px 12px;font-size:15px}.status.live:before{content:"";background:var(--ok);border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.status.off{color:#c0392b}.grid{flex:1;gap:18px;min-height:0;display:flex}.kids{flex:62%;gap:14px;min-width:0;display:flex}.side{flex-direction:column;flex:0 0 36%;gap:14px;min-width:0;display:flex}.kid{background:var(--card);border:3px solid var(--line);border-top:12px solid var(--kid);text-align:left;border-radius:26px;flex-direction:column;flex:1 1 0;min-width:0;padding:14px 14px 12px;display:flex;overflow:hidden}.kid:active{transform:scale(.985)}.kid-head{align-items:center;gap:12px;display:flex}.avatar{background:var(--kid);color:#fff;text-shadow:0 2px #00000026;border-radius:50%;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:30px;font-weight:900;display:flex}.kid-name{min-width:0}.name{white-space:nowrap;text-overflow:ellipsis;font-size:28px;font-weight:900;overflow:hidden}.level{color:var(--muted);font-size:17px}.xpbar,.fbar{background:var(--line);border-radius:99px;height:12px;margin:12px 0 10px;overflow:hidden}.xpbar i,.fbar i{background:var(--kid,var(--accent));border-radius:99px;height:100%;display:block}.fbar i{background:linear-gradient(90deg,#ff7eb6,#ffbe0b,#80ed99,#4cc9f0,#9b5de5)}.wallet{justify-content:space-between;font-size:22px;display:flex}.wallet span{align-items:center;gap:4px;display:flex}.today{border-top:2px dashed var(--line);flex-direction:column;flex:1;min-height:0;margin-top:12px;padding-top:10px;display:flex}.today-head{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:18px;display:flex}.today-head b{color:var(--ink)}.wait{color:var(--wait)}.today-list{flex:1;margin:0;padding:0;list-style:none;overflow:hidden}.today-list li{align-items:center;gap:8px;padding:4px 0;font-size:18px;display:flex}.today-list li .label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.today-list li i{flex:none;font-style:normal}.today-list li.q-available{opacity:.55}.today-list li.q-done span{text-decoration:line-through;text-decoration-color:var(--muted)}.kid-go{text-align:center;background:var(--kid);color:#fff;text-shadow:0 1px #0003;border-radius:16px;margin-top:8px;padding:10px;font-size:20px;font-weight:900}.kids-1 .kid,.kids-2 .kid{padding:18px 22px}.panel{background:var(--card);border:3px solid var(--line);border-radius:22px;padding:12px 16px}.panel-title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:21px;font-weight:900;overflow:hidden}.basket{flex:1;min-height:0;overflow:hidden}.list+.list{margin-top:10px}.list-head{color:var(--muted);margin-bottom:6px;font-size:17px}.count{background:var(--sun);color:#3b2a00;text-align:center;border-radius:99px;min-width:24px;padding:0 7px;font-size:14px;display:inline-block}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--bg);border:2px solid var(--line);border-radius:14px;align-items:center;gap:6px;max-width:100%;padding:4px 10px 4px 6px;font-size:17px;display:inline-flex}.chip>.label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chip small{color:var(--muted);font-size:14px}.chip b{color:var(--accent);font-size:15px}.chip.more{color:var(--muted);padding-left:10px}.thumb{object-fit:cover;background:#fff;border-radius:6px;width:26px;height:26px}.fquest .fbar{height:14px;margin:4px 0 6px}.feed{padding:8px 16px}.feed-row{align-items:center;gap:8px;padding:3px 0;font-size:16px;display:flex}.feed-row .label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.feed-row small{color:var(--muted);white-space:nowrap}#overlay{z-index:10;background:#1e14328c;justify-content:center;align-items:center;padding:22px;display:none;position:fixed;inset:0}#overlay.show{display:flex}.board{background:var(--bg);border-top:14px solid var(--kid);border-radius:28px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.board-head{background:var(--card);border-bottom:3px solid var(--line);align-items:center;gap:16px;padding:14px 20px;display:flex}.board-head>div:nth-child(2){flex:1}.board-name{font-size:30px;font-weight:900}.close{background:var(--line);border-radius:50%;width:64px;height:64px;font-size:30px;font-weight:900}.board-body{-webkit-overflow-scrolling:touch;flex:1;padding:6px 20px 20px;overflow-y:auto}.board-body h3{margin:14px 0 8px;font-size:22px}.tiles{flex-wrap:wrap;gap:12px;display:flex}.tile{text-align:center;background:var(--card);border:3px solid var(--line);border-radius:22px;flex-direction:column;align-items:center;width:calc(25% - 9px);padding:12px 10px;display:flex}.tile-emoji img.emo,.tile-emoji .emo-text{width:52px;height:52px;font-size:44px}.tile-name{align-items:center;min-height:2.5em;margin:6px 0 4px;font-size:19px;font-weight:900;display:flex}.tile-rewards{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px;font-size:15px;display:flex}.tile-rewards img.emo{width:18px;height:18px}.times{color:var(--ok)}.did,.state{border-radius:16px;width:100%;margin-top:auto;padding:14px 6px;font-size:20px;font-weight:900}.did{background:var(--mint);color:#fff;text-shadow:0 1px #0003;border-bottom:5px solid #1f9c90}.did:active{border-bottom-width:2px;transform:translateY(3px)}.state{font-size:16px}.state.done{color:#1b6b3a;background:#d8f3dc}.state.wait{color:#8a4b00;background:#ffe8cc}body.night .state.done{color:#9be3b0;background:#1d3b2a}body.night .state.wait{color:#ffc98a;background:#3d2b14}.tile.q-done{opacity:.75}.menu{background:var(--card);border-radius:24px;flex-direction:column;gap:12px;width:520px;max-width:100%;padding:24px;display:flex}.menu button{background:var(--bg);border:2px solid var(--line);text-align:left;border-radius:16px;padding:16px;font-weight:800}#toast{z-index:20;color:#fff;opacity:0;visibility:hidden;background:#2b2140;border-radius:20px;align-items:center;gap:18px;max-width:90%;padding:14px 16px 14px 22px;font-size:20px;transition:transform .25s,opacity .25s,visibility 0s .25s;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%,140%)}#toast.show{opacity:1;visibility:visible;transition:transform .25s,opacity .25s;transform:translate(-50%)}#toast button{color:#2b2140;background:#fff;border-radius:14px;padding:12px 22px;font-weight:900}.pair{flex:1;justify-content:center;align-items:center;display:flex}.pair-card{background:var(--card);border:3px solid var(--line);border-radius:30px;max-width:1000px;padding:30px 36px}.pair-title{font-size:32px;font-weight:900}.pair-body{align-items:center;gap:36px;margin-top:16px;display:flex}.pair-steps{flex:1}.pair-steps p{margin:8px 0;font-size:22px}.pair-url{color:var(--accent);font-weight:900;font-size:28px!important}.pair-code{letter-spacing:10px;font-variant-numeric:tabular-nums;margin:6px 0;font-size:84px;font-weight:900}.pair-code span{width:24px;display:inline-block}.pair-qr{background:#fff;border-radius:18px;flex:none;width:260px;height:260px;padding:6px}.pair-qr svg{width:100%;height:100%;display:block}@media (max-aspect-ratio:1){.grid{flex-direction:column}.side{flex:none;max-height:45%}.tile{width:calc(33.3333% - 8px)}.pair-body{flex-direction:column}}
