.kalkudoku{background:hsl(var(--background));min-height:100dvh;color:hsl(var(--foreground))}.kalkudoku button{touch-action:manipulation}.kalkudoku :focus-visible{outline:3px solid hsl(var(--team-red));outline-offset:2px}.k-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.k-summary{background:hsl(var(--muted));border-radius:12px;align-items:center;gap:6px;min-height:44px;padding:0 14px;font-size:1rem;display:inline-flex}.k-summary-hint{color:hsl(var(--team-red));margin-left:8px;font-size:.9rem;font-weight:700}.k-options{border:1px solid hsl(var(--border));border-radius:16px;padding:8px}.k-seg{background:hsl(var(--muted));border-radius:14px;gap:4px;padding:4px;display:inline-flex}.k-seg button{white-space:nowrap;min-width:44px;min-height:40px;color:hsl(var(--muted-foreground));border-radius:10px;padding:0 12px;font-weight:700}.k-seg button[aria-pressed=true]{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 1px 3px hsl(var(--foreground) / .15)}.k-layout{align-items:start;gap:20px;display:grid}@media (width>=900px){.k-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}}.k-board-wrap{justify-content:center;display:flex}.k-board{--size:min(100%, calc(100dvh - 210px), 720px);width:var(--size);aspect-ratio:1;grid-template-columns:repeat(var(--n), minmax(0, 1fr));grid-template-rows:repeat(var(--n), minmax(0, 1fr));background:hsl(var(--card));box-shadow:0 6px 24px hsl(var(--foreground) / .08);border-radius:3px;display:grid;position:relative;overflow:hidden;container-type:inline-size}@media (width<=899px){.k-board{--size:min(100%, calc(100dvh - 330px), 640px);min-width:min(100%,300px)}}.k-cell{background:hsl(var(--card));cursor:pointer;--bt:0px;--bl:0px;--bb:0px;--br:0px;--wall:hsl(var(--foreground));border:0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;display:flex;position:relative}.k-cell:before,.k-cell:after{content:"";pointer-events:none;position:absolute;inset:0}.k-cell:before{box-shadow:inset -1px -1px 0 0 hsl(var(--border))}.k-cell:after{z-index:2;box-shadow:inset 0 var(--bt) 0 0 var(--wall), inset var(--bl) 0 0 0 var(--wall), inset 0 calc(-1 * var(--bb)) 0 0 var(--wall), inset calc(-1 * var(--br)) 0 0 0 var(--wall)}.k-cell.k-top{--bt:2px}.k-cell.k-left{--bl:2px}.k-cell.k-bottom{--bb:2px}.k-cell.k-right{--br:2px}.k-cell.k-edge-t{--bt:4px}.k-cell.k-edge-l{--bl:4px}.k-cell.k-edge-b{--bb:4px}.k-cell.k-edge-r{--br:4px}.k-cell.is-line{background:hsl(var(--muted) / .55)}.k-cell.is-same{background:hsl(var(--team-red) / .08)}.k-cell.is-sel{background:hsl(var(--quiz-c) / .35)}.k-cell.is-wrong{background-image:linear-gradient(hsl(var(--destructive) / .12), hsl(var(--destructive) / .12))}.k-label{z-index:3;font-size:clamp(10px, calc(100cqi / var(--n) * .2), 22px);color:hsl(var(--foreground));pointer-events:none;font-weight:800;line-height:1;position:absolute;top:6%;left:8%}.k-val{font-size:clamp(18px, calc(100cqi / var(--n) * .52), 64px);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.k-cell.is-clash .k-val{color:hsl(var(--destructive))}.k-notes{z-index:1;grid-template-columns:repeat(var(--cols), 1fr);font-size:clamp(9px, calc(100cqi / var(--n) * .17), 18px);color:hsl(var(--muted-foreground));place-items:center;font-weight:600;display:grid;position:absolute;inset:26% 6% 6%}.k-notes i{font-style:normal}.k-side{flex-direction:column;gap:12px;display:flex}.k-status{color:hsl(var(--muted-foreground));justify-content:space-between;gap:8px;font-size:1rem;display:flex}.k-status b{color:hsl(var(--foreground));font-variant-numeric:tabular-nums}.k-pad{grid-template-columns:repeat(var(--pad-cols,min(var(--n), 6)), 1fr);gap:8px;display:grid}@media (width>=900px){.k-pad{grid-template-columns:repeat(3,1fr)}}.k-key{border:2px solid hsl(var(--border));background:hsl(var(--card));border-radius:14px;min-height:60px;font-size:1.8rem;font-weight:800}.k-key:hover:not(:disabled){border-color:hsl(var(--team-red) / .6)}.k-key:active:not(:disabled){transform:scale(.96)}.k-key:disabled{opacity:.4}.k-tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.k-tools-small{grid-template-columns:1fr;gap:0}.k-tools-small button{justify-content:flex-start}.k-check{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;font-size:.95rem;display:flex}.k-check input{width:20px;height:20px}.k-howto{border:1px solid hsl(var(--border));border-radius:14px;padding:10px 14px;font-size:.95rem}.k-howto summary{cursor:pointer;align-items:center;min-height:32px;font-weight:700;display:flex}.k-howto ul{color:hsl(var(--muted-foreground));gap:4px;margin:6px 0 0;padding-left:18px;list-style:outside;display:grid}@media (width<=899px){.k-side{gap:10px}.k-key{min-height:52px;font-size:1.6rem}.k-tools{grid-template-columns:repeat(4,1fr)}.k-tools button{flex-direction:column;gap:2px;height:auto;min-height:56px;padding:6px 4px;font-size:.75rem}}@media (width<=480px){.k-bar:first-child,[data-testid=kalkudoku-settings]{flex-wrap:nowrap}.k-summary{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.95rem;overflow:hidden}.k-new-text{display:none}}.k-cell.is-hint{outline:4px solid hsl(var(--quiz-c));outline-offset:-6px;z-index:4}.k-tip{background:hsl(var(--quiz-c) / .18);border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:15px;line-height:1.35;display:flex}.k-op{margin-left:.06em;font-size:1.15em;font-weight:900;line-height:1;display:inline-block}.k-picker{--pk:clamp(48px, calc(100cqi / var(--n) * .7), 72px);--pw:calc(var(--cols) * var(--pk) + (var(--cols) - 1) * 6px + 20px);--ph:calc(22px + var(--rows) * var(--pk) + var(--rows) * 6px + 46px + 20px);z-index:10;width:var(--pw);box-sizing:border-box;left:clamp(calc(var(--pw) / 2 + 4px), var(--x), calc(100% - var(--pw) / 2 - 4px));top:clamp(calc(var(--ph) / 2 + 4px), var(--y), calc(100% - var(--ph) / 2 - 4px));background:hsl(var(--card));border:2px solid hsl(var(--foreground) / .85);box-shadow:0 10px 30px hsl(var(--foreground) / .28);border-radius:16px;gap:6px;padding:8px;animation:.12s ease-out k-pop;display:grid;position:absolute;transform:translate(-50%,-50%)}@keyframes k-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}}.k-pick-head{height:22px;color:hsl(var(--muted-foreground));white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;padding:0 2px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.k-pick-head b{color:hsl(var(--foreground));font-weight:800}.k-pick-mode{background:hsl(var(--foreground));color:hsl(var(--background));border-radius:999px;padding:1px 6px;font-size:11px}.k-pick-digits{grid-template-columns:repeat(var(--cols), var(--pk));gap:6px;display:grid}.k-pick-key{height:var(--pk);border:2px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));font-size:calc(var(--pk) * .5);font-variant-numeric:tabular-nums;border-radius:12px;font-weight:800;line-height:1}.k-pick-key:hover{border-color:hsl(var(--team-red) / .6)}.k-pick-key:active{transform:scale(.94)}.k-pick-key.is-note{border-color:hsl(var(--quiz-c));background:hsl(var(--quiz-c) / .22)}.k-pick-key.is-used{opacity:.35;text-decoration:line-through;text-decoration-thickness:3px}.k-pick-key.is-cur{background:hsl(var(--foreground));color:hsl(var(--background));border-color:hsl(var(--foreground));opacity:1}.k-pick-tools{grid-template-columns:1fr 1fr;gap:6px;display:grid}.k-pick-tools button{border:2px solid hsl(var(--border));background:hsl(var(--muted));height:40px;color:hsl(var(--foreground));border-radius:10px;justify-content:center;align-items:center;gap:4px;font-size:13px;font-weight:700;display:flex}.k-pick-tools button[aria-pressed=true]{background:hsl(var(--foreground));color:hsl(var(--background));border-color:hsl(var(--foreground))}.k-howto-body ul{gap:.4em;padding-left:1.2em;list-style:outside;display:grid}.k-op-dot{vertical-align:-.08em;margin-left:.02em;font-size:1.7em;line-height:.5}
