/* LetmeC 플레이어 — iOS 9 Safari 기준: grid·flex gap·inset 안 씀 */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;background:#000;color:#f1f5f9;overflow:hidden;font-family:-apple-system,"Apple SD Gothic Neo","Noto Sans KR",Roboto,sans-serif;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}
.mono{font-family:"SF Mono",Menlo,"Roboto Mono",monospace}
.num{font-family:"Helvetica Neue",-apple-system,Roboto,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em}

#stage{position:absolute;top:0;left:0;right:0;bottom:0}
.scr{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;visibility:hidden;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.scr.on{opacity:1;visibility:visible;z-index:2}
.scr.out{opacity:1;visibility:visible;z-index:1}
#stage{-webkit-perspective:1800px;perspective:1800px}
/* 화면 넘김 효과(10-07): 넘길 때마다 무작위. 들어오는 화면 .on.fx-*, 나가는 화면 .out.fx-*, 앞으로 가기는 .rev */
.scr.fx-fade.on{-webkit-animation:fxFadeIn .8s ease both;animation:fxFadeIn .8s ease both}.scr.fx-fade.out{-webkit-animation:fxFadeOut .8s ease both;animation:fxFadeOut .8s ease both}
.scr.fx-slide.on{-webkit-animation:fxSlideIn .8s cubic-bezier(.3,.7,.2,1) both;animation:fxSlideIn .8s cubic-bezier(.3,.7,.2,1) both}.scr.fx-slide.out{-webkit-animation:fxSlideOut .8s cubic-bezier(.3,.7,.2,1) both;animation:fxSlideOut .8s cubic-bezier(.3,.7,.2,1) both}
.scr.fx-slide.rev.on{-webkit-animation-name:fxSlideInR;animation-name:fxSlideInR}.scr.fx-slide.rev.out{-webkit-animation-name:fxSlideOutR;animation-name:fxSlideOutR}
.scr.fx-zoom.on{-webkit-animation:fxZoomIn .9s ease both;animation:fxZoomIn .9s ease both}.scr.fx-zoom.out{-webkit-animation:fxZoomOut .9s ease both;animation:fxZoomOut .9s ease both}
.scr.fx-cube.on{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-animation:fxCubeIn .9s ease-in-out both;animation:fxCubeIn .9s ease-in-out both}
.scr.fx-cube.out{-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-animation:fxCubeOut .9s ease-in-out both;animation:fxCubeOut .9s ease-in-out both}
.scr.fx-cube.rev.on{-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-animation-name:fxCubeInR;animation-name:fxCubeInR}
.scr.fx-cube.rev.out{-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-animation-name:fxCubeOutR;animation-name:fxCubeOutR}
.scr.fx-flip.on{-webkit-animation:fxFlipIn .9s ease-in-out both;animation:fxFlipIn .9s ease-in-out both}.scr.fx-flip.out{-webkit-animation:fxFlipOut .9s ease-in-out both;animation:fxFlipOut .9s ease-in-out both}
.scr.fx-up.on{-webkit-animation:fxUpIn .8s cubic-bezier(.3,.7,.2,1) both;animation:fxUpIn .8s cubic-bezier(.3,.7,.2,1) both}.scr.fx-up.out{-webkit-animation:fxFadeOut .8s ease both;animation:fxFadeOut .8s ease both}
@-webkit-keyframes fxFadeIn{from{opacity:0}to{opacity:1}}@keyframes fxFadeIn{from{opacity:0}to{opacity:1}}
@-webkit-keyframes fxFadeOut{from{opacity:1}to{opacity:0}}@keyframes fxFadeOut{from{opacity:1}to{opacity:0}}
@-webkit-keyframes fxSlideIn{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes fxSlideIn{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}
@-webkit-keyframes fxSlideOut{from{-webkit-transform:translate3d(0,0,0);opacity:1}to{-webkit-transform:translate3d(-35%,0,0);opacity:.3}}@keyframes fxSlideOut{from{transform:translate3d(0,0,0);opacity:1}to{transform:translate3d(-35%,0,0);opacity:.3}}
@-webkit-keyframes fxSlideInR{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes fxSlideInR{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(0,0,0)}}
@-webkit-keyframes fxSlideOutR{from{-webkit-transform:translate3d(0,0,0);opacity:1}to{-webkit-transform:translate3d(35%,0,0);opacity:.3}}@keyframes fxSlideOutR{from{transform:translate3d(0,0,0);opacity:1}to{transform:translate3d(35%,0,0);opacity:.3}}
@-webkit-keyframes fxZoomIn{from{-webkit-transform:scale(1.12);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@keyframes fxZoomIn{from{transform:scale(1.12);opacity:0}to{transform:scale(1);opacity:1}}
@-webkit-keyframes fxZoomOut{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.92);opacity:0}}@keyframes fxZoomOut{from{transform:scale(1);opacity:1}to{transform:scale(.92);opacity:0}}
@-webkit-keyframes fxCubeIn{from{-webkit-transform:translate3d(100%,0,0) rotateY(90deg)}to{-webkit-transform:translate3d(0,0,0) rotateY(0)}}@keyframes fxCubeIn{from{transform:translate3d(100%,0,0) rotateY(90deg)}to{transform:translate3d(0,0,0) rotateY(0)}}
@-webkit-keyframes fxCubeOut{from{-webkit-transform:translate3d(0,0,0) rotateY(0)}to{-webkit-transform:translate3d(-100%,0,0) rotateY(-90deg)}}@keyframes fxCubeOut{from{transform:translate3d(0,0,0) rotateY(0)}to{transform:translate3d(-100%,0,0) rotateY(-90deg)}}
@-webkit-keyframes fxCubeInR{from{-webkit-transform:translate3d(-100%,0,0) rotateY(-90deg)}to{-webkit-transform:translate3d(0,0,0) rotateY(0)}}@keyframes fxCubeInR{from{transform:translate3d(-100%,0,0) rotateY(-90deg)}to{transform:translate3d(0,0,0) rotateY(0)}}
@-webkit-keyframes fxCubeOutR{from{-webkit-transform:translate3d(0,0,0) rotateY(0)}to{-webkit-transform:translate3d(100%,0,0) rotateY(90deg)}}@keyframes fxCubeOutR{from{transform:translate3d(0,0,0) rotateY(0)}to{transform:translate3d(100%,0,0) rotateY(90deg)}}
@-webkit-keyframes fxFlipIn{0%{-webkit-transform:rotateY(-180deg);opacity:0}50%{opacity:0}51%{opacity:1}100%{-webkit-transform:rotateY(0);opacity:1}}@keyframes fxFlipIn{0%{transform:rotateY(-180deg);opacity:0}50%{opacity:0}51%{opacity:1}100%{transform:rotateY(0);opacity:1}}
@-webkit-keyframes fxFlipOut{0%{-webkit-transform:rotateY(0);opacity:1}49%{opacity:1}50%{opacity:0}100%{-webkit-transform:rotateY(180deg);opacity:0}}@keyframes fxFlipOut{0%{transform:rotateY(0);opacity:1}49%{opacity:1}50%{opacity:0}100%{transform:rotateY(180deg);opacity:0}}
@-webkit-keyframes fxUpIn{from{-webkit-transform:translate3d(0,100%,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes fxUpIn{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}
.sb .scr{padding-top:2rem}

/* 연결 화면 */
.pair{position:absolute;top:0;left:0;right:0;bottom:0;display:none;-webkit-box-align:center;-webkit-align-items:center;align-items:center;
  -webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;flex-direction:column;
  background:radial-gradient(ellipse at 50% 30%,#1e1b4b 0,#05060a 70%)}
.pair.on{display:-webkit-flex;display:flex}
.pbox{text-align:center}
.brand{font-size:2.2rem;font-weight:800;letter-spacing:.04em;display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;color:#c7d2fe}
.logo{display:inline-block;width:2.6rem;height:2rem;border-radius:.5rem;border:.28rem solid #a5b4fc;margin-right:.8rem;position:relative;background:#312e81}
.logo:after{content:"";position:absolute;left:50%;bottom:-.75rem;width:1.2rem;height:.28rem;margin-left:-.6rem;background:#a5b4fc;border-radius:.2rem}
.logo.big{width:7rem;height:5.4rem;border-width:.6rem;border-radius:1.2rem;margin:0 0 2.4rem}
.logo.big:after{bottom:-1.6rem;width:3rem;height:.6rem;margin-left:-1.5rem}
.ptitle{font-size:2.6rem;font-weight:700;margin:3rem 0 2rem;color:#e2e8f0}
.code{font-size:7.4rem;font-weight:800;letter-spacing:.18em;color:#fff;text-shadow:0 0 3rem rgba(129,140,248,.6)}
.steps{margin-top:2.6rem;display:inline-block;text-align:left;font-size:1.9rem;color:#cbd5e1;line-height:2}
.steps b{display:inline-block;width:2.6rem;height:2.6rem;line-height:2.6rem;text-align:center;border-radius:50%;background:#4f46e5;color:#fff;font-size:1.4rem;margin-right:1rem;vertical-align:middle}
.url{color:#a5b4fc;font-weight:700}
.hint{position:absolute;bottom:2.4rem;left:0;right:0;text-align:center;color:#64748b;font-size:1.4rem}

/* 첫 화면 */
.splash{position:absolute;top:0;left:0;right:0;bottom:0;background:#000;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;
  -webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;font-size:3rem;font-weight:800;color:#c7d2fe;letter-spacing:.06em;
  z-index:50;-webkit-transition:opacity .6s;transition:opacity .6s}
.splash.off{opacity:0;pointer-events:none}

/* 조작 막대 (화면을 누르면 잠깐) */
.hud{position:absolute;left:0;right:0;bottom:0;padding:2rem 3rem 3.4rem;background:-webkit-linear-gradient(transparent,rgba(0,0,0,.85));
  background:linear-gradient(transparent,rgba(0,0,0,.85));z-index:30;opacity:0;-webkit-transform:translateY(2rem);transform:translateY(2rem);
  -webkit-transition:all .3s;transition:all .3s;pointer-events:none}
.hud.on{opacity:1;-webkit-transform:none;transform:none;pointer-events:auto}
.hrow{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}
.hb{width:6rem;height:6rem;line-height:6rem;text-align:center;border-radius:50%;background:rgba(255,255,255,.12);font-size:3rem;color:#fff;margin-left:1.2rem;font-weight:300}
.hb:first-child{margin-left:0}
#hpause{font-size:1.8rem;font-weight:700}
.hmid{-webkit-flex:1;flex:1;padding:0 2rem}
.hname{font-size:2.2rem;font-weight:700}
.hnext{font-size:1.4rem;color:#94a3b8;margin-top:.3rem}

.dots{position:absolute;left:0;right:0;bottom:1rem;text-align:center;z-index:20;pointer-events:none;opacity:.55}
.dots i{display:inline-block;width:.7rem;height:.7rem;border-radius:.4rem;background:rgba(255,255,255,.35);margin:0 .35rem;overflow:hidden;vertical-align:middle;position:relative}
.dots i.on{width:3.2rem;background:rgba(255,255,255,.25)}
.dots i b{position:absolute;left:0;top:0;bottom:0;width:100%;background:#fff;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(0);transform:scaleX(0)}
.net{position:absolute;top:1rem;right:1rem;width:1rem;height:1rem;border-radius:50%;background:#ef4444;display:none;z-index:40}
.net.on{display:block}
.hello{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.88);z-index:45;display:none;-webkit-flex-direction:column;flex-direction:column;
  -webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}
.hello.on{display:-webkit-flex;display:flex}
.hi1{font-size:5rem;font-weight:800;color:#4ade80}
.hi2{font-size:2rem;color:#cbd5e1;margin-top:1.4rem}

/* 화면들이 같이 쓰는 조각 */
.card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:1.4rem}
.dim{color:#94a3b8}
.row{display:-webkit-flex;display:flex}
.col{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}
.f1{-webkit-flex:1;flex:1;min-width:0;min-height:0}
.ac{-webkit-align-items:center;align-items:center}
.jc{-webkit-justify-content:center;justify-content:center}
.jb{-webkit-justify-content:space-between;justify-content:space-between}
.sample{position:absolute;top:1rem;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:1.1rem;color:rgba(255,255,255,.35);letter-spacing:.1em}
@-webkit-keyframes blink{50%{opacity:.35}}@keyframes blink{50%{opacity:.35}}

.prow{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;text-align:left}
.qrw{background:#fff;border-radius:2rem;padding:1.6rem 1.6rem 1.2rem;text-align:center;box-shadow:0 0 6rem rgba(129,140,248,.35);margin-right:5rem}
.qrw img{display:block;width:26rem;height:26rem}
.qcap{color:#1e1b4b;font-size:1.7rem;font-weight:700;margin-top:1rem}
.pk{font-size:1.8rem;color:#a5b4fc;font-weight:700;letter-spacing:.1em}
.pright .code{text-align:left;letter-spacing:.12em}
.pright .steps{margin-top:1.6rem}
.steps em{font-style:normal;color:#4ade80;font-weight:700}
.alt{margin-top:2rem;font-size:1.5rem;color:#64748b}
.sh-tall .prow{-webkit-flex-direction:column;flex-direction:column}.sh-tall .qrw{margin:0 0 3rem}
.sh-wide .ptitle{margin:1rem 0 1.4rem;font-size:2.2rem}.sh-wide .qrw img{width:22rem;height:22rem}.sh-wide .brand{display:none}
.brand .ko{font-size:1.4rem;color:#818cf8;margin-left:.8rem;font-weight:600}
.bc{font-size:1.45em;line-height:0;color:#a5b4fc;font-weight:900;margin-left:.02em;vertical-align:-.04em}
.nm .bc{margin-left:0}

/* 재난문자 띠 (10-06) */
.alertbar{position:absolute;left:0;right:0;top:0;z-index:40;background:#dc2626;color:#fff;padding:1.4rem 3rem;font-size:2.2rem;font-weight:700;line-height:1.4;box-shadow:0 .4rem 2rem rgba(0,0,0,.5)}
.alertbar b{display:inline-block;background:#fff;color:#dc2626;font-size:1.7rem;font-weight:900;padding:.2rem 1rem;border-radius:.6rem;margin-right:1.2rem;vertical-align:.2rem}

/* 라디오 막대·고르는 판 (10-06) */
.rbar{position:absolute;left:1.6rem;bottom:1.6rem;z-index:35;display:none}
.rbar .ri{display:inline-block;width:3rem;height:3rem;vertical-align:middle}.rbar .ri svg{width:3rem;height:3rem;display:block}
.rbar.btn{display:block;width:5.2rem;height:5.2rem;border-radius:50%;background:rgba(15,23,42,.55);padding:1.1rem;opacity:.6}
.rbar.pill{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;background:rgba(15,23,42,.82);border:1px solid rgba(255,255,255,.12);border-radius:3rem;padding:.6rem .8rem .6rem 1.6rem;max-width:62rem;box-shadow:0 .6rem 2rem rgba(0,0,0,.4)}
.rbar.wait{-webkit-animation:rWait 1.6s ease-in-out infinite;animation:rWait 1.6s ease-in-out infinite;padding:.8rem 2rem .8rem 1.2rem}
.rbar.wait .rn{color:#fde68a;margin-left:1rem}
@-webkit-keyframes rWait{50%{opacity:.55}}@keyframes rWait{50%{opacity:.55}}
.rbar .rd{display:inline-block;width:1.2rem;height:1.2rem;border-radius:50%;-webkit-flex:none;flex:none;margin-right:1rem;-webkit-animation:rPulse 1.4s ease-in-out infinite;animation:rPulse 1.4s ease-in-out infinite}
@-webkit-keyframes rPulse{50%{opacity:.35}}@keyframes rPulse{50%{opacity:.35}}
.rbar .rn{font-size:1.9rem;font-weight:800;color:#f8fafc;white-space:nowrap;-webkit-flex:none;flex:none}
.rbar .rt{font-size:1.6rem;color:#94a3b8;margin:0 1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;-webkit-flex:1;flex:1;max-width:30rem}
.rbar .rk{-webkit-flex:none;flex:none;width:4.4rem;height:4.4rem;line-height:4.4rem;text-align:center;border-radius:50%;font-size:2.2rem;font-weight:800;color:#e2e8f0;background:rgba(255,255,255,.08);margin-left:.6rem}
.rpick{position:absolute;top:0;left:0;right:0;bottom:0;z-index:45;background:#020617;padding:2.6rem 3rem;display:none}
.rpick.on{display:block}
.rpick .rph{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}
.rpick .rph .ri{width:4rem;height:4rem;margin-right:1.2rem}.rpick .rph .ri svg{width:4rem;height:4rem;display:block}
.rpick .rph b{font-size:3.2rem;font-weight:900;color:#fff}
.rpick .rnow{-webkit-flex:1;flex:1;min-width:0;margin-left:2rem;font-size:2rem;color:#86efac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpick .rbtn{-webkit-flex:none;flex:none;font-size:1.9rem;font-weight:800;color:#fff;background:#334155;border-radius:2.4rem;padding:1rem 2.2rem;margin-left:1.2rem}
.rpick .rbtn.x{background:#1e293b;padding:1rem 1.8rem}
.rpick .rtabs{margin:2.2rem 0 1.6rem;white-space:nowrap}
.rpick .rtab{display:inline-block;font-size:2rem;font-weight:800;color:#94a3b8;padding:1rem 2.2rem;border-radius:2.4rem;margin-right:1rem;background:#0f172a}
.rpick .rtab.on{background:#f8fafc;color:#0f172a}
.rpick .rgrid{overflow:hidden}
.rpick .rch{float:left;width:18.4%;margin:0 2% 1.6rem 0;height:9.4rem;border-radius:1.4rem;background:#1e293b;color:#f1f5f9;font-size:2rem;font-weight:800;padding:2.4rem 1.2rem 0;text-align:center;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-top:3.2rem}
.rpick .rch:nth-child(5n){margin-right:0}
.rpick .rch i{position:absolute;left:0;right:0;top:0;height:.8rem}
.rpick .rch.on{background:#f8fafc;color:#0f172a}
.rpick .rnone{font-size:2.2rem;color:#94a3b8;padding:4rem 0;text-align:center}
.sh-tall .rpick .rch{width:31%;margin-right:3.5%}.sh-tall .rpick .rch:nth-child(5n){margin-right:3.5%}.sh-tall .rpick .rch:nth-child(3n){margin-right:0}

/* 글자판 넘김 (10-06) */
.flp{-webkit-animation:flapIt .34s ease-in-out;animation:flapIt .34s ease-in-out}
@-webkit-keyframes flapIt{0%{-webkit-transform:scaleY(1)}47%{-webkit-transform:scaleY(.05);opacity:.6}53%{-webkit-transform:scaleY(.05);opacity:.6}100%{-webkit-transform:scaleY(1)}}
@keyframes flapIt{0%{transform:scaleY(1)}47%{transform:scaleY(.05);opacity:.6}53%{transform:scaleY(.05);opacity:.6}100%{transform:scaleY(1)}}

/* 라디오 리모컨 (10-06: 소리는 맥) */
.rbar.btn.dim{opacity:.3}
.rpick .rvol{-webkit-flex:none;flex:none;font-size:2rem;font-weight:800;color:#e2e8f0;width:5rem;text-align:center;margin-left:.6rem}

/* 라디오 판: 로고 · ★ (10-06) */
.rpick .rch em{font-style:normal;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2.6rem 0 .4rem}
.rpick .rch.lg{padding-top:1.4rem}
.rpick .rch img{display:block;width:4.4rem;height:4.4rem;border-radius:1rem;margin:0 auto .5rem;background:#fff}
.rpick .rch.lg em{font-size:1.6rem}
.rpick .rch u{position:absolute;right:0;top:0;width:4.4rem;height:4.4rem;line-height:4.6rem;text-decoration:none;font-size:2.4rem;color:rgba(255,255,255,.25)}
.rpick .rch u.f{color:#fbbf24}
.rpick .rch.on u{color:rgba(15,23,42,.25)}.rpick .rch.on u.f{color:#d97706}

/* 라디오 고르는 판 — T30 라디오 탭 모양 (10-07) */
.rpick{background:#070b18}
.rpick .rbody{position:absolute;left:3rem;right:3rem;top:9rem;bottom:2rem}
.rpick .rcats{position:absolute;left:0;top:0;bottom:0;width:21rem}
.rpick .rcat{display:block;font-size:2rem;font-weight:800;color:#a5b0d6;background:rgba(22,30,62,.72);border:1px solid rgba(120,140,220,.14);border-radius:1.6rem;padding:2rem 1.8rem;margin-bottom:1.2rem;position:relative}
.rpick .rcat em{position:absolute;right:1.6rem;top:2.2rem;font-style:normal;font-size:1.5rem;color:#6b7699}
.rpick .rcat.on{color:#fff;background:#24305e;border-color:#60a5fa}
.rpick .rtiles{position:absolute;left:23rem;right:0;top:0;bottom:0;overflow:hidden}
.rpick .rt2{float:left;width:16.66%;height:15.2rem;text-align:center;position:relative}
.rpick .ic2{display:block;width:8.6rem;height:8.6rem;margin:0 auto;border-radius:2rem;background:#fff;overflow:hidden;position:relative}
.rpick .ic2 img{width:100%;height:100%;display:block}
.rpick .ic2 b{position:absolute;left:0;right:0;top:50%;margin-top:-1.6rem;line-height:3.2rem;font-size:2.3rem;font-weight:900;color:#fff}
.rpick .rt2.on .ic2{border:.45rem solid #60a5fa}
.rpick .rt2 u{position:absolute;right:.6rem;top:-1rem;width:4.4rem;height:4.4rem;line-height:4.4rem;text-decoration:none;font-size:2.6rem;color:rgba(255,255,255,.22)}
.rpick .rt2 u.f{color:#fbbf24}
.rpick .n2{display:block;font-size:1.6rem;font-weight:800;color:#f1f5ff;margin-top:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .3rem}
.rpick .rt2.on .n2{color:#60a5fa}
.rpick .g2{display:block;font-size:1.3rem;color:#6b7699;margin-top:.2rem}
.rpick .rt2 u{right:1.2rem;top:-.9rem;width:3.8rem;height:3.8rem;line-height:3.8rem;font-size:2.1rem;border-radius:50%;background:rgba(7,11,24,.82);color:#64708f}
.rpick .rt2 u.f{color:#fbbf24}
.rbar.up{bottom:13rem}   /* 화면을 눌러 조작 막대와 함께 뜰 때는 그 위로 */
.rbar .ri.rl{width:2.8rem;height:2.8rem;margin-right:1rem;-webkit-flex:none;flex:none}.rbar .ri.rl svg{width:2.8rem;height:2.8rem}

/* 아래 막대 하나로: 화면 칸 + 라디오 칸, 진한 바탕 (10-07) */
.hud{background:rgba(6,10,22,.94);border-top:1px solid rgba(140,160,255,.18);padding:1.6rem 2.4rem 2.2rem}
.hud .hrow{display:-webkit-flex;display:flex;-webkit-align-items:stretch;align-items:stretch}
.hud .hscr,.hud .hrad{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;background:rgba(255,255,255,.06);border-radius:1.8rem;padding:1.2rem 1.4rem}
.hud .hscr{-webkit-flex:1;flex:1;min-width:0}
.hud .hrad{display:none;-webkit-flex:1;flex:1;min-width:0;margin-left:1.4rem}
.hud .hrad.on{display:-webkit-flex;display:flex}
.hud .hb{-webkit-flex:none;flex:none}
.hud .hauto{width:auto;padding:0 1.8rem;border-radius:3rem;font-size:1.7rem !important;font-weight:800}
.hud .hmid{min-width:0;padding:0 1.6rem}.hud .hname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud .hri{width:6rem;height:6rem;-webkit-flex:none;flex:none;border-radius:1.4rem;overflow:hidden;background:#fff}
.hud .hri img{width:100%;height:100%;display:block}.hud .hri span{display:block;width:100%;height:100%}
.hud .hrm{-webkit-flex:1;flex:1;min-width:0;padding:0 1.4rem}
.hud .hrn{font-size:2rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud .hrt{font-size:1.5rem;color:#93c5fd;margin-top:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud .hpp{background:#3b82f6;font-size:2rem;font-weight:800}
.hud .hsv{position:relative}.hud .hsv svg{position:absolute;left:1.8rem;top:1.8rem;width:2.4rem;height:2.4rem}
.hud .hrad{-webkit-flex:1.35;flex:1.35}
.hud .hvol{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-flex:none;flex:none;margin-left:1.2rem;padding-left:1.2rem;border-left:1px solid rgba(255,255,255,.12)}
.hud .hvb{width:5rem !important;height:5rem !important;line-height:5rem !important;font-size:2.6rem !important;background:rgba(255,255,255,.12)}
.hud .hvn{font-size:1.7rem;font-weight:800;min-width:6.4rem;text-align:center;white-space:nowrap}
/* 볼륨을 넣은 뒤 막대가 비좁아 이름이 안 보임 → 단추를 조금 작게(10-07) */
.hud .hscr,.hud .hrad{padding:1rem 1.2rem}
.hud .hb{width:5.2rem;height:5.2rem;line-height:5.2rem;font-size:2.6rem;margin-left:.8rem}
.hud .hscr .hb:first-child,.hud .hrad .hri{margin-left:0}
.hud .hmid{-webkit-flex:1;flex:1;padding:0 1.2rem}.hud .hnext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud .hname{font-size:2rem}
.hud .hauto{padding:0 1.4rem;font-size:1.5rem !important}
.hud .hri{width:5.2rem;height:5.2rem}
.hud .hrm{padding:0 1rem}.hud .hrn{font-size:1.8rem}
.hud .hpp{font-size:1.8rem}
.hud .hsv svg{left:1.4rem;top:1.4rem}
.hud .hrad{-webkit-flex:1.25;flex:1.25}
.hud .hvol{margin-left:.8rem;padding-left:.8rem}
.hud .hvb{width:4.4rem !important;height:4.4rem !important;line-height:4.4rem !important;font-size:2.4rem !important}
.hud .hvn{font-size:1.5rem;min-width:4.6rem}
.hud .hvn i{display:block;font-size:1.1rem;font-style:normal;font-weight:600;color:#94a3b8;line-height:1.3rem}
.hud .hauto{width:auto;line-height:5.2rem}
.hud .hrad{-webkit-flex:1.6;flex:1.6}
/* 라디오 판: 아래 막대에서 여는 라디오 화면(10-07) */
.rpanel{position:absolute;top:0;left:0;right:0;bottom:0;z-index:42;display:none}
.rpanel.on{display:block}
.rpanel .rpin{position:absolute;top:0;left:0;right:0;bottom:0}
.rpanel .rpx{position:absolute;right:1.6rem;bottom:2.4rem;width:6.4rem;height:6.4rem;line-height:6.4rem;text-align:center;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:2.6rem;z-index:2}
/* 스트림덱: 세 손가락으로 부르는 버튼 판(10-07, T30 패널 스트림덱 이전) */
.deck{position:absolute;top:0;left:0;right:0;bottom:0;z-index:48;display:none;background:#070b18;background:-webkit-radial-gradient(20% 0,circle,#16204a 0,#070b18 60%);background:radial-gradient(circle at 20% 0,#16204a 0,#070b18 60%);color:#e8ecf8;padding:2rem 2.4rem}
.deck.on{display:block}
.deck svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.deck .dtop{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}
.deck .dtabs{-webkit-flex:1;flex:1;white-space:nowrap;overflow:hidden}
.deck .dtt{font-size:2.4rem}
.deck .dtab{display:inline-block;padding:1.1rem 1.8rem;margin-right:.8rem;border-radius:1.6rem;font-size:2rem;font-weight:700;color:#8b95b8;background:rgba(255,255,255,.05)}
.deck .dtab svg{width:2.4rem;height:2.4rem;vertical-align:-.45rem;margin-right:.7rem}
.deck .dtab.on{background:rgba(255,255,255,.12)}
.deck .dx{width:6rem;height:6rem;line-height:6rem;text-align:center;border-radius:50%;background:rgba(255,255,255,.12);font-size:2.6rem;-webkit-flex:none;flex:none;margin-left:1rem}
.deck .dwarn{margin-top:1.2rem;background:rgba(251,191,36,.14);color:#fcd34d;border-radius:1.2rem;padding:1rem 1.6rem;font-size:1.7rem}
.deck .dgrid{margin:1.8rem auto 0;font-size:0;background:#0b0d12;border-radius:3rem;padding:2rem 2rem .4rem;box-shadow:inset 0 .2rem 0 rgba(255,255,255,.06),0 1.2rem 3rem rgba(0,0,0,.55)}
.deck .dt{display:inline-block;vertical-align:top;position:relative;width:15.4%;padding-top:15.4%;margin:0 1.5% 1.6rem 0}
.deck .dt:nth-child(6n){margin-right:0}
.deck .kin{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:2.2rem;overflow:hidden;background:#000;box-shadow:0 0 0 .3rem #1d2129,0 .7rem 1.4rem rgba(0,0,0,.7);-webkit-transition:-webkit-transform .1s;transition:transform .1s}
.deck .kin:after{content:'';position:absolute;top:0;left:0;right:0;height:45%;background:-webkit-linear-gradient(top,rgba(255,255,255,.16),rgba(255,255,255,0));background:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,0));pointer-events:none}
.deck .kf{position:absolute;top:0;left:0;right:0;bottom:0}
.deck .kf.sv svg{position:absolute;left:28%;top:20%;width:44%;height:44%;stroke:#fff;stroke-width:1.8}
.deck .kf.app{background:#1a1f2b;background:-webkit-radial-gradient(50% 35%,circle,#2a3142 0,#10141c 75%);background:radial-gradient(circle at 50% 35%,#2a3142 0,#10141c 75%)}
.deck .kf.app img{position:absolute;left:14%;top:7%;width:72%;height:72%}
.deck .kf.site{background:#fff}
.deck .kf.site img{position:absolute;left:27%;top:17%;width:46%;height:46%}
.deck .kl{position:absolute;left:0;right:0;bottom:0;padding:2.4rem .6rem .9rem;font-size:1.5rem;font-weight:700;color:#fff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 .1rem .3rem rgba(0,0,0,.8);background:-webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.72));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.72))}
.deck .dt.press .kin{-webkit-transform:scale(.92);transform:scale(.92);box-shadow:0 0 0 .3rem #fff,0 .2rem .6rem rgba(0,0,0,.7)}
.deck .dt.st .kin{box-shadow:0 0 0 .4rem #fbbf24,0 .7rem 1.4rem rgba(0,0,0,.7)}
.deck .kon{position:absolute;top:1rem;right:1rem;width:1.4rem;height:1.4rem;border-radius:50%;background:#fbbf24;box-shadow:0 0 .8rem #fbbf24}
.deck .dt.arm .kin{box-shadow:0 0 0 .4rem #f87171,0 .7rem 1.4rem rgba(0,0,0,.7)}
.deck .dt.arm .kl{background:#dc2626;padding-top:.9rem}
.deck .dpg{position:absolute;left:0;right:0;bottom:2.4rem;text-align:center}
.deck .dpg i{display:inline-block;width:1.2rem;height:1.2rem;border-radius:50%;background:rgba(255,255,255,.25);margin:0 .6rem;vertical-align:middle}
.deck .dpg i.on{background:#fff}
.deck .dpb{display:inline-block;width:6rem;height:6rem;line-height:5.6rem;border-radius:50%;background:rgba(255,255,255,.12);font-size:3.4rem;vertical-align:middle;margin:0 2rem}
.deck .dmsg{font-size:2.2rem;color:#93a0c8;text-align:center;padding-top:16rem}
.deck .dtoast{position:absolute;left:50%;bottom:11rem;width:30rem;margin-left:-15rem;text-align:center;background:rgba(0,0,0,.75);border-radius:2rem;padding:1.2rem;font-size:1.8rem;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}
.deck .dtoast.on{opacity:1}
.deck .dt.off .kin{background:#05070b;box-shadow:0 0 0 .3rem #161a22,inset 0 .2rem .6rem rgba(0,0,0,.8)}
.deck .dt.off .kin:after{display:none}
/* 아이콘 더 크게, 이름은 키 아래로(10-07 사용자 요청) */
.deck .dgrid{padding:1.8rem 2rem .2rem}
.deck .dt{margin-bottom:4.6rem}
.deck .kf.sv svg{left:21%;top:21%;width:58%;height:58%}
.deck .kf.app img{left:7%;top:7%;width:86%;height:86%}
.deck .kf.site img{left:17%;top:17%;width:66%;height:66%}
.deck .kl{top:100%;bottom:auto;padding:.9rem .2rem 0;background:none;font-size:1.6rem;color:#dfe5f5;text-shadow:none}
.deck .dt.arm .kl{background:none;padding-top:.9rem;color:#fca5a5}
.deck .dpg{bottom:1.2rem}
/* 7×4 키, 넘기기는 손가락으로(10-07) */
.deck{padding:1.4rem 2rem}
.deck .dtab{padding:.8rem 1.6rem}
.deck .dx{width:5.4rem;height:5.4rem;line-height:5.4rem}
.deck .dgrid{margin-top:1.2rem;padding:1.4rem 1.6rem .2rem;text-align:left}
.deck .dt{width:12.6rem;height:12.6rem;padding-top:0;margin:0 1.05rem 3rem 0}
.deck .dt:nth-child(6n){margin-right:1.05rem}
.deck .dt:nth-child(7n){margin-right:0}
.deck .kin{border-radius:1.8rem}
.deck .kf.app img{left:4%;top:4%;width:92%;height:92%}
.deck .kf.sv svg{left:18%;top:18%;width:64%;height:64%}
.deck .kf.site img{left:14%;top:14%;width:72%;height:72%}
.deck .kl{font-size:1.45rem;padding-top:.6rem}
.deck .dpg{position:static;display:inline-block;margin:0 1.4rem;-webkit-flex:none;flex:none}
.deck .dpg i{width:1rem;height:1rem;margin:0 .45rem}
.deck .dwarn{position:absolute;left:2rem;right:2rem;bottom:1.2rem;z-index:3;margin:0}
.deck .dgrid.slr{-webkit-animation:dkR .25s ease-out;animation:dkR .25s ease-out}
.deck .dgrid.sll{-webkit-animation:dkL .25s ease-out;animation:dkL .25s ease-out}
@-webkit-keyframes dkR{0%{-webkit-transform:translate3d(6rem,0,0);opacity:.3}100%{-webkit-transform:none;opacity:1}}
@keyframes dkR{0%{transform:translate3d(6rem,0,0);opacity:.3}100%{transform:none;opacity:1}}
@-webkit-keyframes dkL{0%{-webkit-transform:translate3d(-6rem,0,0);opacity:.3}100%{-webkit-transform:none;opacity:1}}
@keyframes dkL{0%{transform:translate3d(-6rem,0,0);opacity:.3}100%{transform:none;opacity:1}}
.deck .dt{width:12.9%;height:0;padding-top:12.9%;margin:0 1.6% 3rem 0}
.deck .dt:nth-child(6n){margin-right:1.6%}
.deck .dt:nth-child(7n){margin-right:0}
/* 미끄러지는 띠(10-07) */
.deck .dview{overflow:hidden;margin:0 -2rem;padding:0 2rem}
.deck .dtrack{white-space:nowrap;-webkit-backface-visibility:hidden}
.deck .dtrack.anim{-webkit-transition:-webkit-transform .32s cubic-bezier(.2,.8,.2,1);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.deck .dpane{display:inline-block;vertical-align:top;white-space:normal}
.deck .kon{display:none}.deck .dt.st .kon{display:block}
.deck .dwarn{display:none}
.deck .dview{margin:0 -2rem;padding:0}
.deck .dpane{padding:0 2rem;-webkit-box-sizing:border-box;box-sizing:border-box}
.rpanel,.deck{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}   /* iOS 9: 움직이는 뒤 화면이 위로 비치지 않게 자기 층으로 */
.deck .dpc{-webkit-flex:none;flex:none;margin-right:1rem;padding:1rem 1.6rem;border-radius:1.6rem;background:rgba(77,163,255,.18);color:#bfdbfe;font-size:1.8rem;font-weight:700;white-space:nowrap;max-width:22rem;overflow:hidden;text-overflow:ellipsis}
.deck .dpc i{display:inline-block;width:1rem;height:1rem;border-radius:50%;background:#64748b;margin-right:.7rem;vertical-align:.1rem}.deck .dpc i.on{background:#22c55e}
.deck .dpc b{font-weight:400;color:#93c5fd}
.deck .dnopc{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin:6rem 4rem 0}
.deck .dnq{-webkit-flex:none;flex:none;width:22rem;height:22rem;background:#fff;border-radius:1.6rem;padding:1rem;margin-right:4rem}.deck .dnq svg{width:100%;height:100%;display:block}
.deck .dnt{font-size:2rem;line-height:1.5;color:#cbd5f5}.deck .dnt b{display:block;font-size:2.8rem;color:#fff;margin-bottom:1rem}
.deck .dnt p{margin:0 0 1rem}.deck .dnt ol{margin:0 0 1.4rem;padding-left:2.6rem}.deck .dnt li{margin:.4rem 0}.deck .dnt li b{display:inline;font-size:2rem;color:#fde68a;margin:0}
.deck .dnu{font-size:1.6rem;color:#93a0c8}
/* 넘김 효과 속도(10-07 「너무 빠르다」): 약 2배 느리게 */
.scr.fx-fade.on,.scr.fx-fade.out{-webkit-animation-duration:1.5s;animation-duration:1.5s}
.scr.fx-slide.on,.scr.fx-slide.out{-webkit-animation-duration:1.5s;animation-duration:1.5s}
.scr.fx-zoom.on,.scr.fx-zoom.out{-webkit-animation-duration:1.7s;animation-duration:1.7s}
.scr.fx-cube.on,.scr.fx-cube.out{-webkit-animation-duration:1.8s;animation-duration:1.8s}
.scr.fx-flip.on,.scr.fx-flip.out{-webkit-animation-duration:1.8s;animation-duration:1.8s}
.scr.fx-up.on,.scr.fx-up.out{-webkit-animation-duration:1.4s;animation-duration:1.4s}
/* 시작 화면(10-07 「세련미」): 남색 빛 바탕 + 앱 아이콘 + 한 줄 소개 + 불러오는 막대 */
.splash{background:#070b18;background:-webkit-radial-gradient(50% 40%,circle,#1b2a5e 0,#0b1024 45%,#05070f 100%);background:radial-gradient(circle at 50% 40%,#1b2a5e 0,#0b1024 45%,#05070f 100%);letter-spacing:0}
.splash .spi{width:11rem;height:11rem;border-radius:2.6rem;box-shadow:0 1.6rem 4rem rgba(0,0,0,.55),0 0 0 .1rem rgba(255,255,255,.08);-webkit-animation:spIn .9s cubic-bezier(.2,.8,.2,1) both;animation:spIn .9s cubic-bezier(.2,.8,.2,1) both}
.splash .spn{margin-top:2.4rem;font-size:4.6rem;font-weight:900;color:#fff;letter-spacing:-.1rem;-webkit-animation:spUp .9s .15s both;animation:spUp .9s .15s both}
.splash .spn .bc{color:#4da3ff}
.splash .spt{margin-top:.6rem;font-size:1.9rem;font-weight:500;color:#93a0c8;-webkit-animation:spUp .9s .3s both;animation:spUp .9s .3s both}
.splash .spb{margin-top:3.6rem;width:16rem;height:.4rem;border-radius:.2rem;background:rgba(255,255,255,.1);overflow:hidden}
.splash .spb i{display:block;width:40%;height:100%;border-radius:.2rem;background:#4da3ff;-webkit-animation:spBar 1.4s ease-in-out infinite;animation:spBar 1.4s ease-in-out infinite}
@-webkit-keyframes spIn{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:none;opacity:1}}@keyframes spIn{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
@-webkit-keyframes spUp{from{-webkit-transform:translate3d(0,1.2rem,0);opacity:0}to{-webkit-transform:none;opacity:1}}@keyframes spUp{from{transform:translate3d(0,1.2rem,0);opacity:0}to{transform:none;opacity:1}}
@-webkit-keyframes spBar{0%{-webkit-transform:translate3d(-100%,0,0)}100%{-webkit-transform:translate3d(250%,0,0)}}@keyframes spBar{0%{transform:translate3d(-100%,0,0)}100%{transform:translate3d(250%,0,0)}}
.splash{-webkit-transition:opacity 1s;transition:opacity 1s}
.splash .spi{width:16rem;height:16rem;border-radius:3.6rem}
.splash .spw{display:block;height:6.4rem;margin-top:2.6rem;-webkit-animation:spUp .9s .15s both;animation:spUp .9s .15s both}

/* 사파리 창으로 열었을 때 안내(10-07) */
#ahint{position:fixed;left:50%;bottom:3rem;width:70rem;margin-left:-35rem;z-index:60;background:rgba(15,23,42,.92);color:#e2e8f0;border:1px solid rgba(148,163,184,.35);border-radius:2rem;padding:1.6rem 2.4rem;font-size:2.1rem;line-height:1.5;text-align:center;opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s;pointer-events:none}
#ahint.on{opacity:1;pointer-events:auto}#ahint b{color:#fde047}
