html{touch-action:manipulation}.controls{z-index:5;background:var(--bg);border-bottom:2px solid var(--line-soft);margin-bottom:.875rem;padding:1rem 0 1.25rem;position:sticky;top:0}.ctl-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.875rem 1.625rem;display:flex}.ctl-row+.ctl-row{margin-top:.8125rem}.seg{flex-wrap:wrap;gap:.5rem;display:flex}.seg-label{letter-spacing:.1em;color:var(--ink);align-self:center;margin-right:.375rem;font-size:.74rem;font-weight:700}button.chip{background:var(--paper);color:var(--ink);border:1.5px solid var(--line);letter-spacing:.02em;cursor:pointer;white-space:nowrap;border-radius:8px;padding:.5rem 1rem;font-family:BIZ UDPGothic,sans-serif;font-size:.86rem;font-weight:700;transition:all .25s}button.chip:hover{border-color:var(--ink)}button.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.chip .dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block;transform:translateY(-1px)}.tools{flex-wrap:wrap;align-items:center;gap:.875rem;display:flex}.ctl-field{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.search{position:relative}.search input{background:var(--paper);border:1.5px solid var(--line);color:var(--ink);border-radius:8px;width:230px;padding:.5625rem 2.375rem .5625rem 2.5rem;font-family:BIZ UDPGothic,sans-serif;font-size:.9rem;font-weight:400;transition:border-color .25s}.search input::placeholder{color:var(--ink-2)}.search input:focus{border-color:var(--ink);outline:none}.search>svg{width:16px;height:16px;stroke:var(--ink-2);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.select-wrap{display:inline-flex;position:relative}.select-wrap .clear-btn{right:32px}select.sort{background:var(--paper);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;max-width:260px;padding:.5625rem .875rem;font-family:BIZ UDPGothic,sans-serif;font-size:.86rem;font-weight:700}select.sort:focus{border-color:var(--ink);outline:none}.select-wrap select{padding-right:60px}.count{color:var(--ink);white-space:nowrap;margin-left:auto;font-size:.9rem;font-weight:700}.count b{color:var(--ink);font-size:1.15rem;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.125rem;margin-top:.5rem;display:grid}.card{background:var(--card);border:1.5px solid var(--line-soft);animation:.55s both rise;animation-delay:var(--d);border-radius:8px;padding:1.5rem 1.625rem 1.625rem;scroll-margin-top:200px;transition:transform .35s,box-shadow .35s,border-color .35s;position:relative;overflow:hidden;box-shadow:0 2px 10px -6px rgba(26,24,19,.22)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card:before{content:"";background:var(--fam);width:5px;position:absolute;top:0;bottom:0;left:0}.card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 20px 36px -22px rgba(26,24,19,.5)}.card.owned{border-color:var(--gold);border-width:2.5px}.card.owned:after{content:"";border-top:1.75rem solid var(--gold);border-left:1.75rem solid transparent;position:absolute;top:0;right:0}.card-top{justify-content:space-between;align-items:center;margin-bottom:.875rem;display:flex}.conc-badge{letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:.2rem .5rem;font-size:.66rem;font-weight:700;line-height:1.4}.fam-pills{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.fam-pill{letter-spacing:.04em;color:#fff;background:var(--fam);border-radius:6px;padding:.25rem .6875rem;font-size:.72rem;font-weight:700}.fam-pill-sub{letter-spacing:.04em;color:var(--fam-sub);border:1px solid var(--fam-sub);background:0 0;border-radius:6px;padding:.2rem .5625rem;font-size:.64rem;font-weight:700}.year{color:var(--ink);font-weight:700}.year .month{color:var(--ink-2);opacity:.55}.year small{color:var(--ink-2);margin-left:5px;font-size:.66rem;font-weight:700}.year .disc-badge{letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;vertical-align:middle;border-radius:6px;margin-right:.45rem;padding:.2rem .5rem;font-size:.66rem;font-weight:700;line-height:1.4;display:inline-block}.en{color:var(--ink);letter-spacing:.005em;justify-content:space-between;align-items:flex-start;gap:.5rem;font-size:1.4rem;font-weight:700;line-height:1.2;display:flex}.ja{color:var(--ink);margin-top:4px;font-size:1.08rem;font-weight:700}.rule{background:var(--line-soft);height:1.5px;margin:1rem 0 .9375rem}.meta{flex-direction:column;gap:.6875rem;margin-bottom:.9375rem;display:flex}.meta>div{flex-direction:column;gap:2px;display:flex}.meta dt{letter-spacing:.04em;color:var(--ink);border-left:3px solid var(--fam);padding-left:.5rem;font-size:.74rem;font-weight:700}.meta dd{color:var(--ink);padding-left:.6875rem;font-size:.92rem;font-weight:400;line-height:1.55}.meta dd a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:.18em}.meta dd a:hover{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.unknown{color:var(--ink-2);font-weight:400}.est{color:#fff;background:var(--gold);letter-spacing:.06em;vertical-align:middle;border-radius:5px;margin-left:5px;padding:1px 7px;font-size:.66rem;font-weight:700;line-height:1.5;display:inline-block}.desc{color:var(--ink);font-size:.93rem;font-weight:400;line-height:1.85}.notes{border-top:1.5px solid var(--line-soft);flex-direction:column;gap:.8125rem;margin-top:1rem;padding-top:.875rem;display:flex}.note-row{grid-template-columns:4rem 1fr;align-items:start;gap:.75rem;display:grid}.note-lbl{letter-spacing:.1em;align-items:center;gap:7px;font-size:.62rem;font-weight:700;line-height:1.7;display:flex}.note-lbl:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.nt-top{color:#8a6e16}.nt-heart{color:#a83a58}.nt-base{color:#3f6e2c}.note-val{color:var(--ink);font-size:.84rem;font-weight:400;line-height:1.7}.memo{border-top:1.5px dashed var(--line);margin-top:1rem;padding-top:.875rem}.memo-label{letter-spacing:.1em;color:var(--gold);margin-bottom:6px;font-size:.66rem;font-weight:700}.memo-text{color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:.86rem;font-weight:400;line-height:1.75}.owned-info{border-top:1.5px dashed var(--line);color:var(--ink-2);letter-spacing:.04em;margin-top:1rem;padding-top:.875rem;font-size:.8rem;font-weight:700;line-height:1.7}.owned-info .travel-badge{letter-spacing:.06em;color:var(--gold);border:1px solid var(--gold);white-space:nowrap;vertical-align:middle;border-radius:6px;margin-left:.45rem;padding:.2rem .5rem;font-size:.66rem;font-weight:700;line-height:1.4;display:inline-block}.owned-info .travel-badge:first-child{margin-left:0}.owned-info .sample-badge{letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;vertical-align:middle;border-radius:6px;margin-left:.45rem;padding:.2rem .5rem;font-size:.66rem;font-weight:700;line-height:1.4;display:inline-block}.owned-info .sample-badge:first-child{margin-left:0}.grid.compact{align-items:start;gap:.375rem}.grid.compact .card:not(.expanded){align-items:baseline;gap:.75rem;padding:.4375rem .875rem .4375rem 1rem;display:flex}.grid.compact .card:not(.expanded) .card-top{margin-bottom:0;display:contents}.grid.compact .card:not(.expanded) .en{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:.98rem;font-weight:400;line-height:1.4;display:block;overflow:hidden}.grid.compact .card:not(.expanded) .ja{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gold);flex:1 4 auto;margin-top:0;font-size:.78rem;font-weight:400;overflow:hidden}.grid.compact .card:not(.expanded) .year{color:var(--ink-2);white-space:nowrap;flex:none;order:1;align-items:baseline;margin-left:auto;font-size:.74rem;display:inline-flex}.grid.compact .card:not(.expanded) .ja:empty{display:none}.grid.compact .card:not(.expanded) .en .conc-badge{margin-left:.4rem;padding:.1rem .35rem;font-size:.58rem}.grid.compact .card:not(.expanded) .year .disc-badge{margin-right:.4rem;padding:.1rem .3rem;font-size:.6rem}.grid.compact .card:not(.expanded) .fam-pills,.grid.compact .card:not(.expanded) .year small,.grid.compact .card:not(.expanded) .rule,.grid.compact .card:not(.expanded) .meta,.grid.compact .card:not(.expanded) .desc,.grid.compact .card:not(.expanded) .notes,.grid.compact .card:not(.expanded) .owned-info,.grid.compact .card:not(.expanded) .memo{display:none}.grid.compact .card.owned:not(.expanded){border-width:1.5px}.grid.compact .card.owned:not(.expanded):after{border-top-width:1rem;border-left-width:1rem}.grid.compact .card:not(.expanded) .year:before,.grid.compact .card:not(.expanded) .year:after{border:1px solid;border-radius:6px;margin-right:.4rem;padding:.1rem .3rem;font-size:.6rem;font-weight:700;line-height:1.4;display:inline-block}.grid.compact .card.sample:not(.expanded) .year:before{content:"サ";color:var(--ink-2);border-color:var(--line)}.grid.compact .card.travel:not(.expanded) .year:after{content:"ト";color:var(--gold);border-color:var(--gold);order:-1}.memo-dialog{background:var(--card);border:1.5px solid var(--line);width:min(560px,100vw - 32px);color:var(--ink);border-radius:8px;margin:auto;padding:0}.memo-dialog::backdrop{background:rgba(26,24,19,.45)}.memo-dialog-body{padding:1.625rem}.memo-dialog-en{color:var(--ink);font-size:1.3rem;font-weight:700;line-height:1.25}.memo-dialog-ja{color:var(--ink);margin-top:4px;margin-bottom:1.125rem;font-size:1rem;font-weight:700}.memo-textarea{width:100%;min-height:8.75rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);resize:vertical;border-radius:8px;padding:.625rem .75rem;font-family:BIZ UDPGothic,sans-serif;font-size:.88rem;font-weight:400;line-height:1.7}.memo-textarea:focus{border-color:var(--ink);outline:none}.owned-check{color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;margin-top:.625rem;font-size:.86rem;font-weight:700;display:flex}.owned-check input{accent-color:var(--gold);cursor:pointer}.owned-date-label{color:var(--ink);align-items:center;gap:.5rem;margin-top:.625rem;font-size:.86rem;font-weight:700;display:flex}.owned-date{background:var(--paper);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;padding:.4375rem .625rem;font-family:BIZ UDPGothic,sans-serif;font-size:.86rem;font-weight:400}.owned-date:focus{border-color:var(--ink);outline:none}.owned-date:disabled{opacity:.55;cursor:not-allowed}.owned-travel-check{color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;margin-top:.625rem;font-size:.86rem;font-weight:700;display:flex}.owned-travel-check input{accent-color:var(--gold);cursor:pointer}.owned-travel-check input:disabled{opacity:.55;cursor:not-allowed}.sample-check{color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;margin-top:.625rem;font-size:.86rem;font-weight:700;display:flex}.sample-check input{accent-color:var(--gold);cursor:pointer}.sample-check input:disabled{opacity:.55;cursor:not-allowed}.memo-actions{gap:.5rem;margin-top:.875rem;display:flex}.memo-actions button.chip{padding:.4375rem 1rem;font-size:.8rem}.memo-actions button.chip:disabled{opacity:.55;cursor:not-allowed}.memo-err{color:#a83a58;margin-top:8px;font-size:.78rem;font-weight:700}body.dialog-open{width:100%;position:fixed;left:0;right:0}.brand-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;padding:0}.brand-btn:hover{-webkit-text-decoration:underline dotted var(--gold);text-decoration:underline dotted var(--gold);text-underline-offset:.18em;text-decoration-thickness:2px}.brand-btn:focus-visible{-webkit-text-decoration:underline dotted var(--gold);text-decoration:underline dotted var(--gold);text-underline-offset:.18em;text-decoration-thickness:2px}.brand-dialog{background:var(--card);border:1.5px solid var(--line);width:min(560px,100vw - 32px);color:var(--ink);border-radius:8px;margin:auto;padding:0}.brand-dialog::backdrop{background:rgba(26,24,19,.45)}.brand-dialog-body{padding:1.625rem}.brand-dialog-en{color:var(--ink);font-size:1.5rem;font-weight:700;line-height:1.25}.brand-dialog-ja{color:var(--ink);letter-spacing:.1em;margin-top:4px;font-size:1rem;font-weight:700}.brand-dialog-rule{background:var(--gold);width:40px;height:2px;margin:1.125rem 0}.brand-dialog-summary{color:var(--ink);margin-bottom:1.125rem;font-size:.93rem;font-weight:400;line-height:1.85}.brand-dialog-facts{flex-direction:column;gap:.6875rem;margin-bottom:1.125rem;display:flex}.brand-dialog-facts>div{flex-direction:column;gap:2px;display:flex}.brand-dialog-facts dt{letter-spacing:.04em;color:var(--ink);border-left:3px solid var(--gold);padding-left:.5rem;font-size:.74rem;font-weight:700}.brand-dialog-facts dd{color:var(--ink);padding-left:.6875rem;font-size:.92rem;font-weight:400;line-height:1.55}.brand-dialog-links{flex-direction:column;gap:.5rem;margin-bottom:.25rem;display:flex}.brand-dialog-link{color:var(--ink);align-items:center;gap:.375rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-dialog-link svg{stroke:currentColor;width:.85em;height:.85em}.brand-dialog-link:hover{color:var(--gold);text-decoration:underline}.brand-dialog-actions{gap:.5rem;margin-top:1.125rem;display:flex}.empty{grid-column:1/-1;font-size:1.1rem}.to-top{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--ink);cursor:pointer;z-index:50;opacity:0;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:opacity .3s,transform .3s;display:none;position:fixed;transform:translateY(10px);box-shadow:0 4px 16px rgba(26,24,19,.3)}.to-top svg{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.to-top.show{opacity:1;transform:translateY(0)}@media (max-width:560px){html{font-size:12px}.to-top{display:flex}.controls{position:static;top:auto}.card{scroll-margin-top:0}.wrap{padding:0 14px 52px}header{padding:36px 0 20px}.grid{grid-template-columns:1fr}.ctl-row{justify-content:flex-start}.search input{width:100%;min-width:0}.search{flex:100%;min-width:0}.search input,select.sort,.memo-textarea,.owned-date{font-size:12px}.tools{width:100%}.tools>*{flex:0 0 100%}select.sort{flex:1}.select-wrap{flex:1 0 100%;max-width:260px}.select-wrap select{width:100%}.count.filtering{left:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;margin-left:0;padding:.5rem .9rem;position:fixed;box-shadow:0 4px 16px rgba(26,24,19,.3)}.memo-dialog,.brand-dialog{border-radius:8px 8px 0 0;width:100%;max-width:100%;margin:auto auto 0;position:fixed;inset:auto 0 0}.memo-dialog-body,.brand-dialog-body{padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}}