.detail-modal #detailGenre{margin-top:-8px;margin-bottom:26px}
.game-card .card-top{transform:translateY(-4px)}.game-card .game-reading{margin-top:15px}
.detail-reading{margin:-15px 0 0;color:var(--ink)}.detail-meta{display:grid;grid-template-columns:auto auto auto auto;column-gap:28px;justify-content:space-between;align-items:center}
@media (max-width:480px){.detail-meta{column-gap:16px}}
.game-duration{margin:4px 0 6px;color:var(--coral);font:500 10px "DM Mono"}.game-duration:before{content:"TIME / ";color:var(--muted)}
.confirm-modal h2{margin-bottom:18px}.confirm-message{margin:0 0 8px;color:var(--ink);font-size:14px;line-height:1.8}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.cancel-button,.confirm-delete-button{border:1px solid var(--line);padding:11px 16px;background:transparent;font-size:12px}.confirm-delete-button{border-color:#b55345;background:#b55345;color:#fff}.cancel-button:hover{border-color:var(--ink);color:var(--ink)}
.form-actions{display:flex;align-items:center;gap:10px;margin-top:23px}.form-actions .submit-button{margin-top:0;flex:1}.delete-from-edit{border:1px solid #c96c5b;padding:13px 12px;background:transparent;color:#b55345;font-size:11px;white-space:nowrap}.delete-from-edit:hover{background:#b55345;color:#fff}
.trash-button{border:1px solid var(--line);padding:6px 8px;background:transparent;color:var(--muted);font-size:10px}.trash-button span{font:500 10px "DM Mono"}.trash-note{margin:-8px 0 22px;color:var(--muted);font-size:12px}.trash-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 0}.trash-item strong{display:block;font:700 16px "Shippori Mincho"}.trash-item small{display:block;margin-top:4px;color:var(--muted);font:500 10px "DM Mono"}.restore-button{border:1px solid var(--ink);padding:7px 10px;background:transparent;color:var(--ink);font-size:11px}.restore-button:hover{background:var(--ink);color:#fff}.trash-empty{color:var(--muted);font-size:13px}
.game-reading,.detail-reading{margin:7px 0 0;color:var(--muted);font:500 10px "Zen Kaku Gothic New",sans-serif;letter-spacing:.04em}.detail-reading{margin:-15px 0 0;color:var(--ink);font-size:12px}
.shelf-actions{min-width:0}.sort-select{max-width:100%}
@media (max-width:480px){.shelf-head.shelf-head{display:block}.shelf-actions.shelf-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:15px;align-items:center}.shelf-actions.shelf-actions .sort-select{width:100%;min-width:0}.shelf-actions.shelf-actions .result-count{grid-column:1 / -1;text-align:right}.shelf-actions.shelf-actions .view-switcher{justify-self:end}}
.sort-select{border:1px solid var(--line);padding:6px 24px 6px 8px;background:var(--card);color:var(--muted);font-size:11px}
.game-card{min-width:0}.game-card h3{overflow-wrap:anywhere;word-break:break-word}.game-grid[data-columns="4"] .game-card h3{font-size:14px}.game-grid[data-columns="4"] .game-card p{font-size:10px}.game-grid[data-columns="4"] .player-badge{font-size:9px;padding:3px 5px}
.shelf-actions{display:flex;align-items:end;gap:16px}.view-switcher{display:flex;border:1px solid var(--line);background:var(--card)}.view-button{min-width:28px;border:0;border-right:1px solid var(--line);padding:6px 8px;background:transparent;color:var(--muted);font:500 11px "DM Mono"}.view-button:last-child{border-right:0}.view-button.active,.view-button:hover{background:var(--ink);color:#fff}.game-grid[data-columns="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}.game-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.game-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.detail-meta{display:grid;grid-template-columns:auto auto;row-gap:10px;column-gap:28px;justify-content:start;align-items:center}.detail-meta span,.detail-meta strong{white-space:nowrap}
.edit-link{border:0;background:none;padding:0;color:var(--muted);font-size:11px}.card-bottom{gap:10px;flex-wrap:wrap}
.card-photo{display:block;width:calc(100% + 36px);height:116px;object-fit:cover;margin:-18px -18px 8px}.photo-credit{display:block;width:max-content;max-width:100%;overflow:hidden;margin:0 0 12px;color:var(--muted);font-size:9px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.photo-credit[hidden]{display:none}.detail-photo-wrap{overflow:hidden;margin:-31px -31px 26px;max-height:280px;background:var(--ink)}.detail-photo-wrap img{display:block;width:100%;max-height:280px;object-fit:cover}.detail-photo-wrap .photo-credit{margin:8px 12px 10px;color:#fff}.photo-field small{display:block;margin-top:6px;color:var(--muted);font-size:10px}
:root{--ink:#17221c;--muted:#718078;--paper:#f4f2eb;--card:#fbfaf6;--line:#d9ded5;--mint:#c7dfc9;--coral:#ef7e65;--yellow:#f1c85b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Zen Kaku Gothic New",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.26;background-image:radial-gradient(#b9c4b9 .55px,transparent .55px);background-size:8px 8px}.app-shell{position:relative;max-width:1160px;margin:auto;padding:24px 5vw 48px}.topbar{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--coral);color:#fff;font:500 12px "DM Mono";transform:rotate(-9deg)}.brand strong{display:block;font:700 19px "Shippori Mincho"}.brand small{display:block;margin-top:1px;color:var(--muted);font:500 8px "DM Mono";letter-spacing:.12em}.icon-button{border:1px solid var(--ink);background:transparent;border-radius:50%;width:38px;height:38px;font-size:24px;line-height:1}.hero{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:82px 0 58px;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 12px;color:var(--coral);font:500 11px "DM Mono";letter-spacing:.13em}h1,h2{margin:0;font-family:"Shippori Mincho",serif;line-height:1.2}h1{font-size:clamp(38px,6vw,74px);letter-spacing:.01em}h1 em{color:var(--coral);font-style:normal}.hero-text{max-width:400px;margin:25px 0 0;color:var(--muted);font-size:14px;line-height:1.9}.hero-stamp{display:grid;place-items:center;flex:none;width:132px;height:132px;border:1px solid var(--ink);border-radius:50%;transform:rotate(8deg)}.hero-stamp span{margin-top:20px;font:500 37px "DM Mono"}.hero-stamp small{margin-top:-30px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.controls{padding:29px 0 45px}.search-box{display:flex;align-items:center;gap:10px;max-width:670px;border-bottom:1px solid var(--ink);padding:0 0 11px}.search-box span{font-size:29px;line-height:20px;transform:rotate(-20deg)}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:15px}.search-box input::placeholder{color:#9ca79f}.filter-row{display:flex;gap:8px;overflow:auto;padding-top:21px;scrollbar-width:none}.filter-chip{flex:none;border:1px solid var(--line);border-radius:999px;padding:8px 16px;background:transparent;color:var(--muted);font-size:12px}.filter-chip.active,.filter-chip:hover{border-color:var(--ink);background:var(--ink);color:white}.shelf-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.shelf-head h2{font-size:27px}.result-count{color:var(--muted);font:500 10px "DM Mono";letter-spacing:.08em}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.game-card{position:relative;min-height:219px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid var(--line);background:var(--card);transition:transform .2s,box-shadow .2s;animation:rise .45s both}.game-card:hover{transform:translateY(-4px);box-shadow:5px 5px 0 var(--mint)}.game-card:nth-child(4n+1){border-top:3px solid var(--coral)}.game-card:nth-child(4n+2){border-top:3px solid var(--yellow)}.game-card:nth-child(4n+3){border-top:3px solid #85b8a0}.game-card:nth-child(4n){border-top:3px solid #8ba4c2}.card-top{display:flex;align-items:start;justify-content:space-between;gap:8px}.genre{color:var(--muted);font:500 9px "DM Mono";letter-spacing:.08em}.player-badge{padding:4px 7px;background:var(--mint);font:500 10px "DM Mono";white-space:nowrap}.game-card h3{margin:22px 0 7px;font:700 20px "Shippori Mincho";line-height:1.35}.game-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:11px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:16px}.detail-link,.remove-link{border:0;background:none;padding:0;font-size:11px}.detail-link{color:var(--coral)}.remove-link{color:#b8beb7}.add-button{display:flex;align-items:center;gap:9px;margin:34px auto 62px;border:1px solid var(--ink);border-radius:999px;padding:12px 20px;background:var(--ink);color:#fff;font-size:12px}.add-button span{font-size:20px;font-weight:300}.empty-state{padding:55px 0;color:var(--muted);text-align:center;font-size:13px;line-height:2}footer{display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font:500 9px "DM Mono";letter-spacing:.08em}.modal-backdrop{position:fixed;z-index:4;inset:0;display:grid;place-items:center;padding:20px;background:rgba(23,34,28,.42)}.modal-backdrop[hidden]{display:none}.modal{position:relative;width:min(100%,460px);max-height:90vh;overflow:auto;padding:31px;background:var(--paper);box-shadow:12px 12px 0 rgba(23,34,28,.18)}.modal h2{margin-bottom:25px;font-size:30px}.close-button{position:absolute;top:17px;right:18px;border:0;background:transparent;font-size:26px}form label{display:block;margin-top:15px;font-size:11px;color:var(--muted)}form input,form textarea,form select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:0;padding:11px;outline-color:var(--coral);background:#fff;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.submit-button{width:100%;margin-top:23px;border:0;padding:13px;background:var(--coral);color:#fff;font-weight:700}.submit-button span{float:right;font-size:18px}.toast{position:fixed;z-index:5;right:20px;bottom:20px;transform:translateY(80px);padding:12px 16px;background:var(--ink);color:white;font-size:12px;transition:transform .25s}.toast.show{transform:translateY(0)}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width:800px){.game-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:62px 0 42px}.hero-stamp{width:95px;height:95px}.hero-stamp span{font-size:26px}}@media (max-width:480px){.app-shell{padding:18px 18px 35px}.hero{display:block}.hero-stamp{width:88px;height:88px;margin:30px 0 0 auto}.hero-stamp span{margin-top:13px}.hero-stamp small{margin-top:-21px}.game-grid{grid-template-columns:1fr}.game-card{min-height:190px}.shelf-head h2{font-size:24px}footer{display:block;line-height:2}footer span{display:block}}