/* One continuous entrance: branded loading, platform overview, then real practice. */
.source-entering::before{content:'';position:fixed;inset:0;background:var(--bg,#fff);z-index:999}
.source-entering :is(.content-shell,#landing-main){view-transition-name:none}
.entry-loader,.entry-next,.entry-back{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;border-radius:12px;font:inherit;font-size:16px;cursor:pointer}
.entry-next{background:var(--ink);color:var(--bg);border:1px solid var(--ink);font-weight:550}.entry-back{background:var(--bg);color:var(--ink);border:1px solid var(--line)}
.entry-next svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}
.entry-tour button:focus-visible,.entry-loader button:focus-visible{outline:2px solid var(--accent,#108a00);outline-offset:3px}
.entry-loader{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;border-radius:0;background:var(--bg,#fff);color:var(--ink,#000);cursor:default}
.entry-loader:not([open]){display:none}.entry-loader::backdrop{background:var(--bg,#fff)}
.entry-loading-content{width:min(380px,100%);text-align:center}
.entry-loading-content h1{font-size:22px;line-height:1.4;margin:0 0 12px;outline:none}.entry-loading-content p{font-size:16px;line-height:1.6;color:var(--muted,#777);margin:0 0 22px}.entry-quiet{border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.guide-welcome .source-guide{border:2px solid #8854ec;box-shadow:0 0 0 5px rgb(136 84 236 / .2)}
.guide-welcome .sg-copy h2{font-size:28px}.guide-welcome .sg-top>span:first-child{color:var(--ink);font-weight:650}
.entry-tour{position:fixed;inset:auto;left:0;top:var(--visual-top,0px);width:100%;height:var(--visual-height,100dvh);max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:hidden}
.entry-tour:not([open]){display:none}.entry-tour::backdrop{background:transparent}
.entry-tour[data-preparing]{background:rgb(42 42 42 / .7)}:root[data-theme=dark] .entry-tour[data-preparing]{background:rgb(88 88 88 / .7)}
.entry-tour[data-preparing] :is(.tour-mask,.tour-popover){visibility:hidden!important}
.entry-tour .tour-mask{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;stroke:none;fill:none}
.tour-shade{fill:rgb(42 42 42 / .7);stroke:none}.tour-outline{fill:none;stroke:var(--accent,#108a00);stroke-width:2}.tour-connector{fill:none;stroke:var(--accent,#108a00);stroke-width:2}
:root[data-theme=dark] .tour-shade{fill:rgb(88 88 88 / .7)}
.tour-popover{position:absolute;width:min(350px,calc(100% - 28px));display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 36px rgb(0 0 0 / .16);box-sizing:border-box;overflow:hidden;font:inherit;visibility:hidden;transform-origin:top left}
.tour-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;font-size:13px;color:var(--muted)}
.tour-top .entry-quiet{padding:6px 8px;margin:-6px -8px -6px 0;min-height:32px;font-size:13px;border-radius:8px}
.tour-top .entry-quiet:hover,.tour-actions .entry-back:hover{background:var(--line)}.tour-actions .entry-next:hover{filter:brightness(.85)}
.tour-copy{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.tour-copy h2{font-size:21px;line-height:1.35;letter-spacing:-.4px;margin:0 0 10px;font-weight:650;outline:none;text-wrap:balance}
.tour-copy p{font-size:15px;line-height:1.65;margin:0;color:var(--muted);overflow-wrap:break-word}
.tour-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;flex:none}
.tour-actions .entry-next,.tour-actions .entry-back{min-height:44px;font-size:14px;padding:9px 14px;border-radius:10px;gap:7px}
.tour-actions .entry-next svg{width:17px;height:17px}
@media(max-width:700px){.tour-popover{padding:17px;gap:13px}.tour-copy h2{font-size:21px}.guide-welcome .sg-copy h2{font-size:21px}}
@media(max-height:440px){.tour-popover{padding:14px;gap:10px}.tour-copy h2{font-size:18px;margin-bottom:7px}.tour-copy p{font-size:14px;line-height:1.55}.tour-actions .entry-next,.tour-actions .entry-back{min-height:40px;padding:7px 12px}}
@media(prefers-reduced-motion:reduce){.entry-loader *,.entry-tour *{animation:none!important;transition:none!important}}
