.shelf-page .shelf{margin:2.2em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.shelf-page .shelf table{width:100%;min-width:44rem;border-collapse:collapse;font-size:var(--t-sm)}.shelf-page .shelf thead th{text-align:left;vertical-align:bottom;font-family:var(--font-display);font-weight:400;font-size:var(--t-sm);color:var(--ink-soft);border-bottom:1px solid var(--hairline-strong);padding:.5rem .75rem .45rem;white-space:nowrap}.shelf-page .shelf thead th:first-child,.shelf-page .shelf tbody td:first-child{padding-left:0}.shelf-page .shelf thead th:last-child,.shelf-page .shelf tbody td:last-child{padding-right:0}.shelf-page .shelf tbody td{vertical-align:top;padding:.85rem .75rem;border-bottom:1px solid var(--hairline);line-height:1.5}.shelf-page .shelf tbody tr:last-child td{border-bottom:0}.shelf-page .shelf tbody td:nth-child(3){white-space:nowrap}.shelf__what{display:block;margin-top:.3rem;font-size:var(--t-xs);line-height:1.45;color:var(--ink-soft)}.shelf__sort{appearance:none;-webkit-appearance:none;background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;min-height:2.75rem}.shelf__sort:hover{color:var(--ink)}.shelf__sort:after{content:"↕";font-size:.85em;opacity:.35}.shelf-page th[aria-sort=ascending] .shelf__sort,.shelf-page th[aria-sort=descending] .shelf__sort{color:var(--ink)}.shelf-page th[aria-sort=ascending] .shelf__sort:after{content:"↑";opacity:1;color:var(--accent)}.shelf-page th[aria-sort=descending] .shelf__sort:after{content:"↓";opacity:1;color:var(--accent)}.shelf-tools{margin:2.4em 0 1rem;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:flex-start}.shelf-tools__set{border:0;margin:0;padding:0;min-width:0}.shelf-tools__label{display:block;padding:0;margin-bottom:.45rem;font-size:var(--t-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}.shelf-tools__chips{display:flex;flex-wrap:wrap;gap:.4rem}.shelf-chip{display:inline-flex;position:relative}.shelf-chip input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.shelf-chip span{display:inline-block;padding:.4rem .8rem;border:1px solid var(--hairline-strong);border-radius:999px;font-size:var(--t-xs);line-height:1.3;cursor:pointer}.shelf-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.shelf-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.shelf-tools__sort{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.shelf-tools__sort .shelf-tools__label{width:100%;margin-bottom:.45rem}.shelf-tools__sort select,.shelf-dir{font:inherit;font-size:var(--t-xs);padding:.4rem .6rem;color:var(--ink);background:var(--paper);border:1px solid var(--hairline-strong);border-radius:var(--r);cursor:pointer}.shelf-count{flex:1 1 100%;margin:0;font-size:var(--t-xs);color:var(--ink-soft)}@media(max-width:40rem){.shelf-page.is-enhanced .shelf{overflow:visible}.shelf-page.is-enhanced .shelf table{min-width:0}.shelf-page.is-enhanced .shelf thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shelf-page.is-enhanced .shelf tbody tr{display:block;padding:1rem 0;border-bottom:1px solid var(--hairline-strong)}.shelf-page.is-enhanced .shelf tbody tr:last-child{border-bottom:0}.shelf-page.is-enhanced .shelf tbody td{display:grid;grid-template-columns:6.5rem 1fr;gap:.75rem;padding:.2rem 0;border:0}.shelf-page.is-enhanced .shelf tbody td:nth-child(3){white-space:normal}.shelf-page.is-enhanced .shelf tbody td:before{content:attr(data-label);font-size:var(--t-xs);line-height:1.5;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}}@media print{.shelf-tools{display:none}.shelf-page .shelf{overflow:visible}.shelf-page .shelf table{min-width:0}}.write{margin-top:clamp(2.5rem,6vh,4rem);padding-top:clamp(1.75rem,4vh,2.5rem);border-top:1px solid var(--hairline-strong);max-width:var(--measure)}.write__heading{margin:0 0 1.4rem;font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,1.15rem + 1.3vw,2.15rem);line-height:1.15;letter-spacing:-.008em}.write__field{margin:0 0 1.35rem}.write__field label{display:block;margin:0 0 .35rem;font-size:var(--t-sm);letter-spacing:.02em;color:var(--ink-soft)}.write__field input,.write__field textarea{display:block;width:100%;padding:.7rem .8rem;font-family:var(--font-text);font-size:var(--t-base);line-height:1.6;color:var(--ink);background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r);box-shadow:none}.write__field textarea{resize:vertical;min-height:9rem}.write__field input:focus-visible,.write__field textarea:focus-visible{border-color:var(--accent)}.write__field input[aria-invalid=true],.write__field textarea[aria-invalid=true]{border-color:#9b2c1e}.write__hint{display:block;margin-top:.4rem;font-size:var(--t-xs);line-height:1.5;color:var(--ink-soft)}.write__error{display:none;margin-top:.4rem;font-size:var(--t-xs);line-height:1.5;color:#9b2c1e}.write__error.is-shown{display:block}.write__alert{margin:0 0 1.4rem;padding:.85rem 1rem;font-size:var(--t-sm);line-height:1.55;color:var(--ink);background:color-mix(in srgb,#9B2C1E 10%,var(--surface));border-left:2px solid #9B2C1E;border-radius:var(--r)}.write__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.write__send{display:flex;align-items:center;gap:.9rem;margin-top:1.6rem}.write__send button{font-family:var(--font-text);font-size:var(--t-sm);font-weight:700;letter-spacing:.04em;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r);padding:.7rem 1.6rem;min-height:44px;cursor:pointer}.write__send button:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.write__send button[disabled]{opacity:.55;cursor:default}.write__wait{font-size:var(--t-xs);letter-spacing:.04em;color:var(--ink-soft)}.write__done{padding:1.2rem 1.3rem;background:var(--surface);border-left:2px solid var(--accent);border-radius:var(--r)}.write__done p{margin:0 0 .7em;font-size:var(--t-sm);line-height:1.6;color:var(--ink-soft)}.write__done p:last-child{margin-bottom:0}.write__done-lead{font-family:var(--font-display);font-size:var(--t-lg);color:var(--ink)!important}@media print{.write__form,.write__send{display:none}}
