:root{color-scheme:light;--ink:#1a1410;--paper:#f6efe4;--card:#fffdf8;--line:#d7cbb8;--accent:#8b1e1e;--muted:#6b5e50;--ok:#2f5d3a;font-family:Iowan Old Style,Palatino Linotype,Palatino,Times New Roman,serif}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink)}a{color:var(--accent)}main{max-width:1180px;margin:0 auto;padding:2rem 1.25rem 4rem}header.bar{justify-content:space-between;margin-bottom:1.5rem}.bar-actions,header.bar{display:flex;align-items:baseline;gap:1rem}header.bar h1{margin:0;font-size:1.6rem;letter-spacing:.02em}.lede{color:var(--muted);margin:0 0 1.5rem;max-width:42rem}.aisle{display:grid;grid-gap:1.6rem;gap:1.6rem}.shelf-block{display:grid;grid-gap:.55rem;gap:.55rem}.row-label{margin:0;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.35rem}.shelf-row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:.7rem .55rem;gap:.7rem .55rem;align-items:start}@media (max-width:1100px){.shelf-row{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:640px){.shelf-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.letter-stack{--n:1;position:relative;min-height:9.4rem;isolation:isolate}.letter-stack .stack-item{position:absolute;inset:0;z-index:calc(20 - var(--i));transform:translate(calc(var(--i) * 5px),calc(var(--i) * 5px));transition:transform .16s ease,z-index 0s}.letter-stack .stack-item:first-child{position:relative}.letter-stack.expandable{cursor:pointer}.letter-stack.open .stack-item{transform:translateY(calc(var(--i) * 6.6rem));z-index:calc(30 + var(--i))}.letter-stack.open{z-index:5;min-height:calc(9.4rem + (var(--n) - 1) * 6.6rem)}@media (hover:hover) and (pointer:fine){.letter-stack:focus-within .stack-item,.letter-stack:hover .stack-item{transform:translateY(calc(var(--i) * 6.6rem));z-index:calc(30 + var(--i))}.letter-stack:focus-within,.letter-stack:hover{z-index:5;min-height:calc(9.4rem + (var(--n) - 1) * 6.6rem)}}.spine{display:block;position:relative;background:var(--card);border:1px solid var(--line);border-left:8px solid var(--accent);padding:.75rem .7rem .8rem;text-decoration:none;color:inherit;min-height:8.8rem;box-shadow:0 1px 0 rgba(26,20,16,.06)}.spine a.prof{display:inline-block;color:inherit;text-decoration:underline;text-underline-offset:.12em;cursor:pointer}.spine.stacked{box-shadow:2px 2px 0 rgba(26,20,16,.08),0 1px 0 rgba(26,20,16,.06)}.spine.starred{border-left-color:#c9a227}.spine.empty{opacity:.55;border-left-color:var(--line)}.spine:focus-within,.spine:hover{border-color:var(--accent)}.spine .star{position:absolute;top:.35rem;right:.35rem;background:none;border:0;color:#c9a227;font-size:1.05rem;line-height:1;padding:.15rem}.spine .letter{font-size:1.45rem;font-weight:700;line-height:1}.spine .prof{font-weight:700;margin:.2rem 0 .3rem;font-size:.95rem}.spine .bit{color:var(--muted);font-size:.82rem;min-height:2.4em}.spine .meta{font-size:.72rem;color:var(--muted);margin-top:.4rem}form.game{display:grid;grid-gap:.85rem;gap:.85rem}label.field{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.85rem;color:var(--muted)}label.field input,label.field select,label.field textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);padding:.45rem .55rem;width:100%}label.field textarea{min-height:4.5rem;resize:vertical}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}h2{margin:1.4rem 0 .2rem;font-size:1.15rem}.hint{color:var(--muted);margin:0}.hint,table{font-size:.9rem}table{width:100%;border-collapse:collapse;background:var(--card)}td,th{border:1px solid var(--line);padding:.35rem;vertical-align:top}th{text-align:left;color:var(--muted);font-weight:600}td input,td select,td textarea{width:100%;border:0;background:transparent;font:inherit}.ghost,button{font:inherit;cursor:pointer}button.add,button[type=submit]{background:var(--accent);color:#fff;border:0;padding:.5rem .9rem}button.add{background:var(--ink)}button.linkish{background:none;border:0;color:var(--accent);padding:0}.flash{padding:.5rem .7rem;border:1px solid var(--ok);color:var(--ok);background:#eef6ef}.flash.err{border-color:var(--accent);color:var(--accent);background:#fbeeee}.login-box{max-width:22rem}.login-box form{display:grid;grid-gap:.7rem;gap:.7rem}.login-box input{font:inherit;padding:.45rem .55rem}.login-box button{background:var(--accent);color:#fff;border:0;padding:.5rem .9rem}.add-game-form{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.add-game-form input{font:inherit;padding:.4rem .55rem;border:1px solid var(--line);background:var(--card);min-width:14rem}