: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;transition:d .25s var(--ease), fill .2s var(--ease);animation:settle .3s var(--ease) both}@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;position:fixed;transform:translate(-50%,-50%)}.ghost-stone{transition:background .15s var(--ease);animation:grow .2s 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{color:var(--ink);font-size:.8rem}.ghost-label-on-dark{color:var(--paper)}@keyframes grow{0%{transform:scale(.82)}}.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{transform:scale(1.18)}.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);border-radius:999px;min-width:2.25rem;height:2.25rem}.chip[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.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}}
