@charset "UTF-8";
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#ececf0;background:#0c0d10;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:#070809;isolation:isolate}body::before,body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1}body::before{background:radial-gradient(ellipse 75% 80% at 50% 35%,#191919 0%,#101010 48%,#080808 100%);background-size:cover}body::after{opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.28' d='M0 0h180v180H0z'/%3E%3C/svg%3E");}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}
.home{max-width:1040px;min-height:100svh;margin:auto;padding:36px 64px 24px;display:flex;flex-direction:column}
header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.08em;display:flex;align-items:center;gap:10px}.brand-mark{font-size:31px}
.edition,footer{font-size:10px;letter-spacing:.16em;color:#999aa6}
.launcher{flex:1;padding:88px 0}
.app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 18px}
.app{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;background:none;border:0;padding:4px 0;color:inherit;text-decoration:none;cursor:pointer;min-width:0}
.icon{display:grid;place-items:center;width:76px;height:76px;border-radius:23%;color:white;background:linear-gradient(150deg,var(--light),var(--dark));box-shadow:inset 0 1px 2px #ffffff50,0 8px 20px #0004;font-size:35px;transition:transform .2s}
@media(hover:hover){.app:hover .icon{transform:translateY(-4px)}}.app:active .icon{transform:scale(.94)}
.app-label{font-size:12px;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:100%}.app-status{font-size:9px;color:#999aa6;margin-top:-7px}
footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff12;padding-top:20px;font-size:9px}
dialog{border:1px solid #ffffff20;border-radius:24px;background:#1b1c22;color:#ececf0;max-width:calc(100% - 36px);padding:32px;text-align:center;box-shadow:0 24px 80px #0006}
dialog::backdrop{background:#0008;backdrop-filter:blur(6px)}.dialog-icon{font-size:36px;color:#aabbd5}dialog h2{font-size:19px}dialog p{font-size:13px;line-height:1.9;color:#b7b8c2}.close{border:1px solid #ffffff20;border-radius:14px;background:#32343e;color:white;padding:13px 25px;margin-top:12px;cursor:pointer}
:focus-visible{outline:3px solid #adcbf0;outline-offset:6px;border-radius:8px}
@media(min-width:900px){.app-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.icon{width:82px;height:82px}}
@media(max-width:600px){.home{padding:24px 22px}.edition{font-size:8px;letter-spacing:.08em}.brand{font-size:13px}.launcher{padding:64px 0}.app-grid{gap:28px 8px}.icon{width:58px;height:58px;font-size:28px}.app-label{font-size:10px}.app-status{font-size:8px}footer{letter-spacing:.06em;font-size:8px}}
@media(prefers-reduced-motion:reduce){.icon{transition:none}}
