/* Existing lesson and shared article behavior. */
.phonk-lesson__grid{margin-block:28px;margin-inline:0;padding:22px;border:1px solid #34505a;background:#0b1a22;border-radius:5px}
.phonk-lesson__grid h3{font-size:24px;line-height:1.25;margin:0 0 10px;color:#e8f6fa}.phonk-lesson__grid>p{font-size:13px!important;line-height:1.7!important}
.phonk-lesson__grid table{width:100%;table-layout:fixed;border-collapse:collapse;color:#c2d6df;font-size:11px;line-height:1.7}
.phonk-lesson__grid caption{text-align:start;font-size:12px;color:#b8cbd4;padding-block:10px}
.phonk-lesson__grid th:first-child{width:58px;text-align:start;font-size:10px}.phonk-lesson__grid th,.phonk-lesson__grid td{padding:8px 1px;text-align:center;border-bottom:1px solid #243e49}
.phonk-lesson__grid td:nth-child(4n+2){border-inline-start:1px solid #44616d}.phonk-lesson__grid .is-note{color:#c6f04c;font-weight:800;background:#94c23513}.phonk-lesson__grid .is-hit{color:#61e8f2;font-weight:800;background:#24a4ad18}
.phonk-guide-related{display:flex;flex-wrap:wrap;gap:8px 22px;margin-block:24px}.phonk-guide-related a{color:#7ce5ee;min-height:44px;display:inline-flex;align-items:center;font-size:13px;text-underline-offset:5px}
body[data-visual-style="signal"] :is(.phonk-portal__card,.phonk-portal__nav a):focus-visible{outline:2px solid #c1ef48;outline-offset:4px}
@media(max-width:900px){.phonk-portal__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.phonk-portal__card:last-child{grid-column:1/-1}.phonk-portal__finish{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.phonk-portal{padding-top:15px}.phonk-portal__hero{padding:25px 22px}.phonk-portal__eyebrow{font-size:9px;margin-bottom:18px}.phonk-portal h1{font-size:clamp(34px,9.8vw,48px);letter-spacing:-.045em}.phonk-portal__deck{font-size:15px}.phonk-portal__nav{margin-bottom:20px}.phonk-portal__section-head{grid-template-columns:40px minmax(0,1fr);gap:14px}.phonk-portal__number{font-size:37px}.phonk-portal__section-head h2{font-size:26px}.phonk-portal__section-head p:last-child{font-size:13px}.phonk-portal__cards{grid-template-columns:1fr}.phonk-portal__card{padding:22px;gap:12px}.phonk-portal__card:last-child{grid-column:auto}.phonk-portal__card h3{font-size:24px}.phonk-portal__finish{padding:23px}.phonk-portal__finish h2{font-size:26px}.phonk-lesson__grid{padding:16px 10px}.phonk-lesson__grid th:first-child{width:47px;font-size:9px}.phonk-lesson__grid th,.phonk-lesson__grid td{padding:8px 0;font-size:10px}}
@media(forced-colors:active){.phonk-portal__card,.phonk-portal__hero{background:Canvas;border-color:CanvasText}.phonk-lesson__grid .is-note,.phonk-lesson__grid .is-hit{color:CanvasText}}
/* Accepted signal/roadway graphics. Decoration stays behind content. */
body[data-visual-style="signal"] .site-atmosphere{opacity:.24}
body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section){
  --phonk-field-opacity:.68;
  --phonk-flow:90deg;
  position:relative;
  isolation:isolate;
}
body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::before,
body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  pointer-events:none;
}
body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::before{
  background:linear-gradient(var(--phonk-flow),transparent 48%,#00e5ff05 70%,#00e5ff0a),linear-gradient(174deg,transparent 72%,#56e4ef16 72.1%,transparent 72.4%);
}
body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::after{
  background:url("/assets/brand/phonk-signal-routes.svg") right center / auto 100% no-repeat;
  opacity:var(--phonk-field-opacity);
  -webkit-mask-image:linear-gradient(90deg,transparent 23%,#0008 51%,#000 74%);
  mask-image:linear-gradient(90deg,transparent 23%,#0008 51%,#000 74%);
}
body[data-visual-style="signal"] :is(.phonk-portal__hero,.album-hero){
  --phonk-field-opacity:.84;
}
body[data-visual-style="signal"] .phonk-portal__section{
  --phonk-field-opacity:.32;
}
body[data-visual-style="signal"] .phonk-portal__section::after{
  background-size:auto min(100%,420px);
  background-position:right bottom;
}
body[data-visual-style="signal"] .nl-editorial__header::after{
  /* Artwork keeps its own colours; signal reads in the gutters around it. */
  opacity:.48;
}
body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section):dir(rtl){
  --phonk-flow:-90deg;
}
body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section):dir(rtl)::after{
  transform:scaleX(-1);
}
@media (max-width:760px){
  body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::after{
    background-size:700px auto;
    background-position:right bottom;
    opacity:calc(var(--phonk-field-opacity) * .66);
    -webkit-mask-image:linear-gradient(0deg,#000,transparent 84%);
    mask-image:linear-gradient(0deg,#000,transparent 84%);
  }
}
@media (max-width:480px){
  body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::before{
    opacity:.45;
  }
  body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::after{
    opacity:calc(var(--phonk-field-opacity) * .4);
    -webkit-mask-image:linear-gradient(0deg,#000,transparent 58%);
    mask-image:linear-gradient(0deg,#000,transparent 58%);
  }
}
@media (forced-colors:active),print{
  body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::before,
  body[data-visual-style="signal"] :is(.page-lead,.album-hero,.nl-editorial__header,.nl-reading-index__header,.phonk-portal__hero,.phonk-portal__section)::after{
    display:none;
  }
}

.phonk-guide-related{display:flex;gap:12px 24px;flex-wrap:wrap;margin-block:24px}.phonk-guide-related a{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#7ce5ee;font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:5px}.phonk-guide-related a:focus-visible{outline:2px solid #c1ef48;outline-offset:4px}
[dir="rtl"] .phonk-lesson__grid :is(caption,th:first-child,figcaption){direction:rtl;text-align:right}

.phonk-portal :is(h1,h2,h3){overflow-wrap:anywhere}

/* Long localized headings must not grow the paired illustration beyond its grid track. */
.nl-editorial--portal .nl-editorial__cover{width:100%;min-width:0;max-width:100%}
@media(max-width:600px){html:lang(ja) .phonk-portal h1{font-size:clamp(30px,8.6vw,40px)}}

.nl-editorial--portal .nl-editorial__cover .release-editorial-img{object-fit:contain}

/* Signal room: authored surfaces around the original NO LIMITS artwork. */
.phonk-portal{--portal-accent:#62e6f1;--portal-lime:#c1ef48;padding-block:28px 70px}
.phonk-portal__hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:12px;padding:clamp(28px,4vw,54px);min-height:570px;overflow:hidden;border:1px solid #34515b;border-radius:20px;background:radial-gradient(ellipse at 81% 58%,#11434e55,transparent 57%),linear-gradient(130deg,#101e26,#081219 65%,#0c1b22);box-shadow:inset 0 1px 0 #c5efff1b,0 26px 70px #0003}
body[data-visual-style="signal"] :is(.phonk-portal__hero,.phonk-portal__section)::before,body[data-visual-style="signal"] :is(.phonk-portal__hero,.phonk-portal__section)::after{display:none}
.phonk-portal__copy{position:relative;z-index:2;min-width:0;padding-block:22px}
.phonk-portal__eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 26px;color:var(--portal-accent);font-size:10px;font-weight:700;letter-spacing:.105em;line-height:1.6}
.phonk-portal__status{flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:var(--portal-lime);box-shadow:0 0 12px #c1ef4866}
.phonk-portal h1{max-width:760px;margin:0 0 26px;color:#f3f8fa;font-size:clamp(39px,4.8vw,70px);line-height:1.04;letter-spacing:-.06em;font-weight:650;text-wrap:balance}
.phonk-portal h1 em{font-style:normal;color:var(--portal-lime)}
.phonk-portal__deck{max-width:540px;color:#b4c6cf;font-size:clamp(15px,1.3vw,18px);line-height:1.8;margin:0 0 30px;text-wrap:pretty}
.phonk-portal__device{position:relative;min-width:0;width:100%;margin:0;align-self:stretch;display:flex;align-items:center;justify-content:center}
.phonk-portal__device-frame{width:min(100%,450px);will-change:auto;transform:translateY(calc(var(--scene-progress,0) * -24px))}
.phonk-portal__machine{width:100%;height:auto;max-height:570px;object-fit:contain;filter:drop-shadow(0 26px 28px #0008);transform-origin:50% 75%}
.phonk-portal__signature{position:absolute;inset-inline-end:-10px;bottom:24px;display:block;width:128px;padding:9px 14px;border:1px solid #53778255;border-radius:10px;background:linear-gradient(145deg,#1b2c35ee,#0a151bee);box-shadow:inset 0 1px #ffffff1a,0 12px 25px #0005;transform:rotate(-5deg)}
.phonk-portal__signature img{width:100%;height:auto}
.phonk-portal__hardware{position:absolute;top:15px;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#77949c,#12232c 50%,#4a6872);box-shadow:0 0 0 3px #0004,inset 0 0 0 1px #8cabb922}
.phonk-portal__hardware--start{inset-inline-start:17px}.phonk-portal__hardware--end{inset-inline-end:17px}
.phonk-portal__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.phonk-portal :is(.phonk-portal__actions,.phonk-portal__finish) .button{position:relative;min-width:0;min-height:56px;display:inline-flex;gap:18px;justify-content:space-between;padding:8px 8px 8px 20px;border:1px solid #b5f9ff88;border-radius:12px;clip-path:none;background:linear-gradient(155deg,#63f1fa,#00cfe5 76%);box-shadow:inset 0 1px #d7ffffa0,inset 0 -3px #009bad88,0 8px 22px #00d8ec12;color:#041116;font-size:12px;font-weight:750;filter:none;transform:none;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.phonk-portal__action-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:8px;background:#051e2421;box-shadow:inset 0 1px #ffffff28,inset 0 0 0 1px #07232d20}
.phonk-portal__action-icon svg{width:20px;height:20px}
.phonk-portal__actions .text-link{display:inline-flex;gap:10px;min-height:56px;min-width:0;padding:8px 15px 8px 9px;border:1px solid #42616e;border-radius:12px;background:linear-gradient(145deg,#1b2d36aa,#111f2780);box-shadow:inset 0 1px #b7e9ff13;font-size:12px;color:#e1edf2;transition:border-color .22s,background .22s}
.phonk-portal__play-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;color:var(--portal-accent);border:1px solid #64e6f155;background:#04161b}
.phonk-portal__play-icon svg{width:18px;height:18px}
.phonk-portal__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-block:18px 38px}
.phonk-portal__nav a{min-width:0;display:flex;align-items:center;gap:12px;min-height:76px;padding:14px 16px;border:1px solid #2a424e;border-radius:13px;background:linear-gradient(135deg,#13242d,#0a161e);box-shadow:inset 0 1px #bde9ff0d;color:#e3edf2;transition:transform .22s,border-color .22s,background .22s}
.phonk-portal__nav-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #45657177;border-radius:9px;color:var(--portal-accent);background:#06141d;box-shadow:inset 0 1px #e1faff0a}
.phonk-portal__nav-icon svg{width:21px;height:21px}.phonk-portal__nav-label{min-width:0;font-size:13px;font-weight:550;line-height:1.45}.phonk-portal__nav-number{margin-inline-start:auto;color:#6e8a97;font-size:10px;font-variant-numeric:tabular-nums}
.phonk-portal__section{padding-block:32px 40px;border-top:1px solid #233840;scroll-margin-top:100px}
.phonk-portal__section-head{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:start;margin-bottom:28px}
.phonk-portal__number{color:var(--portal-accent);font-size:clamp(46px,5.3vw,70px);line-height:1;letter-spacing:-.06em;font-weight:550}
.phonk-portal__section-head h2{max-width:700px;margin:8px 0 12px;color:#f0f7f9;font-size:clamp(25px,3vw,38px);letter-spacing:-.04em;line-height:1.2;text-wrap:balance}
.phonk-portal__section-head .phonk-portal__eyebrow{margin:0;font-size:10px}.phonk-portal__section-head p:last-child{max-width:650px;margin:0;color:#a9c0cd;line-height:1.75;font-size:14px}
.phonk-portal__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.phonk-portal__card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:24px;overflow:hidden;border:1px solid #2a434f;border-radius:16px;background:linear-gradient(145deg,#13232c,#0a1720);box-shadow:inset 0 1px #d5efff0c,0 12px 22px #0002;color:#eaf3f6;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s}
.phonk-portal__card-art{display:block;flex-shrink:0;width:calc(100% + 48px);aspect-ratio:1.8;margin:-24px -24px 5px;background:#08131a;overflow:hidden;border-bottom:1px solid #93d9ec24}
.phonk-portal__card-art img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.75,.3,1)}
.phonk-portal__card-label{font-size:10px;line-height:1.5;color:var(--portal-accent);font-weight:650}
.phonk-portal__card h3{font-size:24px;line-height:1.22;letter-spacing:-.035em;margin:0;text-wrap:balance}.phonk-portal__card p{margin:0 0 10px;color:#abc1ce;font-size:13px;line-height:1.75}
.phonk-portal__card-arrow{margin-top:auto;padding-top:15px;border-top:1px solid #334d595c;color:#b8d4df;min-height:48px;font-size:12px;display:flex;justify-content:space-between;align-items:center;width:100%;gap:16px}
.phonk-portal__card-arrow b{flex:0 0 30px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #53758577;background:#081820;color:var(--portal-accent)}.phonk-portal__card-arrow svg{width:17px;height:17px}
.phonk-portal__finish{margin-top:24px;display:flex;justify-content:space-between;gap:26px;align-items:center;padding:32px;background:radial-gradient(ellipse at 100% 100%,#b8ef4422,transparent 65%),#10201e;border:1px solid #59713e;border-radius:16px;box-shadow:inset 0 1px #d8ffae15}
.phonk-portal__finish h2{margin:0 0 8px;font-size:30px;letter-spacing:-.03em;color:#ecf4df}.phonk-portal__finish p{max-width:620px;margin:0;font-size:14px;line-height:1.7;color:#b7c6ba}
.phonk-portal :is(a,button):focus-visible{outline:2px solid var(--portal-lime);outline-offset:4px}
.phonk-portal :is(h1,h2,h3){overflow-wrap:anywhere}
.phonk-portal__hero.scene-running .phonk-portal__machine{animation:phonk-machine-arrive .85s cubic-bezier(.16,.7,.2,1) both}
@keyframes phonk-machine-arrive{from{opacity:.55;transform:translate3d(18px,20px,0) rotate(2deg) scale(.97)}to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}
@media(hover:hover) and (pointer:fine){.phonk-portal :is(.phonk-portal__actions,.phonk-portal__finish) .button:hover{transform:translateY(-2px);box-shadow:inset 0 1px #d7ffffa0,inset 0 -3px #009bad88,0 12px 30px #00d8ec25}.phonk-portal__actions .text-link:hover{border-color:#78dbe5;background:#18323e}.phonk-portal__nav a:hover{border-color:#6ccdd8;transform:translateY(-2px)}.phonk-portal__card:hover{border-color:#69c3d1;transform:translateY(-4px);box-shadow:0 20px 32px #0004}.phonk-portal__card:hover .phonk-portal__card-art img{transform:scale(1.035)}}
@media(max-width:1100px){.phonk-portal__hero{min-height:530px;gap:0}.phonk-portal h1{font-size:clamp(40px,5vw,57px)}.phonk-portal__actions{gap:10px}.phonk-portal__actions .button{font-size:11px}.phonk-portal__signature{inset-inline-end:-8px;bottom:18px;width:108px}.phonk-portal__nav a{gap:9px;padding:12px}.phonk-portal__nav-number{display:none}}
@media(max-width:900px){.phonk-portal__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.phonk-portal__card:last-child{grid-column:1/-1}.phonk-portal__finish{align-items:flex-start;flex-direction:column}.phonk-portal__nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.phonk-portal{padding-top:15px}.phonk-portal__hero{grid-template-columns:minmax(0,1fr);padding:25px 24px 10px;gap:4px;min-height:0;border-radius:17px;background:radial-gradient(ellipse at 50% 90%,#13445055,transparent 55%),linear-gradient(135deg,#101e26,#081219)}.phonk-portal__copy{padding-block:10px}.phonk-portal__eyebrow{font-size:9px;margin-bottom:20px}.phonk-portal h1{font-size:clamp(34px,9.8vw,48px);letter-spacing:-.045em;line-height:1.08;margin-bottom:22px}.phonk-portal__deck{font-size:15px;margin-bottom:24px}.phonk-portal__actions{gap:10px}.phonk-portal__actions .button{font-size:12px}.phonk-portal__actions .text-link{font-size:12px}.phonk-portal__device{height:235px;width:min(100%,360px);justify-self:center;align-self:center}.phonk-portal__device-frame{width:190px;transform:none}.phonk-portal__machine{height:235px;max-height:none;width:100%;filter:drop-shadow(0 14px 18px #0008)}.phonk-portal__signature{width:90px;bottom:16px;inset-inline-end:calc(50% - 130px)}.phonk-portal__nav{margin-block:14px 26px;gap:8px}.phonk-portal__nav a{min-height:64px;padding:10px;gap:9px}.phonk-portal__nav-label{font-size:12px}.phonk-portal__nav-icon{width:30px;height:30px;flex-basis:30px;border-radius:8px}.phonk-portal__nav-icon svg{width:18px;height:18px}.phonk-portal__section-head{grid-template-columns:40px minmax(0,1fr);gap:14px}.phonk-portal__number{font-size:37px}.phonk-portal__section-head h2{font-size:26px}.phonk-portal__section-head p:last-child{font-size:13px}.phonk-portal__cards{grid-template-columns:1fr}.phonk-portal__card:last-child{grid-column:auto}.phonk-portal__card h3{font-size:24px}.phonk-portal__finish{padding:23px}.phonk-portal__finish h2{font-size:26px}.phonk-portal__hardware{top:12px;width:4px;height:4px}.phonk-portal__hardware--start{inset-inline-start:12px}.phonk-portal__hardware--end{inset-inline-end:12px}}
@media(max-width:360px){.phonk-portal__hero{padding-inline:19px}.phonk-portal__eyebrow{font-size:8px;letter-spacing:.07em}.phonk-portal__actions .button{font-size:11px;min-height:52px}.phonk-portal__nav a{gap:7px;padding:9px}.phonk-portal__nav-label{font-size:11px}}
@media(max-width:600px){html:lang(ja) .phonk-portal h1{font-size:clamp(30px,8.6vw,40px)}}
@media(prefers-reduced-motion:reduce){.phonk-portal :is(.phonk-portal__machine,.phonk-portal__device-frame,.button,.phonk-portal__card,.phonk-portal__card-art img,.phonk-portal__nav a){animation:none!important;transform:none!important;transition:none!important}}
body:is([data-motion="off"],[data-motion="reduced"]) .phonk-portal :is(.phonk-portal__machine,.phonk-portal__device-frame,.button,.phonk-portal__card,.phonk-portal__card-art img,.phonk-portal__nav a){animation:none!important;transform:none!important;transition:none!important}
@media(forced-colors:active){.phonk-portal :is(.phonk-portal__hero,.phonk-portal__card,.phonk-portal__nav a,.phonk-portal__finish,.phonk-portal__actions .button,.phonk-portal__actions .text-link,.phonk-portal__nav-icon){background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}.phonk-portal__device,.phonk-portal__hardware{display:none}.phonk-portal__hero{grid-template-columns:1fr;min-height:0}.phonk-portal__status{background:CanvasText}}
@media print{.phonk-portal__device,.phonk-portal__hardware{display:none}.phonk-portal__hero{display:block;min-height:0}}
@media(max-width:720px){.phonk-portal__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}.phonk-portal__actions .button{padding:8px 7px 8px 12px;gap:8px;font-size:11px}.phonk-portal__actions .text-link{padding:8px;gap:8px;font-size:11px}.phonk-portal__actions a>span{min-width:0;overflow-wrap:anywhere;line-height:1.4}.phonk-portal__actions .phonk-portal__action-icon{flex-basis:30px;width:30px;height:30px}.phonk-portal__actions .phonk-portal__play-icon{flex-basis:28px;width:28px;height:28px}.phonk-portal__device{height:205px}.phonk-portal__device-frame{width:164px}.phonk-portal__machine{height:205px}.phonk-portal__signature{width:80px;inset-inline-end:calc(50% - 120px)}}
/* Transport play keeps its conventional direction; navigation arrows follow reading order. */
html[dir=rtl] .phonk-portal__play-icon svg{transform:none}
.phonk-portal:dir(rtl) :is(.phonk-portal__action-icon,.phonk-portal__card-arrow b) svg{transform:scaleX(-1)}
