:root{--bg: #fbf7f0;--surface: #ffffff;--ink: #2b2b2b;--ink-soft: #6b6b6b;--accent: #e76f51;--accent-soft: #f4a261;--border: #ece5d8;--shadow: 0 4px 14px rgba(0, 0, 0, .05);--radius: 14px;--max-w: 1080px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Hiragino Sans,Meiryo,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}.site-header{padding:18px 0;border-bottom:1px solid var(--border);background:var(--surface)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-header .brand{font-weight:700;font-size:1.05rem;color:var(--ink)}.site-header nav a{margin-left:18px;color:var(--ink-soft);font-size:.95rem}.site-footer{margin-top:80px;padding:30px 0 50px;border-top:1px solid var(--border);color:var(--ink-soft);font-size:.9rem;text-align:center}.hero{padding:70px 0 30px;text-align:center}.hero .emoji{font-size:3.5rem}.hero h1{font-size:clamp(1.6rem,4vw,2.4rem);margin:14px 0 10px;line-height:1.4}.hero p.lead{color:var(--ink-soft);max-width:560px;margin:0 auto;font-size:1.05rem}.intro-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;margin:40px auto 60px;box-shadow:var(--shadow);max-width:720px}.intro-card h2{margin:0 0 12px;font-size:1.1rem}.intro-card p{margin:6px 0;color:var(--ink)}.intro-card .meta{margin-top:14px;font-size:.9rem;color:var(--ink-soft)}.intro-card .meta a{margin-right:12px}.category-section{margin:50px 0 20px}.category-section .head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.category-section .head h2{font-size:1.4rem;margin:0}.category-section .head .emoji{font-size:1.5rem}.category-section .desc{color:var(--ink-soft);margin:0 0 22px;font-size:.95rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 900px){.cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.cards{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 22px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transition:transform .15s ease,box-shadow .15s ease;text-decoration:none;color:inherit;position:relative}.card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #00000014;text-decoration:none}.card .card-head{display:flex;align-items:center;gap:10px}.card .card-head .emoji{font-size:1.6rem;line-height:1}.card h3{margin:0;font-size:1.05rem}.card .tagline{color:var(--ink-soft);font-size:.92rem;flex-grow:1}.card .footer-row{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.tag{display:inline-block;font-size:.75rem;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:#5a2d1c}.tag--action{background:#e9d8c1;color:#5a3a1c;text-decoration:none;transition:background .15s ease}.tag--action:hover{background:#dcc7a8}.detail-link:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.demo-link{position:relative;z-index:1}.stats{margin:70px 0 30px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;justify-content:space-around;flex-wrap:wrap;gap:14px;text-align:center}.stats .item .num{font-size:1.6rem;font-weight:700;color:var(--accent)}.stats .item .label{font-size:.85rem;color:var(--ink-soft)}.app-detail{padding:50px 0 30px}.app-detail .back{font-size:.9rem;color:var(--ink-soft);margin-bottom:18px;display:inline-block}.app-detail .head{display:flex;align-items:center;gap:16px;margin-bottom:8px}.app-detail .head .emoji{font-size:3rem}.app-detail h1{margin:0;font-size:1.8rem}.app-detail .tagline{color:var(--ink-soft);font-size:1.05rem;margin:0 0 24px}.app-detail section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 26px;margin-bottom:18px;box-shadow:var(--shadow)}.app-detail section h2{font-size:1.05rem;margin:0 0 12px;display:flex;align-items:center;gap:8px}.app-detail ul{margin:0;padding-left:20px}.app-detail li{margin:4px 0}.app-detail .tech-row{display:flex;flex-wrap:wrap;gap:8px}.app-detail .tech{background:#f1ece1;border:1px solid var(--border);font-size:.85rem;padding:4px 12px;border-radius:999px;color:var(--ink)}.app-detail .links{display:flex;flex-wrap:wrap;gap:10px}.btn{display:inline-block;padding:10px 18px;border-radius:999px;font-size:.92rem;font-weight:600;border:1px solid var(--accent);color:var(--accent);background:transparent;transition:background .15s}.btn:hover{background:var(--accent);color:#fff;text-decoration:none}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:#c95a3f}.about-page{padding:50px 0;max-width:720px;margin:0 auto}.about-page h1{font-size:1.8rem}.about-page p{font-size:1.02rem}
