:root{--bg:#f7f2e8;--paper:#fffdf9;--ink:#28251f;--muted:#756e64;--line:#ddd4c6;--accent:#315d52;--accent2:#e7efe9;--danger:#9a3f3f;--shadow:0 12px 35px rgba(67,51,31,.08)}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}body{margin:0;background:linear-gradient(180deg,#fbf8f1 0,#f7f2e8 340px)}button,input,textarea{font:inherit}.wrap{max-width:760px;margin:auto;padding:0 18px 46px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(92,75,52,.12)}.brand{font:700 21px/1.2 Georgia,"Yu Mincho",serif;color:var(--ink);text-decoration:none}.brand-en{font-size:10px;letter-spacing:.16em;color:#938a7d}.hidden{display:none!important}main{padding-top:24px}.card{background:rgba(255,253,249,.95);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:16px;box-shadow:var(--shadow)}.hero{text-align:center;padding:34px 24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--accent);margin-bottom:12px}.date{font-size:12px;color:var(--muted);margin-bottom:10px}h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(28px,7vw,42px);line-height:1.45;margin:0 auto 12px;max-width:620px}h2{font-family:Georgia,"Yu Mincho",serif;font-size:23px;line-height:1.55;margin:0 0 10px}.lead{font-size:15px;color:var(--muted);margin:0 0 22px}.count{display:flex;justify-content:center;gap:8px;align-items:baseline;margin:4px 0 22px;color:var(--muted);font-size:12px}.count strong{font-family:Georgia,serif;font-size:28px;color:var(--ink)}.quiet p,.muted{color:var(--muted);font-size:13px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:14px;border:1px solid transparent;padding:11px 16px;font-weight:800;text-decoration:none;cursor:pointer;transition:.15s;line-height:1.3}.button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);color:white}.secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}.hero .button{width:100%;max-width:380px}.row{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:16px}.label{display:block;font-size:12px;font-weight:800;margin:18px 0 7px}.req{color:#9a3f3f}.optional{font-weight:500;color:var(--muted)}input,textarea{width:100%;border:1px solid #d7cdbf;background:white;color:var(--ink);border-radius:13px;padding:13px 14px;outline:none;font-size:16px}input:focus,textarea:focus{border-color:#75988f;box-shadow:0 0 0 3px rgba(49,93,82,.09)}textarea{min-height:112px;resize:vertical;line-height:1.65}.counter{text-align:right;color:var(--muted);font-size:11px;margin-top:5px}.status{margin-top:12px;border-radius:12px;padding:10px 12px;background:#edf4f1;color:var(--accent);font-size:12px}.status.error{background:#f9eded;color:var(--danger)}.candidates{display:grid;gap:10px;margin-top:14px}.candidate,.selected,.rank-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;align-items:center;border:1px solid var(--line);border-radius:14px;background:white;padding:10px}.candidate{grid-template-columns:64px minmax(0,1fr) auto}.cover{width:64px;height:92px;object-fit:contain;background:#f0ece4;border-radius:5px}.cover.placeholder{display:grid;place-items:center;color:#948b80;font-size:11px;text-align:center}.book-title{font-weight:850;font-size:14px;line-height:1.45}.book-meta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}.candidate .button{min-height:42px;padding:8px 12px}.selected{margin:14px 0 4px}.answer-card .selected{margin-bottom:10px}.my-comment{margin:10px 0 15px;padding:12px 14px;background:#f4f1ea;border-radius:12px;font-size:13px;line-height:1.7}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.ranking{display:grid;gap:10px;margin-top:14px}.rank-card{grid-template-columns:30px 58px minmax(0,1fr) auto;padding:9px}.rank-no{font-family:Georgia,serif;font-size:20px;text-align:center;color:#7e7569}.rank-card .cover{width:58px;height:84px}.rank-count{font-size:12px;font-weight:900;color:var(--accent);white-space:nowrap}.rank-comment{font-size:10.5px;color:var(--muted);margin-top:5px;line-height:1.45}.services{margin-top:28px;padding-top:20px;border-top:1px solid rgba(92,75,52,.14)}.services-title{font-size:11px;color:var(--muted);margin-bottom:10px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-grid a{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,253,249,.72);text-decoration:none;color:var(--ink)}.service-grid strong{font-size:12px}.service-grid span{font-size:9.5px;color:var(--muted)}footer{text-align:center;color:#9a9184;font-size:10px;padding:22px 0 0}
@media(max-width:560px){.wrap{padding-left:14px;padding-right:14px}.topbar{height:60px}.card{padding:18px;border-radius:18px}.hero{padding:28px 17px}h1{font-size:30px}h2{font-size:20px}.row,.action-grid{grid-template-columns:1fr}.candidate{grid-template-columns:54px minmax(0,1fr)}.candidate .button{grid-column:2;width:100%;margin-top:2px}.cover{width:54px;height:78px}.selected{grid-template-columns:56px minmax(0,1fr)}.selected .cover{width:56px;height:82px}.rank-card{grid-template-columns:24px 48px minmax(0,1fr) auto;gap:8px}.rank-card .cover{width:48px;height:70px}.service-grid{grid-template-columns:1fr}.brand-en{font-size:9px}}
.archive-nav{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer}.archive-list{display:grid;gap:10px;margin-top:14px}.archive-item{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px;text-align:left;color:var(--ink)}.archive-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.archive-date{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.archive-prompt{display:block;font-family:Georgia,"Yu Mincho",serif;font-size:15px;line-height:1.55;font-weight:700}.archive-count{font-size:11px;font-weight:850;color:var(--accent);white-space:nowrap}.archive-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.archive-actions .button{min-height:40px;padding:8px 10px;font-size:12px}.archive-note{padding:14px;border-radius:12px;background:#f4f1ea;color:var(--muted);font-size:12px;line-height:1.7}#publicResultView .ranking{margin-bottom:16px}@media(max-width:560px){.archive-main{grid-template-columns:1fr}.archive-count{margin-top:2px}.archive-actions{grid-template-columns:1fr 1fr}}
.book-detail-cue{margin-top:7px;font-size:11px;font-weight:800;color:var(--accent)}.book-link-card{cursor:pointer}.book-link-card:hover{border-color:#b8c8c2}.book-link-card:focus-visible{outline:3px solid rgba(49,93,82,.25);outline-offset:2px}