:root{--bg: #0b0d12;--bg-elev: #141821;--bg-card: #161b26;--border: #232a38;--text: #e7ebf2;--text-dim: #9aa4b6;--accent: #6ea8fe;--accent-2: #c08bff;--radius: 14px;--maxw: 1080px;--font: system-ui, -apple-system, "Segoe UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{font-weight:700;font-size:1.15rem;color:var(--text);letter-spacing:.02em}.brand:hover{text-decoration:none;color:var(--accent)}.nav{display:flex;gap:20px}.nav a{color:var(--text-dim);font-size:.95rem}.nav a:hover{color:var(--text);text-decoration:none}main{min-height:60vh;padding:40px 0 64px}.site-footer{border-top:1px solid var(--border);color:var(--text-dim);font-size:.85rem;padding:28px 0}.site-footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 18px}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.footer-links a{color:var(--text-dim)}.footer-links a:hover{color:var(--text)}.form-embed{margin:18px 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff}.form-embed iframe{display:block;width:100%;border:0}.hero{padding:24px 0 8px}.hero h1{font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.2;margin:0 0 12px;background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--text-dim);font-size:1.05rem;max-width:56ch}.section-title{font-size:1.4rem;margin:40px 0 18px;display:flex;align-items:baseline;gap:12px}.section-title a{font-size:.85rem;font-weight:400}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.app-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:transform .15s ease,border-color .15s ease}.app-card:hover{transform:translateY(-3px);border-color:var(--accent);text-decoration:none}.app-card .emoji{font-size:2rem;display:block;margin-bottom:12px;color:var(--accent-2)}.app-card h3{margin:0 0 6px;color:var(--text);font-size:1.15rem}.app-card p{margin:0 0 12px;color:var(--text-dim);font-size:.92rem}.tag{display:inline-block;font-size:.75rem;color:var(--accent);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.post-list{list-style:none;padding:0;margin:0}.post-list li{padding:18px 0;border-bottom:1px solid var(--border)}.post-list time{color:var(--text-dim);font-size:.85rem;font-variant-numeric:tabular-nums}.post-list h3{margin:4px 0;font-size:1.15rem}.post-list p{margin:0;color:var(--text-dim);font-size:.92rem}.prose{max-width:70ch}.prose h1{font-size:2rem;line-height:1.25;margin:0 0 8px}.prose h2{margin:1.8em 0 .6em;border-bottom:1px solid var(--border);padding-bottom:.3em}.prose h3{margin:1.4em 0 .5em}.prose pre{background:#0e1118;border:1px solid var(--border);border-radius:10px;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:.88rem}.prose code{font-family:var(--mono);font-size:.88em}.prose :not(pre)>code{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:1px 6px}.prose blockquote{margin:1.2em 0;padding:2px 18px;border-left:3px solid var(--accent);color:var(--text-dim)}.post-meta{color:var(--text-dim);font-size:.9rem;margin-bottom:28px}.app-stage{margin:18px 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#05070b}.related{margin-top:28px;padding:18px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.related h3{margin:0 0 6px;font-size:1rem}.ad-slot{margin:28px auto;max-width:70ch}.app-frame{display:flex;flex-direction:column;width:100%;background:#05070b}.app-frame__header{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-elev);border-bottom:1px solid var(--border);color:var(--text);font-size:.85rem}.app-frame__title{font-weight:700;opacity:.9}.app-frame__left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-frame__actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.app-frame__btn{cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:8px;padding:6px 12px;font-size:.85rem;line-height:1.2}.app-frame__btn:hover:not(:disabled){border-color:var(--accent)}.app-frame__btn:disabled{opacity:.5;cursor:default}.app-frame__btn.is-active{border-color:var(--accent);color:var(--accent);background:#6ea8fe26}.app-frame__btn.is-danger{border-color:#e0566a;color:#ff8a98;background:#e0566a1f}.app-frame__btn.is-danger:hover:not(:disabled){border-color:#ff6376;background:#e0566a38}.app-frame__content{position:relative;flex:1 1 auto;min-height:0}.app-frame:fullscreen{width:100vw;height:100vh}.app-frame:fullscreen .app-frame__content{height:auto}
