*,*:before,*:after{box-sizing:border-box}:root{color-scheme:dark;--bg: #141218;--surface: #ffffff;--panel: #242129;--panel-strong: #302c36;--surface-strong: #111827;--text: #f4f1f8;--muted: #c9c3d1;--line: #3a3540;--danger: #dc2626;--shadow: 0 16px 36px rgba(17, 24, 39, .12);--radius: 28px}body{margin:0;min-width:320px;min-height:100dvh;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:2px solid #46f4dc;outline-offset:3px}button:active{transform:scale(.97)}.shell{width:min(100%,820px);min-height:100dvh;margin:0 auto;padding:14px 14px 88px}.password-shell{display:grid;min-height:100dvh;place-items:center;padding:18px}.password-card{display:grid;width:min(100%,380px);gap:14px;border:1px solid #514a5a;border-radius:var(--radius);background:var(--panel);box-shadow:0 24px 60px #00000061;color:var(--text);padding:24px}.password-card .brand-mark{margin-bottom:2px}.password-card p{color:var(--muted);line-height:1.45}.password-error{color:var(--danger);font-size:.9rem}.app-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 18px;background:linear-gradient(180deg,#141218f5,#141218c7 68%,#14121800);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header:after{position:absolute;right:0;bottom:-28px;left:0;height:28px;background:linear-gradient(180deg,#1412186b,#14121800);content:"";pointer-events:none}.brand{display:flex;align-items:center;min-width:0;gap:12px}.brand-mark{position:relative;display:block;width:48px;height:48px;flex:0 0 auto;border:2px solid #514a5a;border-radius:16px;background:radial-gradient(circle at 72% 26%,rgba(255,255,0,.42),transparent 24%),linear-gradient(135deg,#302c36,#17141c);box-shadow:inset 0 0 0 1px #ffffff14,0 10px 22px #00000038;overflow:hidden}.logo-crown{position:absolute;top:7px;left:14px;width:20px;height:10px;background:#fc0;clip-path:polygon(0 100%,0 38%,24% 70%,50% 0,76% 70%,100% 38%,100% 100%);filter:drop-shadow(0 1px 0 rgba(0,0,0,.35))}.logo-tallies{position:absolute;right:9px;bottom:9px;left:9px;height:25px;background:linear-gradient(#fff,#fff) 1px 4px / 4px 21px no-repeat,linear-gradient(#fff,#fff) 8px 1px / 4px 24px no-repeat,linear-gradient(#fff,#fff) 15px 2px / 4px 23px no-repeat,linear-gradient(#fff,#fff) 22px 5px / 4px 20px no-repeat}.logo-tallies:after{position:absolute;top:12px;left:0;width:34px;height:5px;border-radius:999px;background:#46f4dc;content:"";transform:rotate(-30deg);transform-origin:center}h1,h2,p{margin:0}h1{font-size:1.35rem;line-height:1.1}.board-row{display:flex;align-items:center;gap:8px;margin-top:4px}.board-id{max-width:48vw;overflow:hidden;color:var(--muted);font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.copy{min-height:28px;border:1px solid var(--line);border-radius:999px;background:#ffffffad;color:var(--text);font-size:.78rem;padding:0 10px}.add-button{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border:0;border-radius:999px;background:#2d8df0;color:#fff;font-size:1.8rem;line-height:1}.tally-list{display:flex;flex-direction:column;gap:20px}.tally-card{--tally-color: #2563eb;--tally-accent: #93c5fd;--tally-mark-color: var(--tally-accent);--card-text: #f2edf8;--button-bg: var(--tally-accent);--button-text: #ffffff;min-height:126px;border:4px solid var(--tally-accent);border-radius:var(--radius);background:var(--tally-color);box-shadow:none;color:var(--card-text);padding:18px 24px 14px;-webkit-user-select:none;user-select:none}.tally-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}.tally-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-width:0;gap:12px}.tally-name{min-width:0;width:100%;max-width:100%;overflow:hidden;color:currentColor;font-size:var(--name-size, clamp(2.15rem, 5.8vw, 3.15rem));font-weight:500;letter-spacing:0;line-height:1;white-space:nowrap}.tally-name.allow-wrap{overflow:visible;overflow-wrap:anywhere;white-space:normal}.count{color:currentColor;font-size:clamp(1rem,2.8vw,1.35rem);font-weight:500;line-height:1}.mini-mark{position:relative;display:inline-block;width:28px;height:30px;flex:0 0 auto;top:3px;background:linear-gradient(currentColor,currentColor) 1px 2px / 4px 26px no-repeat,linear-gradient(currentColor,currentColor) 8px 0 / 4px 28px no-repeat,linear-gradient(currentColor,currentColor) 15px 1px / 4px 27px no-repeat,linear-gradient(currentColor,currentColor) 22px 3px / 4px 24px no-repeat;border-radius:999px}.mini-mark:after{position:absolute;top:13px;left:0;width:30px;height:4px;border-radius:999px;background:currentColor;content:"";transform:rotate(-30deg)}.stepper{display:grid;grid-template-columns:repeat(2,86px);gap:18px;flex:0 0 auto}.round-button{width:86px;height:86px;border:0;border-radius:999px;background:var(--button-bg);color:var(--button-text);font-size:3.2rem;font-weight:200;line-height:1;transition:transform .12s ease,filter .12s ease}.round-button.add{background:var(--button-bg);color:var(--button-text)}.marks{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;min-height:44px;margin-top:12px;padding-left:48px}.mark-group{position:relative;display:inline-flex;width:48px;height:44px;align-items:flex-end;justify-content:center;gap:7px}.stroke{width:5px;height:42px;border-radius:999px;background:var(--tally-mark-color)}.slash{position:absolute;left:0;top:20px;width:52px;height:5px;border-radius:999px;background:var(--tally-mark-color);transform:rotate(-31deg);transform-origin:center}.zero-marks{color:color-mix(in srgb,currentColor 46%,transparent);font-size:.92rem}.empty-state{display:grid;min-height:48dvh;align-content:center;justify-items:start;gap:12px;border:1px dashed #5a5363;border-radius:var(--radius);background:#211e26;padding:28px}.empty-state h2{font-size:1.4rem}.empty-state p{max-width:28rem;color:var(--muted);line-height:1.5}.primary-action,.secondary-action,.danger-action,.sheet-action{min-height:46px;border-radius:8px;padding:0 18px}.primary-action{border:0;background:#2d8df0;color:#fff;font-weight:700}.secondary-action{border:1px solid #5a5363;background:#1b1820;color:var(--text)}.danger-action{border:0;background:var(--danger);color:#fff;font-weight:700}.connection{position:fixed;right:14px;bottom:14px;z-index:4;border:1px solid #4c4654;border-radius:999px;background:#242129e0;box-shadow:0 8px 22px #00000038;color:var(--muted);font-size:.8rem;padding:8px 12px}.connection.connected{color:#86efac}.connection.disconnected{color:#fdba74}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;align-items:end;background:#08070ab8;padding:14px;overflow-y:auto;overscroll-behavior:contain}.sheet,.dialog{width:min(100%,520px);margin:0 auto;border:1px solid #514a5a;border-radius:18px;background:var(--panel);box-shadow:0 24px 70px #00000075;color:var(--text);padding:18px}.sheet{display:grid;gap:10px}.sheet h2,.dialog h2{overflow-wrap:anywhere;font-size:1.2rem;margin-bottom:6px}.editor-section-title{margin:12px 0 0;border-top:1px solid #514a5a;color:var(--text);font-size:1rem;font-weight:800;letter-spacing:0;padding-top:14px}.sheet-action{width:100%;border:1px solid #514a5a;background:var(--panel-strong);color:var(--text);text-align:left}.sheet-action.danger{border-color:#7f1d1d;color:#fca5a5}.sheet-action.muted{color:var(--muted)}.dialog{display:grid;gap:14px;align-self:center;max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px}.dialog p{color:var(--muted);line-height:1.45}.field{display:grid;gap:6px;color:var(--muted);font-size:.88rem}.field input{width:100%;min-height:46px;border:1px solid #5a5363;border-radius:8px;background:#151218;color:var(--text);padding:0 12px}.field input::placeholder{color:#817889}.field input:focus{border-color:#2d8df0;outline:2px solid rgba(45,141,240,.28)}.field input[type=color]{width:44px;min-height:36px;padding:3px}.color-field{gap:10px}.color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.color-swatch{position:relative;width:100%;aspect-ratio:1;min-height:42px;border:3px solid color-mix(in srgb,var(--swatch-color) 70%,#ffffff);border-radius:999px;background:var(--swatch-color);box-shadow:inset 0 0 0 1px #00000029}.color-swatch.selected:after{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:2px solid #f4f1f8;border-radius:999px;content:""}.native-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border:1px solid #514a5a;border-radius:8px;background:var(--panel-strong);color:var(--muted);padding:6px 10px 6px 12px}.dialog-actions{position:sticky;bottom:-20px;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px -18px -20px;border-top:1px solid #514a5a;background:var(--panel);padding:12px 18px 18px}@media(min-width:720px){.shell{padding-top:28px}.tally-list{gap:16px}.tally-card{padding:18px 28px 14px}.overlay{align-items:center}}@media(max-width:520px){.shell{padding-inline:10px}.tally-list{gap:14px}.tally-card{min-height:104px;border-width:3px;padding:16px 18px 12px}.tally-title{gap:8px}.tally-name{font-size:var(--name-size, 1.95rem)}.stepper{grid-template-columns:repeat(2,58px);gap:10px}.round-button{width:58px;height:58px;font-size:2.35rem}.marks{min-height:38px;margin-top:10px;padding-left:42px}.mark-group{width:40px;height:38px;gap:6px}.stroke{width:4px;height:36px}.slash{top:18px;width:44px;height:4px}}
