:root{--text:#111827;--muted:#6b7280;--border:#e5e7eb;--soft:#f3f4f6;--accent:#111827;--radius:12px}*{box-sizing:border-box}body{color:var(--text);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.7}a{color:inherit}.container{max-width:860px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--border)}.site-header-inner{align-items:center;min-height:60px;display:flex}.site-title{font-size:17px;font-weight:700;text-decoration:none}main.container{min-height:70vh;padding-top:32px;padding-bottom:72px}.page-title{margin:0 0 8px;font-size:26px;line-height:1.3}.page-desc{color:var(--muted);margin:0 0 24px}.notice{color:var(--muted)}.error{color:#b91c1c}.count{color:var(--muted);margin:8px 0 12px;font-size:14px}.controls{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.controls input,.controls select{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:10px 12px}.controls input{flex:240px;min-width:0}.app-list{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.app-list li+li{border-top:1px solid var(--border)}.app-row{align-items:center;gap:16px;padding:16px;text-decoration:none;display:flex}.app-row:hover{background:var(--soft)}.app-row-body{min-width:0}.app-row-body h2{overflow-wrap:anywhere;margin:4px 0 2px;font-size:17px}.app-row-body p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:14px}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.tag{background:var(--soft);color:var(--text);border-radius:999px;padding:1px 10px;font-size:12px;line-height:1.8;display:inline-block}.thumb{aspect-ratio:16/9;background:var(--soft);border-radius:8px;flex:0 0 160px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-placeholder{color:#6b7280;background:linear-gradient(135deg,#e5e7eb,#f9fafb);justify-content:center;align-items:center;width:100%;height:100%;font-size:28px;font-weight:700;display:flex}.thumb-large{border-radius:var(--radius);flex:none;width:100%;margin-bottom:24px}.back{margin:0 0 16px;font-size:14px}.back a{color:var(--muted)}.app-detail h1{overflow-wrap:anywhere;margin:12px 0;font-size:30px;line-height:1.3}.lead{color:#374151;margin:0 0 20px;font-size:18px}.button{background:var(--accent);color:#fff;border-radius:8px;padding:12px 22px;font-weight:600;text-decoration:none;display:inline-block}.button:hover{opacity:.85}.description{white-space:pre-line;color:#374151;overflow-wrap:anywhere;margin:28px 0 0}.tech{margin-top:36px}.tech h2{margin:0 0 12px;font-size:16px}.tech-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:24px 0;font-size:14px}.site-footer p{margin:4px 0}.site-footer a{color:var(--text)}@media (max-width:600px){.page-title{font-size:22px}.app-detail h1{font-size:24px}.app-row{flex-direction:column;align-items:stretch}.app-row .thumb{flex:none;width:100%}}
