:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fbf6ec;--ink:#2b2a33;--muted:#6a6572;--faint:#a39d9a;--coral:#f26b5b;--coral-dark:#d4503f;--teal:#2ba6a0;--teal-dark:#1f7f79;--mustard:#f2b544;--card:#fff;--card-shadow:#efe6d4;--line:#efe6d4;--mint:#e6f4f1;--peach:#fdebe4;--butter:#fdf3d8;--radius:1.4rem;font-size:clamp(14px,1.5vw,30px)}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;touch-action:manipulation;margin:0;font-family:Nunito,Segoe UI,system-ui,sans-serif;font-weight:600;overflow:hidden}canvas{image-rendering:pixelated;image-rendering:crisp-edges}.game-canvas{background:#030a17;display:block;position:fixed}.game-canvas[hidden]{display:none}.text-canvas{pointer-events:none;z-index:5;position:fixed}.text-canvas[hidden]{display:none}.game-canvas[data-art=paper],.game-canvas[data-art=ink],.game-canvas[data-art=wire],.game-canvas[data-art=flat]{image-rendering:auto}.art-style-picker{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.8rem;display:flex}.art-style-picker label{align-items:center;gap:.65rem;font-weight:800;display:flex}.art-style-select{font:inherit;color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:.6rem;max-width:100%;min-height:44px;padding:.45rem .65rem;font-weight:800}.art-style-shortcut{color:var(--muted);white-space:nowrap;font-size:.8rem}.game-art-tools{padding:7px 12px calc(7px + env(safe-area-inset-bottom));background:var(--paper);z-index:30;justify-content:center;align-items:center;gap:18px;font-size:clamp(12px,1.15vw,18px);display:flex;position:fixed;bottom:0;left:0;right:0}.game-art-tools[hidden]{display:none}.game-art-tools .gamebar{position:static}.game-art-tools .homebtn{font-size:inherit}.game-art-tools .art-style-picker{gap:12px;margin:0}.game-art-tools .art-style-select{padding:6px 10px}.art-style-select:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.wire-fill-toggle{cursor:pointer;white-space:nowrap}.wire-fill-toggle[aria-pressed=true]{background:var(--mint);border-color:var(--teal)}@media (max-width:520px){.art-style-shortcut{display:none}.game-art-tools{gap:10px}.game-art-tools label>span{display:none}.art-style-picker{flex-wrap:wrap}}@media (max-width:720px){.game-art-tools .gamehint,.game-art-tools .art-style-shortcut{display:none}}button{font:inherit;color:inherit}.screen{background:var(--paper);z-index:10;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;padding:1.6rem 2.6rem 1.4rem;display:flex;position:fixed;inset:0;overflow-y:auto}.screen[hidden]{display:none}.topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{letter-spacing:.02em;align-items:center;gap:.7rem;font-size:1.9rem;font-weight:900;display:flex}.logo i{background:var(--coral);border-radius:.6rem;place-items:center;width:2.1rem;height:2.1rem;display:inline-grid}.logo i svg{shape-rendering:crispedges;width:1.5rem;height:1.5rem}.pill{background:var(--mint);color:var(--teal-dark);white-space:nowrap;border-radius:999px;align-items:center;gap:.55rem;padding:.55rem 1rem;font-size:.95rem;font-weight:800;display:inline-flex}.pill:before{content:"";background:var(--teal);border-radius:50%;flex:none;width:.65rem;height:.65rem}.pill.off{color:var(--muted);background:#f1ece2}.pill.off:before{background:var(--faint)}.pill.warn{background:var(--butter);color:#8a5a00}.pill.warn:before{background:var(--mustard)}.pill.bad{background:var(--peach);color:var(--coral-dark)}.pill.bad:before{background:var(--coral)}.pill.busy:before{animation:1s infinite pulse}@keyframes pulse{50%{opacity:.3}}.greeting{color:var(--muted);margin:1.3rem 0 0;font-size:1.25rem;font-weight:700}.tiles{grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1rem;display:grid}.tile{text-align:left;background:var(--card);border-radius:var(--radius);box-shadow:0 .35rem 0 var(--card-shadow), 0 .9rem 2rem #503c1414;cursor:pointer;border:0;padding:1.2rem 1.2rem 1rem;transition:transform .12s;position:relative}.tile .art{border-radius:1rem;place-items:center;height:8.2rem;display:grid}.tile .art svg{shape-rendering:crispedges;width:6.6rem;height:6.6rem}.tile .art canvas{width:6.6rem;height:6.6rem}.tile h3{margin:.8rem 0 .15rem;font-size:1.45rem;font-weight:900}.tile p{color:var(--muted);margin:0 0 1.2rem;font-size:.95rem}.tile .go{color:#fff;background:var(--coral);border-radius:999px;padding:.5rem 1.1rem;font-size:.95rem;font-weight:900;position:absolute;bottom:.9rem;right:1rem}.tile.teal .go{background:var(--teal)}.tile.mustard .go{background:var(--mustard);color:var(--ink)}.tile.soon .go{color:var(--muted);background:#efe6d4}.tile:hover{transform:translateY(-.15rem)}[data-nav]:focus{outline:none}[data-nav].is-focus,[data-nav]:focus-visible{outline:.28rem solid var(--coral);outline-offset:.22rem}.foot{color:var(--faint);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;font-size:.95rem;font-weight:700;display:flex}.actions{gap:.7rem;display:flex}.btn{background:var(--coral);color:#fff;cursor:pointer;box-shadow:0 .25rem 0 var(--coral-dark);border:0;border-radius:999px;padding:.65rem 1.3rem;font-size:1rem;font-weight:900}.btn:active{box-shadow:0 .1rem 0 var(--coral-dark);transform:translateY(.15rem)}.btn.teal{background:var(--teal);box-shadow:0 .25rem 0 var(--teal-dark)}.btn.ghost{background:var(--card);color:var(--ink);box-shadow:0 .25rem 0 var(--card-shadow)}.btn[disabled]{opacity:.5;cursor:default}.camcard{background:var(--card);width:13rem;box-shadow:0 .3rem 0 var(--card-shadow), 0 .8rem 1.6rem #503c1414;border-radius:1rem;padding:.55rem;position:absolute;bottom:4.4rem;right:2.6rem}.camcard canvas{aspect-ratio:16/9;background:#efe6d4;border-radius:.6rem;width:100%;display:block}.camcard .cap{color:var(--muted);justify-content:space-between;margin:.4rem .2rem 0;font-size:.8rem;display:flex}.camcard .bar{background:var(--line);border-radius:999px;height:.35rem;margin:.4rem .2rem 0;overflow:hidden}.camcard .bar i{background:var(--teal);width:0;height:100%;transition:width .2s;display:block}.panel{background:var(--card);border-radius:var(--radius);box-shadow:0 .35rem 0 var(--card-shadow), 0 .9rem 2rem #503c1414;max-height:calc(100vh - 11rem);margin-top:1rem;padding:.4rem 1.4rem;overflow:auto}.row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.row:last-child{border-bottom:0}.row label{font-size:1.05rem;font-weight:800}.row small{color:var(--muted);font-size:.85rem;font-weight:600;display:block}.row select,.row .seg{font:inherit;font-weight:800}.row select{border:.15rem solid var(--line);color:var(--ink);background:#fff;border-radius:.7rem;max-width:16rem;padding:.45rem .8rem}.seg{background:#f1ece2;border-radius:999px;padding:.2rem;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.4rem 1rem;font-weight:800}.seg button.on{background:var(--teal);color:#fff}.h1{margin:1rem 0 0;font-size:1.9rem;font-weight:900}.toast{background:var(--ink);color:#fff;z-index:50;opacity:0;pointer-events:none;border-radius:999px;padding:.7rem 1.4rem;font-weight:800;transition:opacity .2s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.hand{pointer-events:none;z-index:60;width:3rem;height:3rem;color:var(--coral);border:.3rem solid #2b2a332e;border-radius:50%;place-items:center;margin:-1.5rem 0 0 -1.5rem;display:grid;position:fixed;top:0;left:0}.hand:after{content:"";transform:rotate(var(--p,0deg));border:.3rem solid #0000;border-top-color:currentColor;border-radius:50%;transition:transform 50ms linear;position:absolute;inset:-.3rem}.hand b{background:currentColor;border-radius:50%;width:.8rem;height:.8rem}.hand[hidden]{display:none}@media (max-width:700px){.icon-grid{grid-template-columns:repeat(5,1fr)}.tiles{grid-template-columns:1fr}.screen{padding:1rem 1.2rem 2rem}.camcard{display:none}.foot{flex-direction:column;align-items:stretch;gap:.8rem;margin-top:1.4rem}.foot .actions{flex-direction:column}.tile .art{height:7rem}}.setup{z-index:40;justify-content:center;align-items:center}.setup-card{background:var(--card);border-radius:var(--radius);width:min(34rem,100%);box-shadow:0 .35rem 0 var(--card-shadow), 0 .9rem 2rem #503c1414;padding:1.6rem 1.8rem}.setup-card .bar{background:var(--line);border-radius:999px;height:.8rem;margin:1rem 0 1.1rem;overflow:hidden}.setup-card .bar i{background:linear-gradient(90deg, var(--teal), var(--coral));border-radius:999px;width:0;height:100%;transition:width .25s;display:block}.steps{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.steps li{color:var(--faint);align-items:center;gap:.7rem;font-size:1.05rem;font-weight:800;display:flex}.steps li b{border:.18rem solid var(--line);border-radius:50%;flex:none;width:1.1rem;height:1.1rem}.steps li.now{color:var(--ink)}.steps li.now b{border-color:var(--teal);border-top-color:#0000;animation:.9s linear infinite spin}.steps li.done{color:var(--teal-dark)}.steps li.done b{background:var(--teal);border-color:var(--teal)}@keyframes spin{to{transform:rotate(360deg)}}.setup-card .hint{color:var(--muted);margin:1.1rem 0 0;font-size:.95rem;line-height:1.45}.h1.err{color:var(--coral-dark)}.pill{text-overflow:ellipsis;max-width:14rem;overflow:hidden}.pill:before{flex:none}.tiles.two{grid-template-columns:repeat(2,1fr);max-width:40rem}.tiles.two .tile h3{margin-top:.2rem}.code{gap:.6rem;margin:1rem 0;display:flex}.code b{background:var(--card);width:4.2rem;height:5.2rem;box-shadow:0 .3rem 0 var(--card-shadow);letter-spacing:.05em;border-radius:1rem;place-items:center;font-size:3.2rem;font-weight:900;display:grid}.code b.empty{color:var(--faint)}.keyboard{grid-template-columns:repeat(8,3rem);gap:.45rem;margin-top:.6rem;display:grid}.key{background:var(--card);box-shadow:0 .2rem 0 var(--card-shadow);cursor:pointer;border:0;border-radius:.7rem;height:3rem;font-size:1.3rem;font-weight:900}.key.wide{grid-column:span 2}.key.go{background:var(--teal);color:#fff;box-shadow:0 .2rem 0 var(--teal-dark)}@media (max-width:700px){.tiles.two{grid-template-columns:1fr}.keyboard{grid-template-columns:repeat(6,1fr)}.key.wide{grid-column:span 3}}.ptiles{flex-wrap:wrap;gap:1.4rem;margin-top:1.2rem;display:flex}.ptile{flex-direction:column;align-items:center;gap:.4rem;display:flex}.pbtn{background:var(--card);border-radius:var(--radius);box-shadow:0 .35rem 0 var(--card-shadow), 0 .9rem 2rem #503c1414;cursor:pointer;border:0;flex-direction:column;align-items:center;gap:.5rem;min-width:9rem;padding:.9rem .9rem .7rem;display:flex}.pbtn .pic,.pbtn .pic svg{object-fit:cover;border-radius:50%;width:6rem;height:6rem;display:block}.pbtn span{font-size:1.15rem;font-weight:900}.pbtn.add b{background:var(--mint);width:6rem;height:6rem;color:var(--teal-dark);border-radius:1rem;place-items:center;font-size:3rem;display:grid}.pedit{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.2rem .6rem;font-weight:800}.sheet{background:var(--card);border-radius:var(--radius);box-shadow:0 .35rem 0 var(--card-shadow);gap:.8rem;max-width:36rem;margin-top:1rem;padding:1.2rem 1.4rem;display:grid}.sheet h2{margin:0;font-size:1.5rem;font-weight:900}.sheet-head{align-items:center;gap:1rem;display:flex}.sheet-head h2{margin:0}.preview .pic,.preview .pic svg{object-fit:cover;border-radius:50%;width:5rem;height:5rem;display:block}.field>span{color:var(--muted);margin-bottom:.4rem;font-size:.9rem;font-weight:800;display:block}.icon-grid{grid-template-columns:repeat(8,1fr);gap:.45rem;max-width:30rem;display:grid}.ibtn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:.15rem;line-height:0}.ibtn svg{width:3rem;height:3rem}.ibtn.on{outline:.25rem solid var(--ink);outline-offset:.1rem}.color-row{flex-wrap:wrap;gap:.5rem;display:flex}.sw.on{outline:.25rem solid var(--ink);outline-offset:.1rem}.sheet input.name{font:inherit;border:.15rem solid var(--line);color:var(--ink);background:#fff;border-radius:.8rem;padding:.5rem .8rem;font-size:1.4rem;font-weight:800}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--mint);color:var(--teal-dark);cursor:pointer;border:0;border-radius:999px;padding:.45rem .9rem;font-weight:800}.swrow{align-items:center;gap:.5rem;display:flex}.swrow span{width:3.5rem;color:var(--muted);font-weight:800}.sw{cursor:pointer;border:.15rem solid #00000014;border-radius:50%;width:2.2rem;height:2.2rem}.who{background:var(--card);box-shadow:0 .2rem 0 var(--card-shadow);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .9rem .3rem .3rem;font-weight:900;display:inline-flex}.who canvas,.who img{border-radius:50%;width:1.9rem;height:1.9rem}.rotate{z-index:90;background:var(--paper);color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:2rem;display:none;position:fixed;inset:0}.rotate p{margin:0;font-size:1.6rem;font-weight:900}.rotate small{color:var(--muted);font-size:1rem}.rotate .phone{border:.35rem solid var(--ink);border-radius:.8rem;width:3.2rem;height:5.4rem;margin-bottom:.8rem;animation:1.6s ease-in-out infinite alternate turn}@keyframes turn{0%{transform:rotate(0)}to{transform:rotate(-90deg)}}@media (orientation:portrait) and (max-width:900px) and (hover:none){.rotate{display:flex}}.calibbar{z-index:20;pointer-events:none;justify-content:center;gap:.8rem;padding:.8rem;display:flex;position:fixed;bottom:0;left:0;right:0}.calibbar .btn{pointer-events:auto}.calibbar[hidden]{display:none}.badge{z-index:30;justify-content:center;align-items:center;gap:1rem}.badge-card{text-align:center;box-shadow:0 .35rem 0 var(--card-shadow);background:#fff;border-radius:1.2rem;width:min(22rem,90vw);padding:1.4rem}.badge-card img{width:100%;image-rendering:pixelated}.badge-card h1{margin:.6rem 0 .2rem;font-size:2.2rem;font-weight:900}.badge-card p{color:var(--muted);margin:0}@media print{body>:not(.badge){display:none!important}.badge{background:#fff;padding:0;display:block;position:static}.badge-card{box-shadow:none;width:4in;margin:.5in auto}.noprint{display:none!important}}.campick{z-index:45;background:#2b2a3359;justify-content:center;align-items:center}.camsheet{width:min(30rem,92vw)}.camlist{gap:.5rem;display:grid}.camopt{border:.15rem solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:.9rem;align-items:center;gap:.8rem;padding:.8rem 1rem;font-size:1.05rem;font-weight:800;display:flex}.camopt.on{border-color:var(--teal);background:var(--mint);color:var(--teal-dark)}.camopt b{color:var(--teal)}.cambtn{background:var(--card);box-shadow:0 .2rem 0 var(--card-shadow);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:999px;max-width:14rem;padding:.55rem 1rem;font-weight:800;overflow:hidden}.gamebar{z-index:25;align-items:center;gap:.6rem;display:flex;position:fixed;top:.7rem;left:.8rem}.gamebar[hidden]{display:none}.homebtn{color:var(--ink);box-shadow:0 .2rem 0 var(--card-shadow);cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;align-items:center;gap:.35rem;padding:.5rem .9rem;font-size:.95rem;font-weight:900;display:inline-flex}.homebtn span{font-size:1.2rem;line-height:1}.gamehint{color:#fff;background:#2b2a33bf;border-radius:999px;padding:.45rem .9rem;font-size:.85rem;font-weight:800;transition:opacity .6s}.gamehint.fade{opacity:0}
