.top-main{--ink:var(--c-text);--muted:var(--c-muted);--red:var(--c-accent);--teal:var(--c-teal);--focus:var(--c-focus);--card:var(--c-surface);padding-top:0}.top-main h1,.top-main h2,.top-main h3{margin:0;line-height:1.3}.top-main :focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.hero{background:var(--sky);position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 82% 8%,#fffff0bf,#fffff000 38%);position:absolute;inset:0}.hero__copy{z-index:3;pointer-events:none;text-shadow:0 1px 12px #ffffff8c;max-width:30rem;padding:clamp(18px,3vw,36px) clamp(18px,3.4vw,44px);position:absolute;top:0;left:0}.hero__copy a{pointer-events:auto}.hero__eyebrow{color:var(--red);text-shadow:none;background:#ffffffd9;border-radius:999px;margin:0 0 8px;padding:2px 12px;font-size:.8rem;font-weight:800;line-height:1.7;display:inline-block}.top-main .hero__title{letter-spacing:.02em;color:#0f3440;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:900}.hero__lede{color:#183f4a;margin:10px 0 0;font-size:.95rem;font-weight:600;line-height:1.7}.ct{color:var(--red);font-weight:900}.for-hover{display:none}@media (hover:hover) and (pointer:fine){.for-hover{display:inline}.for-touch{display:none}}.top-intro{max-width:1160px;margin:0 auto;padding:22px clamp(16px,3vw,32px) 0}.top-intro .lead{color:var(--c-text);margin:0;font-weight:600}.top-intro .intro-disclosure{margin:4px 0 0}.section{max-width:1160px;margin:0 auto;padding:36px clamp(16px,3vw,32px)}.section__head{flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin-bottom:16px;display:flex}.top-main .section h2{font-size:1.35rem;font-weight:900}.section__note{color:var(--muted);margin:0;font-size:.9rem;line-height:1.7}.top-articles{padding-top:0}.top-articles .cat-section:first-child{margin-top:var(--sp-4)}.top-articles .cat-head h2{margin:0 0 var(--sp-1)}.island--stage{--accent:#ff6f91}.island--workshop{--accent:#ffb347}.island--studio{--accent:#7fd6ff}.island--subculture{--accent:#b58cff}.island--web3{--accent:#5ee0c1}.island--games{--accent:#c9c2b0}.island-list{padding-top:24px}.island-links,.area-list{margin:0;padding:0;list-style:none}.island-links{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.island-link{width:100%;min-height:68px;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid #0000;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}:is(a,button).island-link:hover,.island-link.is-selected{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.island-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--radius)}.island-link__icon{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 -3px #00000024}.island-link.is-preparing .island-link__icon{color:#ff8a3d;background:#f3efe6}.island-link__text{min-width:0;display:grid}.island-link__name{font-size:1rem;font-weight:900;line-height:1.6}.island-link__meta{color:var(--muted);font-size:.8rem;line-height:1.6}.island-link__go{color:var(--red);flex:none;margin-left:auto;font-weight:900}.island-link.is-preparing{cursor:default;background:#fbfaf6}.island-link.is-preparing .island-link__go{color:#8a5a12;background:#fff1cc;border-radius:999px;padding:2px 8px;font-size:.72rem}.icon-search,.icon-cone{width:18px;height:18px;display:block;position:relative}.icon-search:before{content:"";box-sizing:border-box;border:2.2px solid;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px}.icon-search:after{content:"";transform-origin:0;background:currentColor;border-radius:2px;width:6.5px;height:2.4px;margin-top:-1.2px;position:absolute;top:11.5px;left:11.5px;transform:rotate(45deg)}.icon-cone:before{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);background:currentColor;width:10px;height:12.5px;position:absolute;top:2px;left:4px}.icon-cone:after{content:"";background:currentColor;border-radius:1px;width:13px;height:2px;position:absolute;top:14px;left:2.5px}.area-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;display:grid}.area{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.top-main .area__name{align-items:center;gap:8px;font-size:1.05rem;font-weight:900;display:flex}.area__name:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:12px;height:12px}.area__intro{margin:6px 0 0;font-size:.9rem;line-height:1.8}.area__dest{color:var(--c-link);margin:8px 0 0;font-size:.8rem;font-weight:700;line-height:1.7}.top-footnote{color:var(--muted);font-size:var(--fs-meta);margin:0}@media (width<=760px){.hero__copy{max-width:none;padding:18px 16px 0;position:relative}.top-main .hero__title{font-size:1.55rem}.hero__lede{font-size:.88rem}.section{padding-top:28px;padding-bottom:28px}}@media (width<=360px){.top-main .hero__title{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){:is(a,button).island-link:hover,.island-link.is-selected{transform:none}}.stage{isolation:isolate;height:clamp(500px,74vh,780px);position:relative;overflow:hidden}.stage__canvas{touch-action:pan-y;-webkit-tap-highlight-color:transparent;opacity:0;width:100%;height:100%;transition:opacity .6s;display:block;position:absolute;inset:0}.stage[data-state=ready] .stage__canvas{opacity:1}.stage__status,.stage__fallback{text-align:center;color:#1b4a55;background:#ffffffbf;border-radius:14px;width:min(90%,28rem);margin:0;padding:12px 16px;font-weight:700;line-height:1.7;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.stage__fallback,.stage[data-state=ready] .stage__status{display:none}.stage[data-state=fallback]{height:300px}.stage[data-state=fallback] .stage__status,.stage[data-state=fallback] .stage__canvas{display:none}.stage[data-state=fallback] .stage__fallback{display:block;top:72%}@media (scripting:none){.stage{height:300px}.stage__status,.stage__canvas{display:none}.stage__fallback{display:block;top:72%}}.stage__labels{pointer-events:none;z-index:2;position:absolute;inset:0}.pill{white-space:nowrap;color:var(--ink);will-change:transform;background:#ffffffed;border-radius:999px;padding:3px 11px 3px 9px;font-size:.8rem;font-weight:800;line-height:1.5;transition:opacity .2s;position:absolute;top:0;left:0;box-shadow:0 3px 10px #1248502e}.pill:before{content:"";background:var(--accent);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.pill.is-preparing{color:var(--muted);background:#f6f4eeeb}.pill.is-hidden{opacity:0}.bubble{z-index:6;pointer-events:none;will-change:transform;background:#fff;border-radius:16px;width:max-content;max-width:min(300px,100% - 16px);padding:11px 14px 12px 11px;line-height:1.55;position:absolute;top:0;left:0;box-shadow:0 12px 30px #0f3c4642}.bubble__main{color:inherit;border-radius:12px;align-items:flex-start;gap:10px;text-decoration:none;display:flex}a.bubble__main:focus-visible{outline-offset:5px}.bubble:after{content:"";left:var(--tail-x,50%);background:#fff;border-radius:3px;width:16px;height:16px;position:absolute;bottom:-7px;transform:translate(-50%)rotate(45deg)}.bubble[hidden],.guide[hidden]{display:none}.guide.is-waiting{visibility:hidden}.bubble.is-interactive{pointer-events:auto}.bubble__icon{background:var(--teal);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid;box-shadow:inset 0 -3px #00000026}.bubble.is-preparing .bubble__icon{background:#9aa3ad}.bubble__body{gap:2px;min-width:0;display:grid}.bubble__name{flex-wrap:wrap;align-items:center;gap:8px;font-size:1.02rem;font-weight:900;display:flex}.bubble__cat{color:#fff;background:var(--red);border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:800}.bubble__cat.is-muted{background:var(--c-muted)}.bubble__text{color:var(--muted);font-size:.85rem;line-height:1.55}.bubble__lines{gap:3px;margin:2px 0;font-size:.82rem;font-weight:700;line-height:1.45;display:none}.bubble__hint{color:var(--c-link);font-size:.78rem;font-weight:800}.bubble.is-preparing .bubble__hint{color:#8a5a12}.bubble__open{background:var(--red);color:#fff;border-radius:999px;justify-self:start;margin-top:4px;padding:5px 14px;font-size:.85rem;font-weight:800;text-decoration:none}a.bubble__main:hover .bubble__open{background:#b01f4f}.bubble__close{width:40px;height:40px;color:var(--ink);font:inherit;cursor:pointer;background:#eef4f5;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;font-weight:700;line-height:1;display:grid;position:absolute;top:8px;right:8px}.bubble__close:hover{background:#dde9eb}.bubble.is-shake{animation:.4s shake}@keyframes shake{25%{translate:-5px}50%{translate:5px}75%{translate:-3px}}.guide{z-index:5;pointer-events:none;will-change:transform;background:#fffdf3;border:2px solid #ffd23f;border-radius:14px;gap:3px;width:max-content;max-width:min(340px,100% - 20px);padding:8px 12px;font-size:.84rem;font-weight:700;line-height:1.45;display:grid;position:absolute;top:0;left:0;box-shadow:0 8px 20px #785a0029}.guide__line{align-items:flex-start;gap:7px;display:flex}.guide__who{background:var(--red);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;font-size:.72rem;font-weight:900;display:grid}.guide__who--t{background:#b3204f}@media (width<=760px){.stage{height:clamp(430px,70svh,640px)}.pill{padding:2px 9px 2px 7px;font-size:.72rem}.bubble{max-width:min(290px,100% - 16px)}}@media (width<=560px){.stage{flex-direction:column;justify-content:flex-end;display:flex;overflow:clip}.bubble.is-sheet{top:auto;left:auto;bottom:max(8px,env(safe-area-inset-bottom));pointer-events:auto;border-top:4px solid var(--accent,var(--teal));border-radius:20px;flex:none;width:auto;max-width:none;margin:0 8px 8px;padding:14px 52px 14px 12px;position:sticky;box-shadow:0 -2px 26px #0f3c4647;transform:none!important}.bubble.is-sheet:after{display:none}.bubble__lines{display:grid}.bubble__text,.guide{display:none!important}.bubble.is-sheet .bubble__open{padding:7px 18px;font-size:.9rem}}
