/* Selected Liquid Glass components, scoped to the pre-maintenance website. */
:root { --nt-glass: rgba(29, 39, 53, .79); --nt-edge: rgba(213, 232, 245, .2); --nt-ink: #edf4fa; --nt-muted: #b1c3ce; --nt-ease: cubic-bezier(.22,1,.36,1); }
.nt-icon { width:22px; height:22px; flex-shrink:0; }
.nt-hero-scene { position:relative; width:100%; min-width:0; height:620px; align-self:center; isolation:isolate; color:var(--nt-ink); }
.nt-portrait { position:absolute; width:76%; height:82%; top:7%; right:3%; margin:0; padding:10px; border:1px solid var(--nt-edge); border-radius:36px; background:linear-gradient(135deg,#e2e8ff55,#e2e8ff16 48%,#d2f1f63a); box-shadow:inset 0 1px 1px #ffffff40,0 30px 80px -20px #0008; transform:rotate(7deg); overflow:hidden; }
.nt-portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 42%; border-radius:26px; display:block; }
.nt-portrait::after { content:""; position:absolute; inset:45% 10px 10px; border-radius:0 0 26px 26px; background:linear-gradient(transparent,#101923a6); pointer-events:none; }
.nt-portrait figcaption { position:absolute; z-index:1; bottom:110px; left:30px; right:30px; text-align:left; }
.nt-portrait figcaption strong { display:block; font-size:23px; letter-spacing:-.5px; font-weight:650; }
.nt-portrait figcaption span { display:block; max-width:210px; font-size:11px; line-height:1.6; color:#f2f6fa; margin-top:5px; }
.nt-photo-signature { position:absolute; right:30px; bottom:32px; z-index:1; font:italic 34px Georgia,serif; }
.nt-location { position:absolute; top:0; right:-1%; z-index:3; display:flex; align-items:center; gap:9px; border:1px solid var(--nt-edge); border-radius:40px; padding:13px 17px; color:var(--nt-muted); background:var(--nt-glass); font-size:11px; transform:rotate(3deg); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.nt-location .nt-icon { width:15px; height:15px; }
.nt-location i { width:5px; height:5px; border-radius:50%; background:var(--cyan,#9be2d8); box-shadow:0 0 0 4px #9be2d810; }
.nt-portrait-orbit { position:absolute; width:91%; aspect-ratio:1; border:1px solid #b7c3df13; border-radius:50%; left:0; top:12%; transform:rotate(-18deg) scaleY(.95); }
.nt-float { position:absolute; z-index:4; border-radius:24px; border:1px solid rgba(255,255,255,.2); background:linear-gradient(135deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.03) 40%,rgba(12,17,30,.72) 100%),rgba(15,21,35,.88); box-shadow:inset 0 1.5px 1px 0 rgba(255,255,255,.4),inset 0 -1px 1px 0 rgba(0,0,0,.4),0 20px 48px -12px rgba(0,0,0,.75),0 0 20px -2px rgba(126,232,238,.1); backdrop-filter:blur(24px) saturate(1.5); -webkit-backdrop-filter:blur(24px) saturate(1.5); color:var(--nt-ink); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; backface-visibility:hidden; }
.nt-code-float { left:-3%; top:20%; width:67%; display:flex; align-items:center; gap:14px; padding:20px; text-align:left; text-decoration:none; transform:rotate(-8deg) translateZ(0); transition:translate .35s var(--nt-ease),border-color .3s,box-shadow .3s; }
.nt-code-float:hover { translate:0 -5px; border-color:rgba(255,255,255,.38); box-shadow:inset 0 1.5px 1.5px 0 rgba(255,255,255,.55),0 26px 56px -12px rgba(0,0,0,.85),0 0 28px rgba(126,232,238,.2); }
.nt-code-icon { display:grid; place-items:center; width:56px; height:56px; flex-shrink:0; border-radius:17px; color:#365b64; background:linear-gradient(135deg,#f0faf8,#cadfe8); box-shadow:0 4px 14px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.4); }
.nt-code-icon .nt-icon { width:28px; height:28px; }
.nt-float small { display:block; font-size:8.5px; font-weight:700; letter-spacing:1.8px; color:#9ce8f2; text-shadow:0 1px 2px rgba(0,0,0,.6); margin-bottom:5px; text-transform:uppercase; }
.nt-code-float strong { display:block; font:600 clamp(15px,1.6vw,21px) ui-monospace,SFMono-Regular,Consolas,monospace; white-space:nowrap; color:#ffffff; text-shadow:0 1px 3px rgba(0,0,0,.7); }
.nt-code-float em { display:block; margin-top:6px; font-size:10px; color:#a2deea; font-style:normal; text-shadow:0 1px 2px rgba(0,0,0,.5); }
.nt-code-cursor { color:var(--cyan,#7ee8ee); }
.nt-music-float { bottom:10%; left:0; width:76%; min-height:94px; display:flex; align-items:center; gap:12px; padding:12px 16px; transform:rotate(-6deg) translateZ(0); border-radius:26px; border:1px solid rgba(255,255,255,.24); background:linear-gradient(135deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.04) 42%,rgba(12,17,30,.72) 100%),rgba(15,21,35,.9); box-shadow:inset 0 1.5px 1px 0 rgba(255,255,255,.45),inset 0 -1px 1px 0 rgba(0,0,0,.4),0 22px 50px -12px rgba(0,0,0,.8),0 0 24px -2px rgba(126,232,238,.14); backdrop-filter:blur(24px) saturate(1.6); -webkit-backdrop-filter:blur(24px) saturate(1.6); transition:transform .3s var(--nt-ease),border-color .3s,box-shadow .3s,background .3s; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; backface-visibility:hidden; }
.nt-music-float:hover { border-color:rgba(255,255,255,.38); box-shadow:inset 0 1.5px 1.5px 0 rgba(255,255,255,.6),inset 0 -1px 1px 0 rgba(0,0,0,.4),0 26px 56px -12px rgba(0,0,0,.85),0 0 32px 0 rgba(126,232,238,.24); }
.nt-music-float.is-playing { border-color:rgba(126,232,238,.55); background:linear-gradient(135deg,rgba(255,255,255,.18) 0%,rgba(126,232,238,.08) 35%,rgba(12,17,30,.75) 100%),rgba(14,21,36,.92); box-shadow:inset 0 1.5px 1.5px 0 rgba(255,255,255,.55),inset 0 0 20px rgba(126,232,238,.12),0 24px 54px -10px rgba(0,0,0,.85),0 0 36px rgba(126,232,238,.28); }
.nt-music-float button { border:0; background:transparent; color:inherit; cursor:pointer; }
.nt-music-open { display:flex; align-items:center; gap:13px; min-width:0; flex:1; padding:0; text-align:left; }
.nt-music-open > img { width:58px; height:58px; flex-shrink:0; object-fit:cover; border-radius:15px; box-shadow:0 6px 16px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.24); filter:contrast(1.06) saturate(1.12); transition:transform .25s ease,box-shadow .25s ease; }
.nt-music-float:hover .nt-music-open > img { transform:scale(1.02); box-shadow:0 8px 20px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.36); }
.nt-music-open > span { min-width:0; display:flex; flex-direction:column; gap:2px; }
.nt-music-open small { display:block; font-size:8.5px; font-weight:700; letter-spacing:1.8px; color:#92e6f0; text-transform:uppercase; text-shadow:0 1px 2px rgba(0,0,0,.6); line-height:1.3; }
.nt-music-open strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:13.5px; line-height:1.38; font-weight:700; color:#ffffff; letter-spacing:-.15px; text-shadow:0 1px 3px rgba(0,0,0,.7); }
.nt-music-open em { display:block; font-size:10px; font-weight:550; color:#7ee8ee; font-style:normal; letter-spacing:.2px; text-shadow:0 1px 2px rgba(0,0,0,.5); margin-top:2px; }
#nt-hero-play { flex-shrink:0; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.05)); border:1px solid rgba(255,255,255,.3); box-shadow:inset 0 1px 1.5px rgba(255,255,255,.45),0 6px 16px rgba(0,0,0,.4); color:#ffffff; transition:transform .22s cubic-bezier(.22,1,.36,1),background .2s,border-color .2s,box-shadow .2s; cursor:pointer; }
#nt-hero-play:hover { transform:scale(1.08); background:linear-gradient(135deg,rgba(126,232,238,.3),rgba(255,255,255,.14)); border-color:rgba(126,232,238,.7); box-shadow:inset 0 1px 2px rgba(255,255,255,.6),0 8px 22px rgba(0,0,0,.5),0 0 20px rgba(126,232,238,.4); color:#7ee8ee; }
#nt-hero-play:active { transform:scale(.95); }
#nt-hero-play .nt-icon { width:20px; height:20px; filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
.nt-star { width:100%; height:100%; }
.nt-scene-star { position:absolute; display:block; pointer-events:none; }
.nt-star-one { color:var(--purple,#c6abf2); width:32px; height:32px; left:0; top:9%; transform:rotate(17deg); }
.nt-star-two { color:var(--cyan,#addbd5); width:53px; height:53px; right:-2%; bottom:11%; transform:rotate(17deg); opacity:.8; }
.nt-scene-note { position:absolute; bottom:0; right:0; margin:0; font:italic 13px Georgia,serif; color:var(--nt-muted); transform:rotate(-4deg); }
.nt-memories.container { width:calc(100% - 64px); max-width:1440px; margin:84px auto 0; padding:56px 0 0; border-top:1px solid var(--nt-edge); }
.nt-gallery-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:42px; }
.nt-gallery-note { font:italic 17px Georgia,serif; color:#b6cbbf; margin:0 0 20px; }
.nt-gallery-heading h2 { font-size:clamp(34px,4.4vw,58px); line-height:1.15; letter-spacing:-2px; font-weight:600; margin:0; }
.nt-gallery-heading h2 > span { color:#a8c4c3; }
.nt-gallery-actions { display:flex; align-items:center; gap:30px; padding-bottom:5px; }
.nt-gallery-actions p { margin:0; color:var(--nt-muted); font-size:13px; line-height:1.9; }
.nt-gallery-actions > div { display:flex; gap:10px; }
.nt-gallery-actions button { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--nt-edge); border-radius:50%; color:var(--nt-ink); background:#a2c7e30a; cursor:pointer; transition:background .2s; }
.nt-gallery-actions button:hover:not(:disabled) { background:#a2c7e31c; }
.nt-gallery-actions button:disabled { opacity:.35; cursor:default; }
.nt-gallery { display:grid; grid-auto-flow:column; grid-auto-columns:26%; gap:24px; padding:10px 2px 16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; cursor:grab; touch-action:pan-x pan-y pinch-zoom; }
.nt-gallery::-webkit-scrollbar { display:none; }
.nt-gallery.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.nt-memory { position:relative; display:block; aspect-ratio:.78; border-radius:27px; overflow:hidden; background:#27363c; border:1px solid #c0d7e326; scroll-snap-align:start; color:white; -webkit-user-drag:none; }
.nt-memory:nth-child(even) { margin-top:26px; margin-bottom:-10px; }
.nt-memory img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 32%; transition:transform .6s var(--nt-ease); }
.nt-memory:hover img { transform:scale(1.025); }
.nt-memory::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 43%,#0b181e35 65%,#0b181ee8); pointer-events:none; }
.nt-memory-caption { position:absolute; left:22px; right:40px; bottom:24px; z-index:1; }
.nt-memory-caption strong { display:block; font-size:16px; font-weight:600; line-height:1.45; letter-spacing:-.3px; }
.nt-memory-caption small { display:block; margin-top:10px; color:#d6e3e8; font-size:8px; line-height:1.7; letter-spacing:1.1px; }
.nt-memory > .nt-icon { position:absolute; right:20px; bottom:56px; z-index:1; width:19px; height:19px; }
.nt-gallery-footer { display:flex; align-items:center; gap:26px; margin-top:30px; color:var(--nt-muted); font-size:8px; letter-spacing:1.6px; }
.nt-gallery-progress { flex:1; height:1px; background:#c0d7e329; }
.nt-gallery-progress i { display:block; width:25%; height:1px; background:#aacbcb; transform:translateX(var(--nt-progress,0%)); transition:transform .15s linear; }
.nt-game-tools { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 4px 4px; }
.nt-game-tools button { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:6px 0; font-family:inherit; font-weight:600; font-size:13px; border:0; background:transparent; color:#edf4fa; cursor:pointer; }
.nt-game-tools .nt-icon { width:18px; height:18px; }
.nt-switch { width:32px; height:19px; border:1px solid #d5e6f23b; border-radius:30px; background:#7ec9bb; position:relative; transition:background .2s; }
.nt-switch::after { content:""; position:absolute; top:2px; left:15px; width:13px; height:13px; background:#f4faf8; border-radius:50%; transition:left .2s; }
#snake-sound[aria-pressed="false"] .nt-switch { background:#53636c; }
#snake-sound[aria-pressed="false"] .nt-switch::after { left:2px; }
.nt-scores-dialog { width:min(660px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); padding:28px; border:1px solid var(--nt-edge); border-radius:28px; background:#16222bf5; color:var(--nt-ink); box-sizing:border-box; box-shadow:0 30px 110px #0008; overflow:auto; }
.nt-scores-dialog::backdrop { background:#050c16a6; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.nt-dialog-head { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.nt-dialog-head p { font-size:9px; letter-spacing:2px; color:var(--nt-muted); margin:0 0 12px; }
.nt-dialog-head h2 { font-size:32px; letter-spacing:-1px; margin:0; }
#nt-scores-close { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid var(--nt-edge); border-radius:50%; background:#c0d7e308; color:var(--nt-ink); cursor:pointer; }
.nt-scores-description { color:var(--nt-muted); font-size:13px; line-height:1.8; margin:20px 0; }
.nt-scores-dialog .score-card { padding:18px; box-shadow:none; transform:none !important; background:#c0d7e306; }
.nt-scores-dialog .score-filters { flex-wrap:wrap; }
.nt-scores-dialog .score-filters label { flex:1; min-width:130px; }
.nt-scores-dialog .score-filters select { width:100%; }
.nt-scores-dialog .leaderboard { width:100%; table-layout:fixed; }
.nt-scores-dialog .leaderboard th,.nt-scores-dialog .leaderboard td { overflow-wrap:anywhere; white-space:normal; padding:12px 8px; font-size:12px; }
.nt-scores-dialog .leaderboard th:last-child { width:48%; }
.nt-scores-dialog .score-note { line-height:1.8; font-size:11px; }
.nt-scores-placeholder { min-height:260px; display:grid; place-items:center; color:var(--nt-muted); }
body.nt-score-open { overflow:hidden; }
.nt-float:focus-visible,.nt-gallery:focus-visible,.nt-memory:focus-visible,.nt-hero-scene button:focus-visible,.nt-game-tools button:focus-visible,.nt-scores-dialog button:focus-visible { outline:3px solid #a9d8f4; outline-offset:5px; }
@media(min-width:761px) and (max-width:1100px) {
 .nt-hero-scene { height:540px; }
 .nt-code-float { left:-1%; width:78%; padding:15px; gap:10px; }
 .nt-code-icon { width:44px; height:44px; }
 .nt-music-float { width:87%; left:-2%; }
 .nt-music-open > img { width:48px; height:48px; }
 .nt-float small { font-size:7px; letter-spacing:1px; }
}
@media(max-width:760px) {
 .nt-hero-scene { height:540px; width:min(460px,100%); margin:30px auto 0; }
 .nt-portrait { width:77%; right:5%; height:80%; border-radius:28px; padding:8px; }
 .nt-portrait img { border-radius:20px; }
 .nt-portrait figcaption { left:24px; bottom:100px; }
 .nt-portrait figcaption strong { font-size:20px; }
 .nt-code-float { left:0; top:23%; padding:15px; width:72%; gap:11px; border-radius:20px; }
 .nt-code-float strong { font-size:17px; }
 .nt-code-icon { width:44px; height:44px; border-radius:13px; }
 .nt-code-float small { font-size:7px; letter-spacing:1.2px; }
 .nt-music-float { width:84%; bottom:11%; border-radius:22px; gap:8px; padding:10px 12px; }
 .nt-music-open { gap:10px; }
 .nt-music-open > img { width:48px; height:48px; border-radius:13px; }
 .nt-music-open strong { font-size:12px; }
 .nt-music-open small { font-size:7.5px; letter-spacing:1.3px; }
 .nt-music-open em { font-size:9.5px; }
 #nt-hero-play { width:38px; height:38px; }
 #nt-hero-play .nt-icon { width:18px; height:18px; }
 .nt-location { right:0; padding:11px 14px; font-size:10px; }
 .nt-scene-note { font-size:11px; right:4%; bottom:2%; }
 .nt-star-two { right:0; width:40px; height:40px; bottom:10%; }
 .nt-memories.container { width:calc(100% - 32px); margin-top:54px; padding-top:36px; }
 .nt-gallery-heading { gap:24px; flex-direction:column; align-items:start; margin-bottom:20px; }
 .nt-gallery-heading h2 { font-size:40px; letter-spacing:-1.5px; }
 .nt-gallery-note { font-size:15px; }
 .nt-gallery-actions { width:100%; justify-content:space-between; gap:12px; }
 .nt-gallery-actions p { font-size:12px; }
 .nt-gallery { grid-auto-columns:78%; gap:16px; }
 .nt-memory { border-radius:23px; }
 .nt-memory-caption { left:18px; bottom:20px; }
 .nt-memory-caption strong { font-size:16px; }
 .nt-gallery-footer { gap:12px; font-size:6px; letter-spacing:1px; }
 .nt-scores-dialog { padding:20px; }
 .nt-dialog-head h2 { font-size:27px; }
 .nt-game-tools { flex-wrap:wrap; }
}
@media(min-width:761px) and (max-width:1000px) { .nt-gallery { grid-auto-columns:40%; } }
@media(max-width:360px) {
 .nt-hero-scene { height:475px; }
 .nt-code-float strong { font-size:14px; }
 .nt-code-float em { font-size:8px; }
 .nt-code-float { padding:12px; gap:9px; }
 .nt-music-float { width:90%; }
 .nt-music-open > img { width:42px; height:42px; }
 .nt-star-two { width:26px; height:26px; }
 .nt-portrait figcaption span { font-size:9px; }
 .nt-game-tools button { font-size:12px; }
}
@supports not (backdrop-filter:blur(1px)) { .nt-float,.nt-location { background:#263442; } }
@media(prefers-reduced-transparency:reduce) { .nt-float,.nt-location { background:#263442; backdrop-filter:none; -webkit-backdrop-filter:none; } }
@media(prefers-reduced-motion:reduce) {
 .nt-hero-scene *,.nt-gallery *,.nt-switch,.nt-switch::after { animation:none !important; transition:none !important; }
 .nt-gallery { scroll-behavior:auto; }
 .nt-memory:hover img { transform:none; }
}
/* Menu is in the action row so it never covers sound or touch controls. */
#snake-ntjr.nt-game-menu { display:inline-flex; align-items:center; justify-content:center; gap:7px; position:static; transform:none; min-height:44px; border-radius:24px; padding:8px 14px; }
#snake-ntjr.nt-game-menu .nt-icon { width:16px; height:16px; }
@media(max-width:760px) {
 /* Rotated backdrop layers can disappear after viewport changes in mobile compositors. */
 .nt-float,.nt-location { backdrop-filter:none; -webkit-backdrop-filter:none; background:linear-gradient(135deg,#ffffff0b,#ffffff02),#263442; }
}

/* Revision: keep the original circular portrait and orbital composition. */
.nt-hero-scene { height:640px; }
.nt-hero-scene::before { content:""; position:absolute; inset:14% 3% 14% 8%; border-radius:50%; background:radial-gradient(circle,#a18aff24,transparent 70%); filter:blur(25px); pointer-events:none; }
.nt-portrait { top:17%; left:14%; right:auto; width:78%; height:auto; aspect-ratio:1; padding:3px; border-radius:50%; transform:none; border:1px solid #bec4ff9c; background:linear-gradient(135deg,#b8eceb,#b9a2ef); box-shadow:0 0 0 4px #a9acff0d,0 0 26px #78e6ee35,0 0 75px #9b69ff38; }
.nt-portrait img { border-radius:50%; object-position:50% 92%; transform:none; }
.nt-portrait::after { inset:40% 0 0; border-radius:0 0 50% 50%; background:linear-gradient(transparent,#08142240 30%,#081422d9); }
.nt-portrait figcaption { left:18%; right:16%; bottom:76px; }
.nt-portrait figcaption span { max-width:230px; font-size:11px; }
.nt-photo-signature { bottom:40px; right:19%; font-size:31px; }
.nt-portrait-orbit,.nt-orbit-outer { width:94%; aspect-ratio:1; height:auto; top:10%; left:6%; border:1px solid #b2b7f02d; border-radius:50%; transform:none; pointer-events:none; }
.nt-orbit-outer { position:absolute; width:106%; left:0; top:5%; border-style:dashed; border-color:#b2b7f017; }
.nt-portrait-orbit::after { content:""; position:absolute; top:27%; right:4%; width:6px; height:6px; background:#b4f9ef; border-radius:50%; box-shadow:0 0 16px #8df9ea; }
.nt-orbit-floor { position:absolute; width:94%; height:70px; left:6%; top:74%; border:1px solid #b2b7f035; border-radius:50%; pointer-events:none; }
.nt-orbit-floor::before,.nt-orbit-floor::after { content:""; position:absolute; inset:8px 24px; border:1px solid #b2b7f025; border-radius:50%; }
.nt-orbit-floor::after { inset:-8px -24px; }
.nt-orbit-code { position:absolute; z-index:3; right:0; top:64%; padding:12px 14px; border:1px solid var(--nt-edge); border-radius:19px; background:var(--nt-glass); color:var(--cyan); font:600 23px ui-monospace,monospace; }
.nt-code-float { top:9%; left:0; width:66%; padding:18px; transform:rotate(-7deg); }
.nt-music-float { bottom:10px; left:3%; width:78%; transform:rotate(-5deg); }
.nt-location { top:0; right:2%; }
.nt-star-one { top:36%; left:0; }
.nt-star-two { top:13%; right:4%; bottom:auto; width:32px; height:32px; }
.nt-scene-note { display:none; }
.nt-gallery-note { font:600 10px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:2px; }
.nt-gallery-heading h2 { font-size:clamp(30px,3.8vw,50px); }
@media(min-width:761px) and (max-width:1100px) {
 .nt-hero-scene { height:560px; }
 .nt-portrait { top:23%; width:86%; left:8%; }
 .nt-portrait figcaption { bottom:55px; }
 .nt-portrait figcaption strong { font-size:19px; }
 .nt-portrait figcaption span { font-size:9px; }
 .nt-photo-signature { bottom:24px; font-size:25px; }
 .nt-code-float { top:9%; width:88%; padding:15px; }
 .nt-music-float { bottom:20px; width:91%; left:0; }
 .nt-portrait-orbit { top:19%; }
 .nt-orbit-outer { top:15%; width:100%; left:3%; }
 .nt-orbit-floor { top:76%; }
 .nt-orbit-code { font-size:17px; padding:9px; }
}
@media(max-width:760px) {
 .nt-hero-scene { height:520px; }
 .nt-portrait { top:23%; left:6%; width:88%; padding:3px; border-radius:50%; }
 .nt-portrait img { border-radius:50%; }
 .nt-portrait figcaption { left:17%; bottom:62px; }
 .nt-portrait figcaption strong { font-size:20px; }
 .nt-portrait figcaption span { font-size:10px; }
 .nt-photo-signature { bottom:30px; font-size:27px; }
 .nt-portrait-orbit { top:20%; left:1%; width:98%; }
 .nt-orbit-outer { top:17%; width:106%; left:-3%; }
 .nt-orbit-floor { top:78%; left:5%; width:90%; height:44px; }
 .nt-code-float { top:6%; left:1%; width:76%; padding:14px; }
 .nt-music-float { left:2%; bottom:0; width:90%; padding:10px 12px; border-radius:22px; gap:8px; }
 .nt-orbit-code { right:0; top:62%; font-size:17px; padding:10px; border-radius:13px; }
 .nt-location { top:0; font-size:9px; padding:8px 12px; right:0; }
 .nt-star-one { top:29%; width:25px; height:25px; }
 .nt-star-two { top:13%; right:3%; width:26px; height:26px; }
 .nt-gallery-heading h2 { font-size:34px; }
 .snake-settings { padding-right:84px; min-height:92px; }
}
@media(max-width:360px) {
 .nt-hero-scene { height:470px; }
 .nt-portrait { top:25%; }
 .nt-portrait figcaption { bottom:49px; }
 .nt-portrait figcaption strong { font-size:18px; }
 .nt-portrait figcaption span { font-size:9px; }
 .nt-photo-signature { bottom:22px; font-size:23px; }
 .nt-code-float { width:81%; top:7%; }
 .nt-music-float { bottom:4px; width:94%; }
 .nt-orbit-floor { top:77%; }
 .nt-gallery-heading h2 { font-size:30px; }
}
/* Movement uses independent translate/rotate layers; reduced-motion stays static. */
@keyframes nt-card-float { 0%,100% { translate:0 0; } 50% { translate:0 -9px; } }
@keyframes nt-orbit-turn { to { rotate:360deg; } }
@keyframes nt-halo-pulse { 0%,100% { opacity:.55; } 50% { opacity:1; } }
.nt-code-float { animation:nt-card-float 7s ease-in-out infinite; }
.nt-music-float { animation:nt-card-float 8s ease-in-out -3s infinite; }
.nt-orbit-code { animation:nt-card-float 6s ease-in-out -2s infinite; }
.nt-portrait-orbit { animation:nt-orbit-turn 38s linear infinite; }
.nt-hero-scene::before { animation:nt-halo-pulse 6s ease-in-out infinite; }
.nt-hero-scene:not(.nt-inview) *, .nt-hero-scene:not(.nt-inview)::before { animation-play-state:paused; }
.nt-code-float:hover,.nt-code-float:focus-visible,.nt-music-float:hover,.nt-music-float:focus-within { animation-play-state:paused; }
.nt-memory { transition:box-shadow .45s var(--nt-ease); }
.nt-memory::before { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:radial-gradient(circle at var(--nt-light-x,50%) var(--nt-light-y,35%),#ffffff20,transparent 60%); opacity:0; transition:opacity .3s; }
@media(hover:hover) and (pointer:fine) { .nt-memory:hover::before { opacity:1; } }
html[data-fx="calm"] .nt-hero-scene *,html[data-fx="calm"] .nt-hero-scene::before { animation:none !important; }
html[data-fx="calm"] .nt-memory { opacity:1 !important; transform:none !important; transition:none; }
@media(prefers-reduced-motion:reduce) {
 .nt-hero-scene *, .nt-hero-scene::before { animation:none !important; }
}
