:root{--bg:#ede6d3;--surface:#f2ecd9;--surface-alt:#e2d9bd;--border:#cabf9e;--border-strong:#201b14;--ink:#201b14;--ink-muted:#5c5240;--ink-faint:#7a6f57;--accent:#b03a2e;--accent-strong:#8a2c22;--accent-ink:#fff8ef}@media (prefers-color-scheme:dark){:root{--bg:#17130d;--surface:#1f1a12;--surface-alt:#241e15;--border:#4a3f2c;--border-strong:#cbbfa0;--ink:#ece3d0;--ink-muted:#b5a888;--ink-faint:#8a7c61;--accent:#e2624f;--accent-strong:#ff8a72;--accent-ink:#1c120c}}*{box-sizing:border-box}html,body{max-width:100vw}body{background:repeating-linear-gradient(0deg, transparent 0 27px, #201b140d 27px 28px), repeating-linear-gradient(90deg, transparent 0 27px, #201b140d 27px 28px), var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-zen-old-mincho), "Hiragino Mincho ProN", serif;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent-strong)}.page{flex-direction:column;gap:20px;max-width:640px;margin:0 auto;padding:clamp(16px,5vw,40px) 14px 64px;display:flex}.nav{border-bottom:3px double var(--ink);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;font-size:.8rem;display:flex}.nav a{color:var(--ink-muted);text-decoration:none}.nav .brand{font-family:var(--font-shippori-mincho), serif;letter-spacing:.06em;color:var(--ink);font-size:1.15rem;text-decoration:none}.nav .postLink{border:1.5px solid var(--ink);color:var(--ink);border-radius:0;padding:5px 12px;font-weight:700}header.hero{flex-direction:column;gap:8px;display:flex}.eyebrow{letter-spacing:.16em;color:var(--accent-strong);font-size:.72rem;font-weight:600}.eyebrow a{color:inherit;text-decoration:none}h1{font-family:var(--font-shippori-mincho), serif;letter-spacing:.04em;text-wrap:balance;color:var(--ink);border-bottom:3px solid var(--ink);margin:0;padding-bottom:6px;font-size:clamp(1.9rem,7vw,2.6rem);font-weight:800;line-height:1.1;display:inline-block}.lede{max-width:56ch;color:var(--ink-muted);margin:0;font-size:.94rem;line-height:1.8}.criteria{color:var(--ink-muted);flex-wrap:wrap;gap:6px 8px;font-size:.72rem;display:flex}.criteria span{background:var(--surface-alt);border:1px solid var(--border);border-radius:0;padding:2px 8px}.list{flex-direction:column;gap:14px;display:flex}.card{background:var(--surface);border:3px double var(--ink);border-radius:0;flex-direction:column;gap:12px;padding:clamp(16px,4vw,22px);display:flex;position:relative}.cardTop{align-items:flex-start;gap:14px;padding-right:64px;display:flex}.rank{font-family:var(--font-shippori-mincho), serif;color:var(--ink);border-right:2px solid var(--ink);flex-shrink:0;padding-right:12px;font-size:2.6rem;font-weight:800;line-height:.85}.rank.badge{border-right:none;border:2px solid var(--accent);width:62px;color:var(--accent);font-family:var(--font-zen-old-mincho), serif;text-align:center;padding:5px 2px;font-size:.8rem;font-weight:600;line-height:1.45}.cardHeading{flex-direction:column;flex:auto;gap:2px;min-width:0;padding-top:2px;display:flex}.itemName{font-family:var(--font-shippori-mincho), serif;font-size:1.15rem;font-weight:700}.itemShop{color:var(--ink-muted);font-size:.83rem}.scoreStamp{border:2.5px solid var(--accent);width:52px;height:52px;color:var(--accent);font-family:var(--font-shippori-mincho), serif;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute;top:clamp(14px,3.5vw,20px);right:clamp(14px,3.5vw,20px);transform:rotate(-9deg)}.scoreStamp b{font-size:1.1rem;line-height:1}.scoreStamp i{font-size:.52rem;font-style:normal}.breakdown{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px 10px;padding-top:10px;display:grid}.stat{flex-direction:column;gap:3px;display:flex}.statLabel{letter-spacing:.02em;color:var(--ink-muted);white-space:nowrap;font-size:.7rem}.glyphs{letter-spacing:2px;color:var(--ink);font-size:.85rem}.glyphs .off{color:var(--border)}.note{color:var(--ink);background:var(--surface-alt);border-left:3px solid var(--ink);padding:10px 12px;font-size:.88rem;line-height:1.75}.note:before{content:"感想";letter-spacing:.1em;color:var(--ink-faint);margin-bottom:4px;font-size:.66rem;display:block}.meta{color:var(--ink-faint);font-size:.74rem}.yearCard{color:inherit;justify-content:space-between;align-items:center;gap:14px;text-decoration:none;display:flex}.yearCardMain{flex-direction:column;gap:4px;min-width:0;display:flex}.yearLabel{font-family:var(--font-shippori-mincho), serif;color:var(--ink);font-size:1.55rem;font-weight:700}.yearMeta{color:var(--ink-muted);font-size:.83rem}.yearTop{color:var(--accent-strong);font-size:.78rem}.yearArrow{font-family:var(--font-shippori-mincho), serif;color:var(--ink-faint);flex-shrink:0;font-size:1.5rem}.emptySlot{border:1.5px dashed var(--border-strong);color:var(--ink-faint);text-align:center;border-radius:0;padding:16px 20px;font-size:.85rem}.infoSection{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:18px;display:flex}.infoSection h2{font-family:var(--font-shippori-mincho), serif;color:var(--ink);margin:0;font-size:1.1rem;font-weight:700}.infoSection p{color:var(--ink-muted);margin:0;font-size:.88rem;line-height:1.85}.infoSection .profileName{font-family:var(--font-shippori-mincho), serif;color:var(--ink);font-size:1rem;font-weight:700}.profileLinks{gap:10px;margin-top:2px;display:flex}.profileLinks a{border:1.5px solid var(--ink);color:var(--ink);padding:5px 14px;font-size:.85rem;text-decoration:none}footer.siteFooter{text-align:center;color:var(--ink-faint);border-top:1px solid var(--border);padding-top:12px;font-size:.72rem}.errorNote{background:var(--surface-alt);border-left:3px solid var(--accent-strong);color:var(--accent-strong);border-radius:0;padding:10px 14px;font-size:.9rem}.form{background:var(--surface);border:3px double var(--ink);border-radius:0;flex-direction:column;gap:16px;padding:clamp(16px,4vw,24px);display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:.9rem;font-weight:700}.field .hint{color:var(--ink-muted);font-size:.75rem;font-weight:400}.field input[type=text],.field input[type=date],.field textarea{font:inherit;font-family:var(--font-zen-old-mincho), serif;background:var(--surface-alt);border:1px solid var(--border-strong);color:var(--ink);border-radius:0;padding:10px 12px}.field textarea{resize:vertical;min-height:88px}.scoreField{border:1px solid var(--border-strong);background:var(--surface-alt);border-radius:0;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.scoreFieldTop{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.scoreFieldTop .axisLabel{font-size:.92rem;font-weight:700}.scoreFieldTop .axisValue{font-family:var(--font-shippori-mincho), serif;color:var(--accent-strong);font-weight:700}.scoreFieldDesc{color:var(--ink-muted);font-size:.75rem;line-height:1.5}.scoreRadios{gap:6px;display:flex}.scoreRadios label{text-align:center;font-family:var(--font-shippori-mincho), serif;border:1.5px solid var(--ink);cursor:pointer;background:var(--surface);color:var(--ink-muted);border-radius:0;flex:1;padding:8px 0;font-weight:700}.scoreRadios input{opacity:0;pointer-events:none;position:absolute}.scoreRadios label:has(input:checked){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.totalPreview{border-top:1px dashed var(--border-strong);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.totalPreview .value{font-family:var(--font-shippori-mincho), serif;color:var(--accent-strong);font-size:1.5rem;font-weight:800}.submitButton{font:inherit;font-family:var(--font-shippori-mincho), serif;letter-spacing:.08em;color:var(--bg);background:var(--ink);cursor:pointer;border:none;border-radius:0;padding:14px 20px;font-size:1.05rem;font-weight:700}.submitButton:disabled{opacity:.6;cursor:not-allowed}
