
:root{--a:#ff5b9d;--bg:#fff7fb;--t:#29232a;--cols:2;--gap:10px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;background:var(--bg);color:var(--t)}header{position:sticky;top:0;z-index:5;background:linear-gradient(135deg,#ff5b9d,#ff8fbd);color:#fff;padding:15px}h1{font-size:18px;margin:0}main{max-width:1000px;margin:auto;padding:12px 12px 90px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat,.controls,.tools{background:#fff;border-radius:14px;padding:10px;text-align:center}.stat b{display:block;font-size:20px;color:var(--a)}.controls{margin:10px 0;text-align:left}input,select{width:100%;padding:10px;border:1px solid #ddd;border-radius:10px;margin-bottom:7px;background:#fff}.row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chips{display:flex;gap:6px;overflow:auto}button{font:inherit}.chip{white-space:nowrap;border:1px solid #ddd;background:#fff;padding:7px 11px;border-radius:999px}.chip.on{background:var(--a);color:#fff;border-color:var(--a)}.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.tools button{border:0;border-radius:11px;padding:11px;background:#fff0f6;color:#a72f62;font-weight:700}.tools .wide{grid-column:1/-1;background:var(--a);color:#fff}.filebtn{position:relative;display:flex;align-items:center;justify-content:center;border-radius:11px;padding:11px;background:#fff0f6;color:#a72f62;font-weight:700;cursor:pointer;overflow:hidden}.filebtn.wide{background:var(--a);color:#fff}.filebtn input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.msg{font-size:12px;text-align:center;color:#755f6b;margin:5px 0 10px}.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap)}.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #0001}.card.owned{outline:3px solid var(--a)}.pic{aspect-ratio:2/3;background:#f3eaf0;position:relative;overflow:hidden}.pic img{width:100%;height:100%;object-fit:cover;display:block}.pic img.accessory-rotated{position:absolute;left:50%;top:50%;width:150%;height:66.6667%;transform:translate(-50%,-50%) rotate(90deg);object-fit:cover;transform-origin:center center}.fallback{height:100%;display:none;align-items:center;justify-content:center;text-align:center;color:#876f7c;font-weight:700}.cardmeta{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px 0}.badge{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border-radius:999px;background:#f7e7ef;font-size:11px;font-weight:800}.fav{position:static;border:0;background:#fff0f6;border-radius:999px;min-width:36px;height:30px;padding:0 9px;font-size:19px;line-height:1}.info{padding:6px 8px 8px}.name{font-size:12px;font-weight:700}.count{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.count button{border:0;background:#ffe1ee;color:#bd2765;border-radius:10px;width:35px;height:34px;font-size:19px}.fab{position:fixed;right:16px;bottom:18px;border:0;border-radius:999px;padding:13px 16px;background:var(--a);color:#fff;transition:transform .25s ease,opacity .2s ease}.fab.offscreen{transform:translateY(calc(100% + 40px));opacity:0;pointer-events:none}.sheet{display:none;position:fixed;inset:0;z-index:20;background:#0006;align-items:flex-end}.sheet.open{display:flex}.sheetin{width:100%;background:#fff;border-radius:22px 22px 0 0;padding:18px}.setting{margin:14px 0}.checkrow{display:flex;align-items:center;gap:9px;margin:14px 0;cursor:pointer}.checkrow input[type=checkbox]{width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:var(--a)}.close{width:100%;padding:12px;border:0;border-radius:12px;background:var(--a);color:#fff}.dataitem{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid #eee}.dataitem input{width:auto;margin:0}.dataitem .meta{flex:1}.dataitem small{display:block;color:#806b76;margin-top:2px}.danger{width:100%;padding:12px;border:0;border-radius:12px;background:#d83b63;color:#fff;font-weight:700;margin-top:14px}.danger:disabled{opacity:.4}.emptydata{text-align:center;color:#806b76;padding:20px 4px}
.ownedrow{margin-top:7px}
.ownedvalue{display:flex;align-items:center;justify-content:center;gap:5px}
.ownedinput{width:64px;max-width:calc(100% - 24px);height:34px;border:1px solid #ddd;border-radius:8px;background:#fff;text-align:center;font:inherit;font-weight:800;padding:0 3px}
.ownedunit{font-size:12px;font-weight:800;white-space:nowrap}
.ownedbuttons{display:flex;justify-content:space-between;align-items:center;margin-top:6px;width:100%}
.ownedbtn{width:40px;height:34px;border:0;border-radius:8px;background:#f1f1f1;font-size:20px;font-weight:800;line-height:1;padding:0}
.card{display:flex;flex-direction:column;height:100%}
.info{display:flex;flex-direction:column;flex:1}
.name{height:3em;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}
.ownedrow{margin-top:auto;padding-top:7px}
.cardnumber{font-size:11px;font-weight:700;line-height:1.4;min-height:1.4em;margin-bottom:2px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sitefooter{margin-top:28px;padding:18px 14px 26px;text-align:center;font-size:11px;line-height:1.7;opacity:.65}
.sitefooter p{margin:3px 0}


/* 更新履歴メニュー */
header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.menu-toggle{border:1px solid #ffffff65;background:#ffffff20;color:#fff;border-radius:10px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;font-size:24px;flex-shrink:0}
.menu-panel{position:absolute;right:12px;top:calc(100% - 3px);background:#fff;color:var(--t);border-radius:12px;box-shadow:0 6px 24px #0003;min-width:180px;padding:7px;z-index:10}
.menu-panel[hidden],.history-overlay[hidden]{display:none!important}
.menu-item{width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:12px;cursor:pointer;color:var(--t);font-weight:700}
.menu-item:hover{background:#fff0f6}
.history-overlay{position:fixed;inset:0;z-index:30;background:#0008;display:flex;align-items:center;justify-content:center;padding:16px}
.history-dialog{width:min(100%,560px);max-height:min(80vh,700px);background:#fff;border-radius:18px;display:flex;flex-direction:column;overflow:hidden}
.history-head{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee}
.history-head h2{margin:0;font-size:19px}
.history-close{border:0;background:#fff0f6;border-radius:9px;width:38px;height:38px;font-size:22px;cursor:pointer}
.history-list{padding:16px 18px;overflow-y:auto;overscroll-behavior:contain}
.history-entry{padding:0 0 17px;margin-bottom:17px;border-bottom:1px solid #eee}
.history-entry:last-child{margin-bottom:0;border-bottom:0}
.history-date{font-size:12px;color:#a72f62;font-weight:700;margin-bottom:5px}
.history-title{font-weight:800;margin-bottom:7px}
.history-details{margin:0;padding-left:20px;font-size:13px;line-height:1.7}
.history-status{color:#806b76;text-align:center;padding:20px 0;font-size:13px}
