.hn-app .sp-hero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--panel);background-image:radial-gradient(120% 140% at 85% -20%,rgba(255,255,255,.05),transparent 55%),linear-gradient(var(--border-soft) 1px,transparent 1px),linear-gradient(90deg,var(--border-soft) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px}.hn-app .sp-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--v) 75%,transparent),color-mix(in srgb,var(--v) 14%,transparent) 55%,transparent)}.hn-app .sp-hero-inner{position:relative;z-index:1;padding:clamp(22px,4cqw,40px) clamp(20px,4cqw,42px);display:flex;gap:28px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}.hn-app .sp-caret{display:inline-block;width:9px;height:1em;margin-left:6px;vertical-align:-2px;background:var(--v);animation:spCaret 1.1s steps(2) infinite}@keyframes spCaret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.hn-app .sp-caret{animation:none}}.hn-app .sp-stats{display:flex;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(4px)}.hn-app .sp-stat{padding:12px 20px;display:flex;flex-direction:column;gap:2px;min-width:92px}.hn-app .sp-stat+.sp-stat{border-left:1px solid var(--border)}.hn-app .sp-stat .n{font-family:var(--f-display);font-size:26px;line-height:1;color:var(--text);letter-spacing:.02em}.hn-app .sp-stat .n b{color:var(--v);font-weight:inherit}.hn-app .sp-stat .l{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.hn-app .sp-tabs{display:flex;gap:2px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow-x:auto;scrollbar-width:none}.hn-app .sp-tabs::-webkit-scrollbar{display:none}.hn-app .sp-tab{position:relative;display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 16px;border-radius:9px;border:1px solid transparent;font-family:var(--f-mono);font-size:11.5px;font-weight:700;letter-spacing:.05em;color:var(--text-2);background:transparent;cursor:pointer;transition:.16s;white-space:nowrap}.hn-app .sp-tab:hover{color:var(--text);background:var(--panel-2)}.hn-app .sp-tab.active{color:var(--text);background:color-mix(in srgb,var(--v) 8%,var(--panel-2));border-color:color-mix(in srgb,var(--v) 32%,transparent)}.hn-app .sp-tab.active .sp-tab-ico{color:var(--v)}.hn-app .rmp{position:relative;padding:6px 0 10px}.hn-app .rmp-spine{position:absolute;top:26px;bottom:26px;left:50%;width:3px;transform:translateX(-50%);border-radius:3px;z-index:0;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--text) 11%,transparent) 4%,color-mix(in srgb,var(--text) 11%,transparent) 96%,transparent)}.hn-app .rmp-spine-fill{position:absolute;top:0;left:0;width:100%;border-radius:3px;background:linear-gradient(to bottom,var(--track),color-mix(in srgb,var(--track) 30%,transparent));box-shadow:0 0 14px -2px var(--track);transition:height 1s ease}.hn-app .rmp-cap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:7px}.hn-app .rmp-cap-dot{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--track) 12%,var(--panel));border:2px solid var(--track);color:var(--track);box-shadow:0 0 26px -6px var(--track)}.hn-app .rmp-cap-label{font-family:var(--f-mono);font-size:10.5px;font-weight:800;letter-spacing:.2em;color:var(--text-2)}.hn-app .rmp-gate{position:relative;z-index:2;display:flex;align-items:center;gap:14px;margin:26px 0 18px}.hn-app .rmp-gate .ln{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gc,var(--border-strong)))}.hn-app .rmp-gate .ln:last-child{background:linear-gradient(90deg,var(--gc,var(--border-strong)),transparent)}.hn-app .rmp-gate-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gc) 50%,transparent);background:color-mix(in srgb,var(--gc) 10%,var(--panel));color:var(--gc);font-family:var(--f-mono);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 0 22px -10px var(--gc)}.hn-app .rmp-item{position:relative;z-index:1;display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;margin:14px 0}.hn-app .rmp-node{grid-column:2;justify-self:center;z-index:2}.hn-app .rmp-dot{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-family:var(--f-display);font-size:19px;letter-spacing:.04em;border:2px solid var(--border-strong);background:var(--panel-2);color:var(--text-3);transition:transform .2s}.hn-app .rmp-item:hover .rmp-dot{transform:scale(1.07)}.hn-app .rmp-card{position:relative;display:block;text-decoration:none;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel);transition:transform .18s,border-color .18s,box-shadow .18s}.hn-app .rmp-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--track) 40%,var(--border));box-shadow:0 12px 30px -20px color-mix(in srgb,var(--track) 55%,transparent)}.hn-app .rmp-item.l .rmp-card{grid-column:1}.hn-app .rmp-item.r .rmp-card{grid-column:3}.hn-app .rmp-item.l .rmp-card:after,.hn-app .rmp-item.r .rmp-card:before{content:"";position:absolute;top:50%;width:11px;height:11px;transform:translateY(-50%) rotate(45deg);background:var(--panel);border:1px solid var(--border);z-index:2}.hn-app .rmp-item.l .rmp-card:after{right:-6px;border-left:none;border-bottom:none}.hn-app .rmp-item.r .rmp-card:before{left:-6px;border-right:none;border-top:none}.hn-app .rmp-bg{position:absolute;inset:0}.hn-app .rmp-bg img{width:100%;height:100%;object-fit:cover;opacity:.5}.hn-app .rmp-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--panel) 30%,color-mix(in srgb,var(--panel) 55%,transparent) 62%,color-mix(in srgb,var(--panel) 20%,transparent))}.hn-app .rmp-card-in{position:relative;z-index:1;padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-height:112px;justify-content:center}.hn-app .rmp-name{font-size:clamp(20px,2.4cqw,26px);letter-spacing:.03em;text-transform:uppercase;color:var(--text)}.hn-app .rmp-idx,.hn-app .rmp-name{font-family:var(--f-display);line-height:1}.hn-app .rmp-idx{position:absolute;right:12px;bottom:-14px;z-index:0;pointer-events:none;font-size:92px;letter-spacing:0;color:color-mix(in srgb,var(--text) 5%,transparent)}.hn-app .rmp-ring{flex:none;position:relative}.hn-app .rmp-ring:before{content:"";position:absolute;inset:-5px;border-radius:50%;background:color-mix(in srgb,var(--panel) 82%,transparent);backdrop-filter:blur(2px)}@media (max-width:820px){.hn-app .rmp-spine{left:25px}.hn-app .rmp-cap{align-items:flex-start;flex-direction:row;padding-left:0}.hn-app .rmp-gate{margin-left:0}.hn-app .rmp-item{grid-template-columns:52px 1fr;column-gap:10px}.hn-app .rmp-node{grid-column:1}.hn-app .rmp-item.l .rmp-card,.hn-app .rmp-item.r .rmp-card{grid-column:2}.hn-app .rmp-item.l .rmp-card:after,.hn-app .rmp-item.r .rmp-card:before{display:none}.hn-app .rmp-idx{font-size:64px}}.hn-app .sp-card{position:relative;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;border:1px solid var(--border);border-radius:16px;background:var(--panel);transition:transform .2s,border-color .2s,box-shadow .2s}.hn-app .sp-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--v) 38%,var(--border));box-shadow:0 16px 38px -22px color-mix(in srgb,var(--v) 55%,transparent)}.hn-app .sp-card-media{position:relative;aspect-ratio:16/8.4;overflow:hidden;flex:none}.hn-app .sp-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.hn-app .sp-card:hover .sp-card-media img{transform:scale(1.045)}.hn-app .sp-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--panel) 4%,color-mix(in srgb,var(--panel) 35%,transparent) 45%,transparent 75%)}.hn-app .sp-card-num{position:absolute;top:2px;right:10px;z-index:1;pointer-events:none;font-family:var(--f-display);font-size:74px;line-height:1;color:color-mix(in srgb,var(--text) 16%,transparent);text-shadow:0 2px 18px rgba(0,0,0,.5)}.hn-app .sp-card-body{display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;flex:1;position:relative;z-index:1;margin-top:-14px}.hn-app .sp-card-title{font-family:var(--f-display);font-size:24px;letter-spacing:.03em;text-transform:uppercase;line-height:1;color:var(--text);margin:0}.hn-app .sp-phero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--panel);margin-bottom:22px}.hn-app .sp-phero-bg{position:absolute;inset:0}.hn-app .sp-phero-bg img{width:100%;height:100%;object-fit:cover;opacity:.38;transform:scale(1.03)}.hn-app .sp-phero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--bg) 6%,color-mix(in srgb,var(--bg) 62%,transparent) 55%,color-mix(in srgb,var(--bg) 30%,transparent)),linear-gradient(to top,var(--panel) 2%,transparent 55%)}.hn-app .sp-phero-in{position:relative;z-index:1;padding:clamp(24px,4.5cqw,46px) clamp(20px,4cqw,42px);display:flex;flex-direction:column;gap:14px}.hn-app .sp-phero-title{font-family:var(--f-display);font-size:clamp(38px,7cqw,64px);line-height:.98;letter-spacing:.025em;text-transform:uppercase;margin:0;color:var(--text);text-shadow:0 0 30px color-mix(in srgb,var(--v) 22%,transparent)}.hn-app .sp-body{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:22px;align-items:start}.hn-app .sp-side{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px;min-width:0}.hn-app .sp-mods{min-width:0}@media (max-width:980px){.hn-app .sp-body{grid-template-columns:minmax(0,1fr)}.hn-app .sp-side{position:static;order:-1}}.hn-app .sp-mission{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:18px;display:flex;flex-direction:column;gap:14px}.hn-app .sp-mission .hd{font-family:var(--f-mono);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--v)}.hn-app .sp-mods{position:relative;display:flex;flex-direction:column;gap:16px}.hn-app .sp-mods:before{content:"";position:absolute;left:25px;top:22px;bottom:22px;width:2px;background:linear-gradient(to bottom,color-mix(in srgb,var(--v) 45%,transparent),color-mix(in srgb,var(--text) 9%,transparent))}.hn-app .sp-mod{border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden;margin-left:0}.hn-app .sp-mod-hd{display:flex;align-items:center;gap:14px;padding:15px 18px;background:linear-gradient(90deg,color-mix(in srgb,var(--v) 3%,transparent),transparent 45%);border-bottom:1px solid var(--border-soft)}.hn-app .sp-mod-num{position:relative;z-index:1;width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;font-family:var(--f-display);font-size:17px;background:var(--v);color:#0b0b0d;box-shadow:0 0 20px -6px var(--v)}.hn-app .sp-mod-num.done{background:var(--ok);box-shadow:0 0 20px -6px var(--ok)}.hn-app .sp-room{display:flex;align-items:center;gap:13px;padding:13px 18px;text-decoration:none;border-bottom:1px solid var(--border-soft);transition:background .14s,padding-left .14s}.hn-app .sp-room:last-child{border-bottom:none}.hn-app .sp-room:hover{background:var(--panel-2);padding-left:22px}.hn-app .sp-room .st{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--border);color:var(--text-3);font-family:var(--f-mono);font-size:11.5px;font-weight:800}.hn-app .sp-room.done .st{background:color-mix(in srgb,var(--ok) 13%,var(--panel));border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}.hn-app .sp-room.next .st{background:color-mix(in srgb,var(--v) 13%,var(--panel));border-color:color-mix(in srgb,var(--v) 48%,transparent);color:var(--v);box-shadow:0 0 14px -4px var(--v)}.hn-app .sp-room.lock{opacity:.55}.hn-app .sp-room.lock:hover{padding-left:18px}.hn-app .sp-ring-n{font-family:var(--f-display);font-size:30px;line-height:1;color:var(--text)}.hn-app .sp-card.sm .sp-card-title{font-size:19px}.hn-app .sp-card.sm .sp-card-media{aspect-ratio:16/7.6}.hn-app .sp-card.sm .sp-card-body{padding:14px 16px 16px;gap:8px;margin-top:-10px}.hn-app .sp-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.hn-app .sp-count{font-family:var(--f-mono);font-size:11px;color:var(--text-3);white-space:nowrap}.hn-app .sp-seg{display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);flex:none;overflow-x:auto;scrollbar-width:none}.hn-app .sp-seg::-webkit-scrollbar{display:none}.hn-app .sp-seg button{padding:6px 12px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-2);font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:.15s;white-space:nowrap}.hn-app .sp-seg button:hover{color:var(--text)}.hn-app .sp-seg button.on{color:var(--text);background:color-mix(in srgb,var(--v) 13%,var(--panel));border-color:color-mix(in srgb,var(--v) 36%,transparent)}.hn-app .sp-lockov{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(3px)}.hn-app .sp-pathrow{display:flex;align-items:center;gap:14px;padding:14px 18px;text-decoration:none;background:linear-gradient(90deg,color-mix(in srgb,var(--v) 3%,transparent),transparent 45%);border-bottom:1px solid var(--border-soft);transition:background .15s}.hn-app .sp-pathrow:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--v) 6%,transparent),var(--panel-2) 60%)}.hn-app .sp-pathrow .thumb{width:44px;height:44px;border-radius:11px;overflow:hidden;flex:none;display:grid;place-items:center;background:var(--panel-3);border:1px solid var(--border)}.hn-app .sp-pathrow .thumb img{width:100%;height:100%;object-fit:cover}.hn-app .sp-pathrow .nm{font-family:var(--f-display);font-size:18px;letter-spacing:.03em;text-transform:uppercase;color:var(--text);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hn-app .sp-mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:12px 16px 15px}.hn-app .sp-mchip{display:flex;gap:10px;align-items:center;padding:9px 11px;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);text-decoration:none;transition:.15s}.hn-app .sp-mchip:hover{border-color:color-mix(in srgb,var(--v) 36%,var(--border));background:var(--panel-3);transform:translateY(-1px)}.hn-app .sp-mchip .num{width:26px;height:26px;flex:none;border-radius:7px;display:grid;place-items:center;font-family:var(--f-display);font-size:13px;background:color-mix(in srgb,var(--mc,var(--v)) 13%,transparent);border:1px solid color-mix(in srgb,var(--mc,var(--v)) 26%,transparent);color:var(--mc,var(--v))}.hn-app .sp-mchip.done{border-color:color-mix(in srgb,var(--ok) 36%,var(--border))}.hn-app .sp-mchip.done .num{background:color-mix(in srgb,var(--ok) 13%,transparent);border-color:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ok)}.hn-app .sp-card.course:hover{border-color:color-mix(in srgb,var(--ok) 40%,var(--border));box-shadow:0 16px 38px -22px color-mix(in srgb,var(--ok) 55%,transparent)}.hn-app .sp-hero:before,.hn-app .sp-mission:before,.hn-app .sp-mod:before,.hn-app .sp-phero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E")}.hn-app .sp-mission,.hn-app .sp-mod{position:relative}@property --bb{syntax:"<angle>";inherits:false;initial-value:0deg}.hn-app .sp-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--bb),transparent 0turn .66turn,color-mix(in srgb,var(--v) 75%,transparent) .82turn,transparent .96turn);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .25s;pointer-events:none;z-index:2}.hn-app .sp-card:hover:before{opacity:1;animation:bbSpin 2.6s linear infinite}.hn-app .sp-card.course:before{background:conic-gradient(from var(--bb),transparent 0turn .66turn,color-mix(in srgb,var(--ok) 70%,transparent) .82turn,transparent .96turn)}@keyframes bbSpin{to{--bb:360deg}}@media (prefers-reduced-motion:reduce){.hn-app .sp-card:hover:before{animation:none}}.hn-app .sp-metal{background:linear-gradient(180deg,#ffffff 42%,#9e9ea8);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.hn-app .sp-phero-title.sp-metal{text-shadow:none}@supports (animation-timeline:view()){.hn-app .rmp-item{animation:rmpReveal .6s ease both;animation-timeline:view();animation-range:entry 0 entry 40%}.hn-app .rmp-gate{animation:rmpReveal .5s ease both;animation-timeline:view();animation-range:entry 0 entry 55%}@keyframes rmpReveal{0%{opacity:.2;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hn-app .rmp-gate,.hn-app .rmp-item{animation:none}}}.hn-app .sp-spy{display:flex;flex-direction:column;gap:2px}.hn-app .sp-spy button{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--text-2);font-size:12px;text-align:left;transition:.14s;min-width:0}.hn-app .sp-spy button:hover{background:var(--panel-2);color:var(--text)}.hn-app .sp-spy button.on{background:color-mix(in srgb,var(--v) 8%,var(--panel-2));border-color:color-mix(in srgb,var(--v) 28%,transparent);color:var(--text)}.hn-app .sp-spy .n{width:20px;height:20px;border-radius:6px;flex:none;display:grid;place-items:center;font-family:var(--f-display);font-size:11px;background:var(--panel-3);color:var(--text-3)}.hn-app .sp-spy button.on .n{background:color-mix(in srgb,var(--v) 14%,transparent);color:var(--v)}.hn-app .sp-spy .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-fab{position:fixed;left:50%;transform:translate(-50%,90px);bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:90;display:inline-flex;align-items:center;gap:10px;padding:10px 20px 10px 14px;border-radius:999px;background:linear-gradient(180deg,rgba(40,20,25,.97),rgba(23,13,16,.97));border:1px solid rgba(255,45,85,.5);color:#fff;font-weight:800;font-size:13.5px;line-height:1.3;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 32px -10px rgba(0,0,0,.7),0 0 26px -10px rgba(255,45,85,.75);opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.3,.9,.3,1),opacity .26s ease}.sp-fab.show{transform:translate(-50%);opacity:1;pointer-events:auto}.sp-fab .sub{display:block;font-size:10px;font-weight:600;opacity:.72}@media (min-width:769px){.sp-fab{display:none}}@media (prefers-reduced-motion:reduce){.sp-fab{transition:opacity .2s ease;transform:translate(-50%)}}.sp-fab:focus-visible{outline:2px solid #fff;outline-offset:2px}.hn-app .rmp-card:focus-visible,.hn-app .sp-card:focus-visible,.hn-app .sp-mchip:focus-visible,.hn-app .sp-pathrow:focus-visible,.hn-app .sp-room:focus-visible,.hn-app .sp-seg button:focus-visible,.hn-app .sp-spy button:focus-visible,.hn-app .sp-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--v) 70%,#fff);outline-offset:2px}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.16s}::view-transition-new(root){animation-duration:.22s}}