:root{--ground: #f5f7f6;--surface: #ffffff;--ink: #171d1c;--ink-2: #4a5654;--rule: #d7dedc;--accent: #1f6f68;--danger: #8c2f2a;--veil: rgba(245, 247, 246, .88);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--ground: #101413;--surface: #161b1a;--ink: #e4eae8;--ink-2: #a7b3b0;--rule: #2a3331;--accent: #5fbfb4;--danger: #e08a82;--veil: rgba(16, 20, 19, .88)}}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:Hiragino Sans,Yu Gothic,Meiryo,system-ui,sans-serif;line-height:1.7}.app-header{display:flex;align-items:baseline;gap:1.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--rule);background:var(--surface)}.app-title{font-weight:700;text-decoration:none;color:var(--ink)}.app-nav{display:flex;gap:1rem}.app-nav a{color:var(--ink-2);text-decoration:none}.app-nav a:hover{color:var(--accent)}.app-main{max-width:60rem;margin:0 auto;padding:1.5rem}table{width:100%;border-collapse:collapse}th,td{padding:.45rem .6rem;border-bottom:1px solid var(--rule);text-align:left}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}input,select,button,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:.35rem .5rem}.entry-form p{display:flex;align-items:center;gap:.75rem;margin:.5rem 0}.entry-form label,.entry-form .row-label{min-width:7rem}.entry-form input[type=number]{width:6rem}.entry-form fieldset{border:1px solid var(--rule);border-radius:4px;padding:.5rem .75rem}.choice-row{display:flex;flex-wrap:wrap;gap:.4rem}.choice-row .choice{min-width:2.75rem;min-height:2.75rem;text-align:center}.choice-row .choice[aria-pressed=true]{background:var(--accent);color:var(--surface);border-color:var(--accent);font-weight:700}.choice-row .choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tag-input{margin:.5rem 0}.tag-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.tag-entry{display:flex;flex:1 1 12rem;min-width:0;gap:.5rem}.tag-entry input{flex:1 1 auto;min-width:0}.tag-chips,.tag-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.tag-add,.tag-chip,.tag-suggestions button{min-height:2.75rem}.tag-add{min-width:2.75rem;white-space:nowrap}.tag-chip,.tag-suggestions button{max-width:100%}.tag-chip{display:inline-flex;align-items:center;gap:.35rem;overflow-wrap:anywhere;text-align:left}.tag-chip:hover{color:var(--danger);border-color:var(--danger)}.tag-suggestions button{color:var(--accent)}.tag-add:focus-visible,.tag-chip:focus-visible,.tag-suggestions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:32rem){.entry-form .answer-row{flex-direction:column;align-items:stretch;gap:.25rem}.entry-form .answer-row label,.entry-form .answer-row .row-label{min-width:0}.entry-form .tag-row .tag-entry{flex:1 1 8rem}}.record-table tbody tr{cursor:pointer}.record-table tbody tr:hover{background:var(--surface)}.record-table .row-edit{background:none;border:none;padding:0;min-height:2.75rem;color:var(--accent);text-align:left;white-space:nowrap}.record-table .row-edit:focus-visible,.record-table .row-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.record-table .row-delete{min-width:2.75rem;min-height:2.75rem;color:var(--danger);white-space:nowrap}.record-table .row-actions{width:1%;padding-left:1rem;text-align:right}@media(max-width:32rem){.record-table th,.record-table td{padding:.45rem .25rem}.record-table .row-actions{padding-left:.5rem}.record-table th{white-space:nowrap}.record-table td:nth-child(5){overflow-wrap:anywhere}}.ok{color:var(--accent);font-weight:700}.ng{color:var(--danger);font-weight:700}.book-card{border:1px solid var(--rule);border-radius:4px;padding:1rem;margin-bottom:1rem;background:var(--surface)}.rate-bar{display:inline-block;width:6rem;height:.5rem;margin-right:.5rem;background:var(--rule);border-radius:999px;overflow:hidden;vertical-align:middle}.rate-bar>span{display:block;height:100%;background:var(--accent)}.num{font-variant-numeric:tabular-nums}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.sending-overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--veil)}.sending-box{max-width:100%;margin:0;padding:1rem 1.25rem;border:1px solid var(--rule);border-radius:4px;background:var(--surface);text-align:center;overflow-wrap:anywhere}.error{color:var(--danger)}.muted{color:var(--ink-2);font-size:.875rem}
