:root{--bg:#f5ede0;--surface:#fdfaf5;--surface2:#f7f2ea;--border:#e0d8cc;--divider:#ddc3a0;--accent:#9e6b50;--accent2:#c8956a;--text:#2a2018;--text-muted:#7a6a58;--text-dim:#b8a898}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:16px;line-height:1.9}.site-header{position:relative}.header-banner{width:100%;height:260px;position:relative}.header-crop{background:var(--surface2);width:100%;height:100%;overflow:hidden}.banner-img{object-fit:cover;object-position:center 58%;width:100%;height:100%;display:block}.header-overlay{text-align:center;white-space:nowrap;background:#2a20188c;border-radius:14px;max-width:90%;padding:16px 36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.header-icon{border:4px solid var(--surface);object-fit:cover;background:var(--surface);z-index:2;border-radius:50%;width:84px;height:84px;display:block;position:absolute;bottom:-40px;left:40px;box-shadow:0 3px 14px #0003}.logo-name{color:#fff;letter-spacing:.02em;text-shadow:0 1px 6px #00000040;font-family:Hiragino Mincho ProN,Georgia,serif;font-size:26px;font-weight:600}.logo-tagline{color:#ffffffe0;letter-spacing:.06em;text-shadow:0 1px 6px #00000040;margin-top:4px;font-size:16px}main{max-width:760px;margin:0 auto;padding:88px 28px 100px}.intro{margin-bottom:56px}.intro-label{letter-spacing:.2em;color:var(--accent);border-bottom:1px solid var(--divider);margin-bottom:20px;padding-bottom:10px;font-size:16px}.intro-text{color:var(--text-muted);max-width:540px;font-size:18px;line-height:1.9}.apps-label{letter-spacing:.2em;color:var(--text-dim);border-bottom:1px solid var(--divider);margin-bottom:28px;padding-bottom:10px;font-size:16px}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:32px;transition:box-shadow .2s}.app-card:hover{box-shadow:0 4px 20px #0000000f}.app-banner{border-radius:8px;width:100%;margin-bottom:24px;display:block}.app-header{align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.app-icon{background:var(--accent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:26px;display:flex}.app-icon img{object-fit:cover;border-radius:14px;width:56px;height:56px}.app-title{color:var(--text);letter-spacing:.01em;margin-bottom:4px;font-family:Hiragino Mincho ProN,Georgia,serif;font-size:24px;font-weight:600}.app-subtitle{color:var(--text-dim);letter-spacing:.1em;font-size:16px}.app-desc{color:var(--text-muted);margin-bottom:22px;font-size:17px;line-height:1.85}.app-meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.badge{letter-spacing:.04em;border-radius:20px;padding:4px 12px;font-size:16px;font-weight:500}.badge-coming{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}.badge-wip{color:var(--text-dim);border:1px solid var(--border);background:#f5f0e8}.badge-live{background:var(--accent);color:#fff;border:1px solid var(--accent)}.app-link{color:var(--accent);border:1px solid var(--accent2);border-radius:6px;align-items:center;gap:5px;padding:7px 14px;font-size:16px;text-decoration:none;transition:background .15s;display:inline-flex}.app-link:hover{background:var(--surface2)}.app-link-muted{color:var(--text-dim);font-size:16px;text-decoration:none}.app-link-muted:hover{color:var(--text-muted);text-decoration:underline}.divider{background:var(--border);width:1px;height:14px}.wip-card{background:var(--surface2);border:1px dashed var(--border)}.keywords-detail{margin-bottom:20px}.keywords-detail summary{color:var(--accent);cursor:pointer;letter-spacing:.04em;user-select:none;padding:6px 0;font-size:16px}.keywords-detail summary:hover{color:var(--accent2)}.keywords-body{background:var(--surface2);border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:16px}.keywords-body p{color:var(--text-muted);margin-bottom:12px;font-size:16px;line-height:1.7}.keywords-table{border-collapse:collapse;width:100%;font-size:16px}.keywords-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);letter-spacing:.04em;padding:6px 10px;font-weight:500}.keywords-table td{color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 10px}.keywords-table tr:last-child td{border-bottom:none}footer{background:var(--surface);border-top:1px solid var(--border);text-align:center;padding:32px 28px}.footer-icon{object-fit:cover;border-radius:50%;width:44px;height:44px;margin:0 auto 14px;display:block}footer p{color:var(--text-dim);font-size:16px}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.footer-links a{color:var(--text-muted);letter-spacing:.04em;font-size:16px;text-decoration:none}.footer-links a:hover{color:var(--accent);text-decoration:underline}.footer-links .divider{height:12px}@media (width<=480px){.app-card{padding:22px 18px}.app-header{gap:14px}.app-icon{border-radius:12px;width:48px;height:48px}.app-icon img{width:48px;height:48px}.app-title{font-size:21px}.header-banner{height:160px}.header-icon{border-width:3px;width:64px;height:64px;bottom:-32px;left:20px}.header-overlay{border-radius:10px;padding:10px 18px}.logo-name{font-size:19px}.logo-tagline{font-size:12px}main{padding-top:68px}}
