@font-face{font-family:Rubik;src:url(/fonts/Rubik-wght.ttf) format("truetype");font-weight:300 900;font-style:normal;font-display:swap}:root{--indigo: #2b2e5c;--cream: #f2e6cf;--sand: #b9823c;--gold: #d9b45b;--app-h: 100dvh;color-scheme:light}html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--indigo);color:var(--cream);font-family:Rubik,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.app{position:fixed;inset:0;height:100vh;height:var(--app-h);display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}.stage{position:relative;flex:1 1 auto;min-height:0}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.foot{flex:0 0 auto;padding:4px 16px;font-size:12px;line-height:18px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}@media(pointer:coarse){.foot{display:none}}.saqr-layer{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;pointer-events:none;z-index:2}.saqr-wall{position:absolute;transform:translate(-50%);width:min(420px,calc(100% - 32px));box-sizing:border-box;padding:10px 14px 8px;border:2px solid var(--gold);border-radius:14px;background:#2b2e5cf0;color:var(--cream);font-family:Rubik,system-ui,sans-serif;text-align:center;box-shadow:0 6px 24px #00000059;pointer-events:auto}.saqr-wall form{margin:0}.saqr-wall-prompt{display:block;font-size:16px;font-weight:700;color:var(--gold);margin-bottom:6px}.saqr-wall-row{display:flex;gap:8px}.saqr-wall input{flex:1 1 auto;min-width:0;font:inherit;font-size:18px;padding:6px 10px;border:1px solid var(--gold);border-radius:8px;background:var(--cream);color:var(--indigo);-webkit-user-select:text;user-select:text}.saqr-wall input:focus{outline:2px solid var(--gold);outline-offset:1px}.saqr-wall button,.saqr-board button{font:inherit;font-weight:700;cursor:pointer;border-radius:8px}.saqr-wall button{flex:0 0 auto;padding:6px 18px;border:0;background:var(--gold);color:var(--indigo)}.saqr-wall button:disabled,.saqr-wall input:disabled{opacity:.6}.saqr-wall-note{margin-top:4px;font-size:13px;color:#f2e6cfbf}.saqr-wall-note.is-error{color:#ffb3a6;font-weight:700}.saqr-wall-rank{font-size:24px;font-weight:700;color:var(--gold)}.saqr-wall-week{font-size:16px;color:var(--cream)}.saqr-board{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:#1918349e;font-family:Rubik,system-ui,sans-serif;pointer-events:auto;z-index:3}.saqr-board-panel{width:min(560px,100%);max-height:100%;display:flex;flex-direction:column;box-sizing:border-box;border:3px solid var(--gold);border-radius:16px;background:var(--cream);color:var(--indigo);box-shadow:0 10px 40px #00000073;outline:none;overflow:hidden}.saqr-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px;background:var(--indigo);color:var(--gold)}.saqr-board-head h2{margin:0;font-size:22px}.saqr-board-close{padding:4px 12px;border:1px solid var(--gold);background:transparent;color:var(--gold)}.saqr-board-tabs{display:flex;gap:6px;padding:8px 16px 0;background:var(--indigo)}.saqr-board-tab{padding:6px 14px;border:0;border-radius:8px 8px 0 0;background:#f2e6cf2e;color:var(--cream)}.saqr-board-tab.is-on{background:var(--cream);color:var(--indigo)}.saqr-board-body{overflow:auto;padding:8px 16px 14px;-webkit-user-select:text;user-select:text}.saqr-board table{width:100%;border-collapse:collapse;font-size:15px}.saqr-board th{font-size:12px;font-weight:700;color:#6a5a3a;text-align:start;padding:6px;border-bottom:2px solid var(--gold)}.saqr-board td{padding:6px;border-bottom:1px solid rgba(43,46,92,.15);font-variant-numeric:tabular-nums}.saqr-board td:nth-child(2){font-weight:700;overflow-wrap:anywhere}.saqr-board td:nth-child(4){color:#6a5a3a;font-size:13px;white-space:nowrap}.saqr-board tr.is-me td{background:#d9b45b4d}.saqr-board tr.is-me td:first-child{box-shadow:inset 4px 0 0 var(--gold)}.saqr-board[dir=rtl] tr.is-me td:first-child{box-shadow:inset -4px 0 0 var(--gold)}.saqr-board-note{margin:16px 0;text-align:center;color:#6a5a3a}@media(max-width:480px){.saqr-board{padding:8px}.saqr-board table{font-size:14px}}
