:root{--ground:#f7f1de;--building-a:#fdedcb;--building-b:#f7e0b4;--building-c:#f0d2a0;--park:#aee4a6;--park-deep:#7acb72;--plaza:#f2d79c;--plaza-hatch:#deb96e;--civic:#f9c7cf;--water:#9ad8f2;--road:#fffcf2;--contour:#3a332c;--label-ink:#3a332c;--label-halo:#fffbf0;--label-water:#2f6b85;--label-water-halo:#ddf1f8;--paper:#fffcf2;--ink:#3a332c;--body:#42392f;--muted:#6b6055;--head:#f6f0de;--hair:#ede4ce;--rule:#e0d6be;--open:#fff7e2;--disaster:#f0a98c;--object:#9fc9e8;--crime:#e9b7c4;--person:#a8d7be;--building:#ebd79b;--ghost:#c4a6e0;--vote:#e8657c;--casing-ratio:1.7}:root[data-theme=dark]{--ground:#1e1b17;--contour:#0f0d0a;--road:#dcc9a2;--water:#12333f;--paper:#35322b;--ink:#f1e9d8;--body:#e6decd;--muted:#a79d8b;--head:#3e392f;--hair:#4a4438;--open:#443e30;--sticker-body:#2a251e;--sticker-rim:#efe4ce}:root{--tier-new-size:28px;--tier-new-rim:2.4px;--tier-new-drop:3px;--tier-new-pad:6px;--tier-liked-size:36px;--tier-liked-rim:2.6px;--tier-liked-drop:4px;--tier-liked-pad:8px;--tier-well-size:46px;--tier-well-rim:3px;--tier-well-drop:4px;--tier-well-pad:10px;--tier-fav-size:58px;--tier-fav-rim:3.2px;--tier-fav-drop:5px;--tier-fav-pad:13px;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-spring:cubic-bezier(.22, 1.2, .36, 1);--dur-pop:.26s;--dur-card:.3s;--dur-lift:.14s;--dur-grow:.24s;--dur-morph-in:.22s;--dur-morph-out:.18s;--dur-pulse:2.6s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:hidden}body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Quicksand,SF Pro Rounded,ui-rounded,system-ui,sans-serif}a{color:var(--label-water)}.card{background:var(--paper);border:2.5px solid var(--contour);box-shadow:0 4px 0 var(--contour);border-radius:18px}.btn{background:var(--paper);border:2.5px solid var(--contour);min-height:42px;box-shadow:0 3px 0 var(--contour);color:var(--ink);font:inherit;cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14.5px;font-weight:700;transition:transform .14s ease-out,box-shadow .14s ease-out;display:inline-flex}.btn:hover{box-shadow:0 4px 0 var(--contour);transform:translateY(-1px)}.btn:active{box-shadow:0 0 0 var(--contour);transform:translateY(3px)}.btn:focus-visible{outline-offset:3px;outline:3px solid #2f6b85}.btn:disabled{opacity:.55;cursor:default;box-shadow:0 3px 0 var(--contour);transform:none}.btn--ink{background:var(--contour);color:var(--paper)}.btn--quiet{box-shadow:none;background:0 0}.btn--danger{background:#e9b7c4}.btn--sm{min-height:34px;box-shadow:0 2px 0 var(--contour);border-radius:11px;padding:0 11px;font-size:13px}.field{border:2.5px solid var(--contour);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:13px;outline:none;padding:11px 13px;font-size:16px;font-weight:500}.field:focus{box-shadow:0 0 0 3px #2f6b8540}.label{color:var(--muted);font-size:13px;font-weight:700}.hint{color:var(--muted);font-size:12.5px;font-weight:600;line-height:1.45}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.shell{grid-template-rows:auto 1fr;min-height:100%;display:grid}.top{border-bottom:2.5px solid var(--contour);background:var(--head);z-index:5;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex;position:sticky;top:0}.wordmark{letter-spacing:-.015em;align-items:center;gap:9px;font-size:20px;font-weight:700;display:flex}.wordmark__mark{width:30px;height:30px;box-shadow:0 2px 0 var(--contour);border-radius:50%;flex:none}.wordmark--big .wordmark__mark{width:38px;height:38px;box-shadow:0 3px 0 var(--contour)}.wordmark small{color:var(--muted);margin-left:8px;font-size:13.5px;font-style:italic;font-weight:500}.tabs{flex-wrap:wrap;gap:7px;display:flex}.tab{border:2.5px solid var(--contour);background:var(--paper);min-height:34px;font:inherit;color:var(--ink);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;font-weight:700;display:inline-flex}.tab[aria-selected=true]{background:var(--contour);color:var(--paper)}.page{align-content:start;gap:16px;width:100%;max-width:1040px;margin:0 auto;padding:20px 18px 70px;display:grid}.rows{gap:11px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:11px;display:grid}.stat{gap:2px;padding:12px 14px;display:grid}.stat b{font-size:25px;font-weight:700;line-height:1.05}.stat span{color:var(--muted);font-size:12.5px;font-weight:700}.stat--alarm{background:#e9b7c4}.item{gap:9px;padding:13px 15px;display:grid}.item__head{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.item__body{background:var(--head);border:2px solid var(--rule);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:0;padding:11px 13px;font-size:15px;line-height:1.5}.item__body--empty{color:var(--muted);font-style:italic}.item__acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:2px solid var(--contour);background:var(--head);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.chip--mark{background:#a8d7be}.chip--bottle{background:#9ad8f2}.chip--capsule{background:#ebd79b}.chip--overdue{color:var(--paper);border-color:var(--contour);background:#e8657c}.chip--hidden{background:var(--rule)}.chip--done{background:#a8d7be}.empty{text-align:center;gap:7px;padding:30px 18px;display:grid}.empty b{font-size:17px}.termlist{flex-wrap:wrap;gap:8px;display:flex}.term{border:2.5px solid var(--contour);background:var(--paper);border-radius:999px;align-items:center;gap:7px;padding:5px 7px 5px 11px;font-size:13.5px;font-weight:700;display:inline-flex}.term button{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:0;padding:2px 4px;font-size:15px;line-height:1}.term button:hover{color:var(--ink)}table.log{border-collapse:collapse;width:100%;font-size:13.5px}table.log th{text-align:left;color:var(--muted);padding:6px 10px;font-size:12px}table.log td{border-top:2px solid var(--rule);vertical-align:top;padding:8px 10px}
