:root{--bg:#f4efe6;--paper:#fbf8f1;--ink:#3a352e;--quiet:#857c6e;--line:#d9d1c3;--square:min(100vw - 1rem, 100dvh - 8rem);--ease:cubic-bezier(.2, .7, .3, 1)}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--quiet);outline-offset:2px}input{border:1px solid var(--line);background:var(--paper);border-radius:8px;min-width:0;padding:.5rem .65rem}.screen{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100dvh;display:flex}.title{margin:0;font:400 1.5rem/1.2 Iowan Old Style,Georgia,serif}.canvas{width:var(--square);height:var(--square);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:block}.cell{cursor:pointer;outline:none}.cell:focus-visible .cell-base{stroke:var(--quiet);stroke-width:4px}.cell-empty{animation:settle .3s var(--ease) both}.cell-base{stroke:none;transition:d .25s var(--ease)}.stone{stroke:var(--bg);stroke-linejoin:round;transform-box:fill-box;transform-origin:50%;transition:d .25s var(--ease), fill .2s var(--ease), transform .15s var(--ease), filter .15s var(--ease);animation:settle .3s var(--ease) both;outline:none}.stone:focus-visible{stroke:var(--ink)}@media (hover:hover) and (pointer:fine){.stone:hover{filter:brightness(1.06)drop-shadow(0 2px 3px #3a352e40);transform:scale(1.03)}}.stone-selected,.stone-selected:hover{filter:brightness(1.08)drop-shadow(0 3px 5px #3a352e59);transform:scale(1.04)}@keyframes settle{0%{opacity:0}}.below{justify-content:center;align-items:center;height:2.75rem;display:flex}.add-button{background:var(--paper);border:1px solid var(--line);border-radius:50%;width:2.75rem;height:2.75rem;font-size:1.4rem;line-height:1}.ghost{pointer-events:none;z-index:20;transition:opacity .2s var(--ease);position:fixed;inset:0}.ghost-fading{opacity:0}.ghost-position{position:fixed;transform:translate(-50%,-50%)}.ghost-cancel{opacity:.35;transition:opacity .15s var(--ease);position:fixed;transform:translate(-50%,-50%)}.ghost-cancel circle{fill:url(#hatch-empty);stroke:var(--quiet);stroke-width:1px}.ghost-cancel path{stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round}.ghost-cancelling .ghost-cancel{opacity:1}.ghost-stone{transition:background .15s var(--ease), transform .15s var(--ease), opacity .15s var(--ease);animation:pulse .18s var(--ease) both;border-radius:47% 53% 50% 50%;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 16px #3a352e38}.ghost-label{font-variant-numeric:tabular-nums;font-size:.8rem}.ghost-cancelling .ghost-stone{opacity:.7;background-image:repeating-linear-gradient(45deg,#fbf8f18c 0 3px,#0000 3px 7px);transform:scale(.6)}.ghost-cancelling .ghost-label{visibility:hidden}@keyframes pulse{0%{transform:scale(.88)}}.sheet-layer{z-index:10;position:fixed;inset:0}.sheet-backdrop{animation:fade .2s var(--ease) both;background:#3a352e2e;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.sheet{width:min(100%,40rem);max-height:85dvh;padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));background:var(--paper);animation:rise .25s var(--ease) both;border-radius:16px 16px 0 0;position:absolute;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,2rem)}}.sheet-header{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.sheet-title{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font:400 1.25rem/1.2 Iowan Old Style,Georgia,serif}.text-button{color:var(--quiet);padding:.25rem 0;font-size:.9rem}.primary-button{background:var(--ink);color:var(--paper);white-space:nowrap;border-radius:8px;padding:.5rem .9rem}.string{overscroll-behavior-x:contain;margin:0 -1rem;padding:0 1rem;overflow-x:auto}.string-track{align-items:center;gap:.55rem;width:max-content;min-width:100%;height:6.5rem;padding:0 .5rem;display:flex;position:relative}.string-track:before{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:0;right:0}.pearl-slot{justify-content:center;align-self:stretch;align-items:center;min-width:1.5rem;display:flex;position:relative}.pearl{transition:transform .15s var(--ease);border-radius:50%;display:block}.pearl-slot[aria-pressed=true] .pearl{box-shadow:0 0 0 2px var(--paper), 0 0 0 3.5px var(--ink);transform:scale(1.18)}.pearl-add{border:1.5px dashed var(--quiet);background:var(--paper);width:1.4rem;height:1.4rem;color:var(--quiet);justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:flex}.pearl-dot{background:var(--quiet);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;top:.65rem;left:50%}.pearl-month{color:var(--quiet);font-size:.72rem;position:absolute;bottom:.15rem;left:50%;transform:translate(-50%)}.details{padding:.25rem 0 .5rem}.details-date{color:var(--quiet);margin:0;font-size:.9rem}.details-note{margin:.2rem 0 0}.quiet{color:var(--quiet);margin:.5rem 0;font-size:.9rem}.form{flex-direction:column;gap:.75rem;display:flex}.add-vote{padding-top:.5rem}.field{color:var(--quiet);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.field input{color:var(--ink);font-size:1rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.row-between{justify-content:space-between}.grow{flex:8rem}.check{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.chips{gap:.35rem;display:flex}.chip{border:1px solid var(--line);min-width:2.25rem;height:2.25rem;transition:box-shadow .15s var(--ease);border-radius:999px}.chip[aria-checked=true]{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink);font-weight:700}.swatches{flex-wrap:wrap;gap:.45rem;display:flex}.swatch{border-radius:50%;width:2rem;height:2rem}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink)}.toast{left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:30;background:var(--ink);max-width:calc(100vw - 1.5rem);color:var(--paper);white-space:nowrap;animation:toast .2s var(--ease) both;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:fixed;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,.75rem)}}.toast-action{padding:.15rem .1rem}.toast-separator{opacity:.55}.toast-input{background:var(--paper);width:min(16rem,100vw - 4rem);color:var(--ink);border:0;border-radius:6px;padding:.2rem .5rem}.enter{flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1rem;display:flex}@media (height<=480px){:root{--square:min(100vw - 1rem, 100dvh - 2.75rem)}.screen{gap:.15rem}.title{font-size:1rem}.below{height:auto;position:fixed;bottom:.75rem;right:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.archived{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:.75rem}.archived-title{color:var(--quiet);margin:0 0 .25rem;font-size:.9rem;font-weight:400}.archived-list{margin:0;padding:0;list-style:none}.archived-name{align-items:center;gap:.5rem;display:inline-flex}.archived-swatch{border-radius:50%;width:.75rem;height:.75rem}.enter-owner{flex-direction:column;align-items:flex-start;gap:1.5rem;width:min(100%,32rem);display:flex}.tokens{flex-direction:column;gap:.5rem;width:100%;display:flex}.token-created input{width:100%;font-family:ui-monospace,monospace;font-size:.85rem}
