:root{--bg: #0a1413;--bg-2: #0c1817;--surface: #102220;--surface-2: #15302c;--surface-3: #1c3b36;--line: #234440;--line-soft: #18302c;--text: #ecf4f2;--text-dim: #a9c4bf;--muted: #6e8c87;--faint: #4f6964;--teal: #1a9490;--teal-bright: #2ad0c3;--teal-deep: #0e5a56;--teal-glow: rgba(42, 208, 195, .22);--red: #c92a2a;--red-bright: #ff5d54;--amber: #e0a93a;--blue: #4f93e6;--violet: #7c3aed;--violet-bright: #a855f7;--violet-deep: #4c1d95;--violet-soft: #9a7ce0;--violet-glow: rgba(168, 85, 247, .22);--green: #2fb37e;--gold: #f2c14e;--st-locked: #5c7672;--st-available: var(--teal-bright);--st-progress: var(--amber);--st-submitted: var(--blue);--st-completed: var(--green);--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--shadow-1: 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 8px 28px rgba(0,0,0,.45);--shadow-glow: 0 0 0 1px var(--teal-glow), 0 0 28px -6px var(--teal-glow);--ff-display: "Space Grotesk", system-ui, sans-serif;--ff-body: "Hanken Grotesk", system-ui, sans-serif;--ff-mono: "JetBrains Mono", ui-monospace, monospace;--ff-retro: "VT323", "JetBrains Mono", monospace;--maxw: 1080px}*{box-sizing:border-box}html{color-scheme:dark}html,body{margin:0;padding:0}body{font-family:var(--ff-body);background:var(--bg);color:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;margin:0;line-height:1.15;letter-spacing:-.01em}p{margin:0}a{color:var(--teal-bright);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font-family:inherit}::selection{background:var(--teal-glow);color:#fff}.app-bg{position:relative;min-height:100vh;background:radial-gradient(1200px 600px at 80% -10%,rgba(26,148,144,.1),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(201,42,42,.06),transparent 55%),var(--bg)}.app-bg:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 75%);mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 75%)}.mono{font-family:var(--ff-mono)}.retro{font-family:var(--ff-retro);letter-spacing:.04em}.kbd-label{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:12px}.row-wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.spacer{flex:1}.grid{display:grid;gap:16px}.btn{--bg-btn: var(--surface-2);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ff-display);font-weight:600;font-size:14.5px;line-height:1;letter-spacing:.005em;padding:11px 18px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-btn);color:var(--text);cursor:pointer;transition:transform .12s ease,background .15s,border-color .15s,box-shadow .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover{transform:translateY(-1px);border-color:var(--teal-deep)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn svg{width:17px;height:17px}.btn-primary{background:linear-gradient(180deg,#1fb0a8,var(--teal));border-color:#2bc4ba;color:#04201e;box-shadow:0 6px 18px -8px var(--teal-glow)}.btn-primary:hover{border-color:var(--teal-bright);box-shadow:0 10px 26px -8px var(--teal-glow)}.btn-danger{background:linear-gradient(180deg,#d8362f,var(--red));border-color:#e2554d;color:#fff}.btn-danger:hover{border-color:var(--red-bright)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-outline{background:transparent;border-color:var(--teal-deep);color:var(--teal-bright)}.btn-outline:hover{background:#2ad0c312}.btn-sm{padding:8px 12px;font-size:13px;border-radius:8px}.btn-sm svg{width:15px;height:15px}.btn-lg{padding:14px 24px;font-size:16px}.btn-block{width:100%}.btn-icon{padding:9px}.btn-icon svg{width:18px;height:18px}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);position:relative}.card-pad{padding:22px}.card-hover{transition:border-color .15s,transform .15s,box-shadow .15s}.card-hover:hover{border-color:var(--teal-deep);transform:translateY(-2px);box-shadow:var(--shadow-2)}.panel-head{display:flex;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid var(--line-soft)}.panel-head h3{font-size:16px}.win{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-2)}.win-bar{display:flex;align-items:center;gap:8px;padding:9px 12px;background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border-bottom:1px solid var(--line)}.win-bar.teal{background:linear-gradient(180deg,#156e69,#0f5853);border-bottom-color:#0a3c39}.win-bar.red{background:linear-gradient(180deg,#b13030,#8d2020);border-bottom-color:#6e1717}.win-title{font-family:var(--ff-mono);font-size:12.5px;font-weight:600;letter-spacing:.03em;color:#eaf4f2;display:flex;align-items:center;gap:8px}.win-bar.red .win-title,.win-bar.teal .win-title{color:#fff}.win-dots{margin-left:auto;display:flex;gap:6px}.win-dot{width:11px;height:11px;border-radius:3px;border:1px solid rgba(0,0,0,.25);background:#ffffff59}.win-dot.r{background:#ff6b5e}.win-dot.y{background:#f2c14e}.win-dot.g{background:#4fd06a}.win-body{padding:18px}.scanlines{position:relative}.scanlines:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.1) 3px,rgba(0,0,0,.1) 4px)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;font-family:var(--ff-display);padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--text-dim);background:var(--surface-2);letter-spacing:.01em;white-space:nowrap}.badge svg{width:13px;height:13px}.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.badge-locked{color:var(--st-locked);border-color:#2c4641;background:#5c76721a}.badge-available{color:var(--st-available);border-color:#2ad0c359;background:#2ad0c31a}.badge-progress{color:var(--st-progress);border-color:#e0a93a59;background:#e0a93a1a}.badge-submitted{color:var(--st-submitted);border-color:#4f93e659;background:#4f93e61a}.badge-completed{color:var(--st-completed);border-color:#2fb37e66;background:#2fb37e1f}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:13px;font-weight:600;color:var(--text-dim);font-family:var(--ff-display)}.field .hint{font-size:12.5px;color:var(--muted)}.input,.textarea{width:100%;padding:12px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-size:15px;transition:border-color .15s,box-shadow .15s;outline:none}.input::placeholder,.textarea::placeholder{color:var(--faint)}.input:focus,.textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-glow)}.textarea{resize:vertical;min-height:92px;line-height:1.5}.input-mono{font-family:var(--ff-mono);letter-spacing:.02em}.input.err,.textarea.err{border-color:var(--red-bright);box-shadow:0 0 0 3px #ff5d5426}.input-affix{position:relative;display:flex;align-items:center}.input-affix .affix{position:absolute;left:14px;font-family:var(--ff-mono);color:var(--teal-bright);font-size:14px;pointer-events:none}.input-affix .input{padding-left:56px}.err-text{color:var(--red-bright);font-size:13px;display:flex;align-items:center;gap:6px}.ok-text{color:var(--st-completed);font-size:13px;display:flex;align-items:center;gap:6px}.progress{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line-soft)}.progress>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--teal-bright));transition:width .6s cubic-bezier(.4,0,.2,1)}.progress.green>i{background:linear-gradient(90deg,#1e8f63,var(--green))}.divider{height:1px;background:var(--line-soft);border:0;margin:0}.avatar{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;font-family:var(--ff-display);font-weight:700;font-size:15px;color:#04201e;background:linear-gradient(140deg,var(--teal-bright),var(--teal))}.avatar.sm{width:30px;height:30px;border-radius:9px;font-size:12.5px}.avatar.lg{width:52px;height:52px;border-radius:15px;font-size:20px}.avatar.red{background:linear-gradient(140deg,#e2554d,var(--red));color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;padding:5px 10px}.chip svg{width:14px;height:14px;color:var(--muted)}.path-link{font-family:var(--ff-mono);font-size:13px;color:var(--teal-bright);display:inline-flex;align-items:center;gap:7px;word-break:break-all}.toast-wrap{position:fixed;z-index:4000;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--teal-bright);padding:12px 16px;border-radius:10px;box-shadow:var(--shadow-2);font-size:14px;min-width:240px;max-width:360px;animation:toastIn .25s ease}.toast.success{border-left-color:var(--green)}.toast.error{border-left-color:var(--red-bright)}.toast svg{width:18px;height:18px;flex-shrink:0}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty .ic{width:52px;height:52px;margin:0 auto 14px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-soft);color:var(--faint)}.empty .ic svg{width:24px;height:24px}.empty h4{color:var(--text-dim);font-size:16px;margin-bottom:6px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--teal-bright);animation:spin .7s linear infinite}.spinner.lg{width:34px;height:34px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:8px;border:3px solid var(--bg)}*::-webkit-scrollbar-track{background:transparent}.t-dim{color:var(--text-dim)}.t-muted{color:var(--muted)}.t-sm{font-size:13px}.t-xs{font-size:12px}.t-center{text-align:center}.fw-600{font-weight:600}.fw-700{font-weight:700}.u-mt-4{margin-top:4px}.u-mt-8{margin-top:8px}.u-mt-12{margin-top:12px}.u-mt-16{margin-top:16px}.u-mt-24{margin-top:24px}.nowrap{white-space:nowrap}.journey{position:relative}.journey-row{display:grid;grid-template-columns:1fr 60px 1fr;align-items:stretch}.journey-rail{grid-column:2;align-self:stretch;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}.journey-conn{width:3px;flex:1;min-height:38px;margin:7px 0;border-radius:3px;background:var(--line)}.journey-card{grid-column:1;align-self:center;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;margin:6px 0}.journey-row.right .journey-card{grid-column:3}.journey-card:hover:not(.locked){border-color:var(--teal-deep);transform:translateY(-2px);box-shadow:var(--shadow-2)}.journey-card.locked{opacity:.58;cursor:not-allowed}.journey-card:disabled{background:var(--surface)}@keyframes pulseRing{0%{opacity:.9;transform:scale(1)}70%{opacity:0;transform:scale(1.25)}to{opacity:0;transform:scale(1.25)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:shake .4s ease}.device-frame.mobile{max-width:430px;margin:22px auto;height:calc(100vh - 44px);overflow:hidden auto;border-radius:40px;border:11px solid #14201e;outline:1px solid #2a3d3a;box-shadow:0 40px 90px #0009,inset 0 0 0 2px #0a1413;position:relative}.device-frame.mobile::-webkit-scrollbar{width:0}.hide-mobile{display:revert}.student-nav-mobile,.force-mobile .hide-mobile,.force-mobile .student-nav{display:none!important}.force-mobile .student-nav-mobile{display:flex!important;flex-wrap:wrap}.force-mobile .journey-row{grid-template-columns:54px 1fr}.force-mobile .journey-rail{grid-column:1}.force-mobile .journey-card,.force-mobile .journey-row.right .journey-card{grid-column:2;align-self:center}.force-mobile .nextstep-grid{grid-template-columns:auto 1fr!important}.force-mobile .nextstep-cta{grid-column:1 / -1;justify-content:center}.force-mobile .dash-stats{grid-template-columns:1fr 1fr!important}.force-mobile .dash-cols{grid-template-columns:1fr!important}.force-mobile .trilha-head{flex-direction:column;align-items:stretch}.force-mobile .sub-grid{grid-template-columns:1fr!important}.force-mobile .phase-tabs{overflow-x:auto}@media(max-width:880px){:root{--maxw: 920px}.hide-mobile,.student-nav{display:none!important}.student-nav-mobile{display:flex!important;flex-wrap:wrap}.journey-row{grid-template-columns:54px 1fr}.journey-rail{grid-column:1}.journey-card,.journey-row.right .journey-card{grid-column:2;align-self:center}.nextstep-grid{grid-template-columns:auto 1fr!important}.nextstep-cta{grid-column:1 / -1;justify-content:center}.dash-stats{grid-template-columns:1fr 1fr!important}.dash-cols{grid-template-columns:1fr!important}.trilha-head{flex-direction:column;align-items:stretch}.login-aside{display:none!important}.app-bg[style*=grid],.sub-grid{grid-template-columns:1fr!important}.phase-tabs{overflow-x:auto;white-space:nowrap}}.force-mobile .login-aside{display:none!important}.force-mobile .login-split{grid-template-columns:1fr!important}@media(max-width:560px){:root{--maxw: 100%}.container{padding:0 16px}.notas-row{grid-template-columns:auto 1fr!important}.notas-row>.t-center{grid-column:1 / -1;justify-self:start}}.cat-wrap{max-width:var(--maxw);margin:0 auto;padding:32px 24px 80px}.cat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:26px}.cat-head .greet{min-width:0}.cat-head h1{font-size:30px;margin-bottom:6px}.cat-head h1 .accent{color:var(--violet-bright)}.cat-progress{min-width:270px;background:linear-gradient(150deg,rgba(124,58,237,.14),var(--surface) 65%);border:1px solid rgba(124,58,237,.3);border-radius:var(--radius);padding:18px}.cat-progress .row{justify-content:space-between;margin-bottom:10px}.cat-progress .pct{font-family:var(--ff-display);font-weight:700;font-size:20px;color:var(--violet-bright)}.cat-progress-bar{height:9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden;margin-bottom:12px}.cat-progress-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--violet-bright));box-shadow:0 0 12px -2px var(--violet-glow);transition:width .6s cubic-bezier(.4,0,.2,1)}.cat-module-head{display:flex;align-items:center;gap:14px;margin:34px 0 16px}.cat-module-head:first-of-type{margin-top:8px}.cat-module-head .ic{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;color:#f3eafe;background:linear-gradient(145deg,var(--violet),var(--violet-deep));border:1px solid rgba(168,85,247,.5);box-shadow:0 0 16px -6px var(--violet-glow)}.cat-module-head .ic svg{width:18px;height:18px}.cat-module-head h2{font-size:19px;line-height:1.1}.cat-module-head .sub{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px}.cat-module-head .rule{flex:1;height:1px;background:var(--line)}.cat-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.cat-card{text-align:left;width:100%;padding:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:border-color .16s,transform .16s,box-shadow .2s}.cat-card:hover:not(.is-locked){border-color:var(--violet);transform:translateY(-3px);box-shadow:0 16px 40px -16px #7c3aed80,var(--shadow-2)}.cat-card.is-locked{opacity:.6;cursor:not-allowed}.cat-card:disabled{background:var(--surface)}.cat-cover{position:relative;height:116px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--violet-deep) 0%,#2a1056 55%,#160a2e 100%)}.cat-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;background-image:linear-gradient(rgba(168,85,247,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.16) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(120% 90% at 80% 10%,#000 10%,transparent 75%);mask-image:radial-gradient(120% 90% at 80% 10%,#000 10%,transparent 75%)}.cat-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(150px 90px at 18% 100%,rgba(168,85,247,.32),transparent 70%)}.cat-cover .cover-ic{position:relative;z-index:1;color:#e9d8ff;filter:drop-shadow(0 0 14px rgba(168,85,247,.55))}.cat-card:hover:not(.is-locked) .cat-cover .cover-ic{color:#fff}.cat-cover .cover-fnum{position:absolute;right:14px;bottom:8px;z-index:1;font-family:var(--ff-retro);font-size:40px;line-height:1;color:#e9d8ff52;letter-spacing:.04em}.cat-badge{position:absolute;top:11px;left:11px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-display);font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:999px;border:1px solid;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cat-badge svg{width:12px;height:12px}.cat-badge.completed{color:#6ff0bd;border-color:#2fb37e99;background:#0d281eb3}.cat-badge.progress{color:#d8b6ff;border-color:#a855f799;background:#230f3cb3}.cat-badge.submitted{color:#acf;border-color:#4f93e699;background:#0d1c32b3}.cat-badge.available{color:#8df0e6;border-color:#2ad0c38c;background:#081e1cb3}.cat-badge.locked{color:#b8c9c6;border-color:#5c767280;background:#0f1918b3}.cat-badge.maint{color:#f0d28a;border-color:#f2c14e8c;background:#28200cb8}.cat-body{padding:16px 17px 17px;display:flex;flex-direction:column;flex:1}.cat-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}.cat-tag{font-family:var(--ff-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;color:var(--violet-bright);background:#7c3aed1f;border:1px solid rgba(124,58,237,.3)}.cat-tag.module{color:var(--text-dim);background:var(--surface-2);border-color:var(--line)}.cat-card-title{font-size:16.5px;line-height:1.25;margin-bottom:7px}.cat-card-desc{font-size:13px;color:var(--text-dim);line-height:1.5;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cat-meta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;margin-top:auto}.cat-meta .stat{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.cat-meta .stat svg{width:14px;height:14px}.cat-meta .stat.done{color:var(--green)}.cat-marco{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 11px;border-radius:9px;border:1px dashed rgba(242,193,78,.4);background:#f2c14e0f}.cat-marco svg{width:14px;height:14px;color:var(--gold);flex-shrink:0}.cat-marco span{font-size:11.5px;font-weight:600;color:var(--gold);line-height:1.35}.cat-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 14px;border-radius:var(--radius-sm);font-family:var(--ff-display);font-weight:600;font-size:14px;cursor:pointer;transition:transform .12s,box-shadow .15s,background .15s;border:1px solid}.cat-cta svg{width:16px;height:16px}.cat-cta.go{color:#f5efff;border-color:#8b4fe8;background:linear-gradient(180deg,var(--violet-bright),var(--violet));box-shadow:0 8px 20px -10px var(--violet-glow)}.cat-card:hover .cat-cta.go{box-shadow:0 12px 28px -10px var(--violet-glow)}.cat-cta.review{color:var(--green);border-color:#2fb37e73;background:#2fb37e14}.cat-cta.review:hover{background:#2fb37e24}.cat-cta.locked{color:var(--st-locked);border-color:var(--line);background:var(--surface-2);cursor:not-allowed}.cat-cta.maint{color:var(--gold);border-color:#f2c14e66;background:#f2c14e14;cursor:not-allowed}.cat-cta .nota{margin-left:4px;opacity:.85}.path-hero{display:grid;grid-template-columns:180px 1fr 280px;gap:24px;background:var(--ops-surface);border:1px solid var(--ops-line);overflow:hidden;align-items:stretch}.path-hero-cover{position:relative;display:grid;place-items:center;background:linear-gradient(150deg,var(--violet-deep) 0%,#2a1056 55%,#120826 100%)}.path-hero-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;background-image:linear-gradient(rgba(168,85,247,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.18) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(120% 90% at 70% 20%,#000 10%,transparent 78%);mask-image:radial-gradient(120% 90% at 70% 20%,#000 10%,transparent 78%)}.path-hero-cover .fnum{position:relative;z-index:1;text-align:center;font-family:var(--ff-retro);color:#e9d8ff;text-shadow:0 0 22px rgba(168,85,247,.6)}.path-hero-cover .fnum .n{font-size:84px;line-height:.85;letter-spacing:.02em}.path-hero-cover .fnum .lbl{display:block;font-family:var(--ff-mono);font-size:11px;letter-spacing:.26em;color:#b794e8;margin-top:8px;text-shadow:none}.path-hero-cover .cover-ic{position:absolute;right:12px;bottom:12px;z-index:1;color:#e9d8ff73}.path-hero-meta{padding:24px 8px 24px 0;min-width:0;display:flex;flex-direction:column;justify-content:center}.path-hero-meta h1{font-family:var(--ff-retro);font-size:38px;line-height:1.02;color:var(--ops-text);text-shadow:0 0 16px rgba(168,85,247,.22);margin-bottom:12px}.path-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.path-tag{font-family:var(--ff-mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border:1px solid rgba(168,85,247,.4);color:#d8b6ff;background:#7c3aed1f}.path-tag.module{color:var(--ops-text);border-color:var(--ops-line-strong);background:var(--ops-surface-2)}.path-tag.status-completed{color:#6ff0bd;border-color:#2fb37e8c;background:#2fb37e1a}.path-tag.status-progress{color:var(--ops-amber);border-color:#e0a93a73;background:#e0a93a1a}.path-hero-meta p{font-family:var(--ff-mono);font-size:13px;line-height:1.65;color:var(--ops-text);opacity:.85;max-width:560px}.path-summary{padding:20px 22px;border-left:1px solid var(--ops-line);background:#7c3aed0d;font-family:JetBrains Mono,monospace}.path-summary .head{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--violet-bright);margin-bottom:12px}.path-summary ol{margin:0;padding:0;list-style:none;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.path-summary li{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--ops-muted);line-height:1.35}.path-summary li .mk{color:var(--ops-line-strong);flex-shrink:0;line-height:1.35}.path-summary li.done,.path-summary li.done .mk{color:var(--ops-green)}.path-summary li .nm{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.path-progress{display:flex;align-items:center;gap:16px;margin-top:16px;padding:14px 18px;background:var(--ops-surface);border:1px solid var(--ops-line)}.path-progress .pct{font-family:var(--ff-retro);font-size:40px;line-height:1;color:var(--violet-bright);text-shadow:0 0 14px rgba(168,85,247,.45)}.path-progress .bar{flex:1;height:9px;background:var(--ops-surface-2);border:1px solid var(--ops-line);position:relative;overflow:hidden}.path-progress .bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--violet-bright));box-shadow:0 0 10px #a855f799;transition:width .6s ease}.path-progress .lbl{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ops-muted);white-space:nowrap}.path-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.path-counter{background:var(--ops-surface);border:1px solid var(--ops-line);padding:18px 20px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}.path-counter:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(140px 70px at 100% 0%,rgba(168,85,247,.1),transparent 70%)}.path-counter .ic{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--ops-line-strong);color:var(--violet-bright);background:#7c3aed1a}.path-counter .ic svg{width:20px;height:20px}.path-counter .num{font-family:var(--ff-retro);font-size:34px;line-height:1;color:var(--ops-text);letter-spacing:.03em}.path-counter .num .sep{color:var(--ops-muted);margin:0 2px}.path-counter .num .of{font-size:22px;color:var(--ops-muted)}.path-counter .lbl{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ops-muted);margin-top:5px}.study-etapa-ic{display:grid;place-items:center;width:64px;height:44px;color:var(--ops-teal);position:relative}.study-etapa-ic svg{width:24px;height:24px}.study-etapa-ic .code{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--ops-muted);margin-top:3px}.study-etapa.is-done .study-etapa-ic{color:var(--ops-green)}.study-etapa.is-current .study-etapa-ic{color:var(--ops-amber)}.study-etapa.is-done .study-etapa-ic .code,.study-etapa.is-current .study-etapa-ic .code{color:inherit;opacity:.8}.hub-wrap{max-width:var(--maxw);margin:0 auto;padding:32px 24px 80px}.hub-head{margin-bottom:8px}.hub-head h1{font-size:32px;margin-bottom:6px}.hub-head h1 .accent{color:var(--teal-bright)}.hub-section-head{display:flex;align-items:center;gap:14px;margin:32px 0 16px}.hub-section-head .lbl{font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.hub-section-head .rule{flex:1;height:1px;background:var(--line)}.hub-search{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:9px;padding:6px 10px;min-width:240px;transition:border-color .15s}.hub-search:focus-within{border-color:var(--teal)}.hub-search>svg{width:15px;height:15px;color:var(--muted);flex-shrink:0}.hub-search input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text);font-family:var(--ff-body);font-size:13px}.hub-search input::placeholder{color:var(--faint)}.hub-search .clr{display:grid;place-items:center;background:transparent;border:0;cursor:pointer;color:var(--muted);padding:0;flex-shrink:0}.hub-search .clr:hover{color:var(--teal-bright)}.hub-domain{margin-bottom:26px}.hub-domain-head{display:flex;align-items:center;gap:10px;margin:22px 0 14px}.hub-domain-head .dot{width:8px;height:8px;border-radius:999px;background:var(--teal);box-shadow:0 0 10px -1px var(--teal-glow);flex-shrink:0}.hub-domain-head h2{font-size:18px;margin:0}.hub-domain-head .cnt{font-family:var(--ff-mono);font-size:11px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:999px;padding:1px 8px}@media(max-width:620px){.hub-section-head:has(.hub-search){flex-wrap:wrap}.hub-search{min-width:0;width:100%}}.hub-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;background:transparent;border:1px solid var(--line-soft);border-radius:9px;padding:7px 13px;cursor:pointer;color:var(--text-dim);font-family:var(--ff-display);font-weight:600;font-size:13.5px;transition:border-color .15s,color .15s}.hub-back:hover{border-color:var(--teal);color:var(--teal-bright)}.hub-back svg{width:15px;height:15px}.hub-foundation{display:grid;grid-template-columns:210px 1fr 190px;gap:0;align-items:stretch;width:100%;text-align:left;cursor:pointer;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color .16s,transform .16s,box-shadow .2s}.hub-foundation:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 18px 44px -18px #1a94908c,var(--shadow-2)}.hub-foundation .cover{position:relative;min-height:158px;display:grid;place-items:center;background:linear-gradient(150deg,#0e5a56,#093d3a 58%,#061d1b)}.hub-foundation .cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;background-image:linear-gradient(rgba(42,208,195,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(42,208,195,.16) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(120% 90% at 75% 15%,#000 10%,transparent 76%);mask-image:radial-gradient(120% 90% at 75% 15%,#000 10%,transparent 76%)}.hub-foundation .cover .ic{position:relative;z-index:1;color:#c9fff6;filter:drop-shadow(0 0 16px rgba(42,208,195,.55))}.hub-foundation .cover .tag{position:absolute;left:14px;bottom:12px;z-index:1;font-family:var(--ff-retro);font-size:30px;line-height:1;color:#c9fff673;letter-spacing:.05em}.hub-foundation .body{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;min-width:0}.hub-foundation .body h2{font-size:22px;margin-bottom:6px}.hub-foundation .body>p{font-size:13.5px;color:var(--text-dim);line-height:1.5;margin-bottom:14px;max-width:540px}.hub-foundation .fbar{height:8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden;margin-bottom:10px;max-width:540px}.hub-foundation .fbar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--teal-bright));box-shadow:0 0 12px -2px var(--teal-glow)}.hub-foundation .fmeta{display:flex;gap:16px;flex-wrap:wrap}.hub-foundation .fmeta .stat{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.hub-foundation .fmeta .stat svg{width:14px;height:14px}.hub-foundation .go{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-left:1px solid var(--line-soft);background:#1a94900d;padding:20px}.hub-foundation .go .pct{font-family:var(--ff-retro);font-size:46px;line-height:1;color:var(--teal-bright);text-shadow:0 0 16px rgba(42,208,195,.45)}.hub-foundation .go .cta{display:inline-flex;align-items:center;gap:7px;font-family:var(--ff-display);font-weight:600;font-size:14px;color:var(--teal-bright)}.hub-foundation .go .cta svg{width:16px;height:16px}.hub-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.hub-card{text-align:left;width:100%;padding:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:border-color .16s,transform .16s,box-shadow .2s}.hub-card:hover{border-color:var(--ac);transform:translateY(-3px);box-shadow:0 16px 40px -16px color-mix(in srgb,var(--ac) 55%,transparent),var(--shadow-2)}.hub-card .cover{position:relative;height:104px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(150px 90px at 80% 0%,color-mix(in srgb,var(--ac) 38%,transparent),transparent 70%),linear-gradient(150deg,color-mix(in srgb,var(--ac) 34%,#0c1817) 0%,var(--surface) 75%)}.hub-card .cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.45;background-image:linear-gradient(color-mix(in srgb,var(--ac) 30%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ac) 30%,transparent) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(120% 90% at 80% 10%,#000 10%,transparent 78%);mask-image:radial-gradient(120% 90% at 80% 10%,#000 10%,transparent 78%)}.hub-card .cover .ic{position:relative;z-index:1;color:#fff;filter:drop-shadow(0 0 14px var(--ac))}.hub-card .cover .state{position:absolute;top:11px;right:11px;z-index:2;font-family:var(--ff-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;color:#d8c79a;border:1px solid rgba(242,193,78,.45);background:#28200cb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hub-card .cover .state.on{color:#6ff0bd;border-color:#2fb37e99;background:#0d281eb8}.hub-card .meta .done{color:var(--green)}.hub-card .body{padding:16px 17px 17px;display:flex;flex-direction:column;flex:1}.hub-card .body h3{font-size:17px;margin-bottom:5px}.hub-card .body>p{font-size:13px;color:var(--text-dim);line-height:1.45;margin-bottom:13px}.hub-card .certs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.hub-card .certs .cert{font-family:var(--ff-mono);font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:6px;color:var(--ac);background:color-mix(in srgb,var(--ac) 14%,transparent);border:1px solid color-mix(in srgb,var(--ac) 38%,transparent)}.hub-card .meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:auto}.hub-card .meta span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.hub-card .meta span svg{width:13px;height:13px}.force-mobile .hub-grid{grid-template-columns:1fr!important}.force-mobile .hub-foundation{grid-template-columns:1fr}.force-mobile .hub-foundation .go{border-left:0;border-top:1px solid var(--line-soft);flex-direction:row}@media(max-width:980px){.hub-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.hub-grid,.hub-foundation{grid-template-columns:1fr}.hub-foundation .go{border-left:0;border-top:1px solid var(--line-soft);flex-direction:row;justify-content:space-between}}@media(max-width:980px){.cat-grid{grid-template-columns:repeat(2,1fr)}}.force-mobile .cat-grid{grid-template-columns:1fr!important}.force-mobile .cat-head{flex-direction:column;align-items:stretch}.force-mobile .path-hero{grid-template-columns:1fr}.force-mobile .path-summary{border-left:0;border-top:1px solid var(--ops-line)}.force-mobile .path-counters{grid-template-columns:1fr}@media(max-width:880px){.cat-head{flex-direction:column;align-items:stretch}}@media(max-width:720px){.cat-grid{grid-template-columns:1fr}.cat-wrap{padding:24px 16px 70px}.path-hero{grid-template-columns:1fr}.path-hero-cover{height:130px}.path-summary{border-left:0;border-top:1px solid var(--ops-line)}.path-counters{grid-template-columns:1fr}.path-hero-meta{padding:18px}}.adm-wrap{max-width:var(--maxw);margin:0 auto;padding:30px 24px 70px}.adm-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}.adm-hero h1{font-size:28px;margin-bottom:5px}.adm-hero h1 .accent{color:var(--teal-bright)}.adm-hero .kbd-label{color:var(--red-bright)}.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.adm-stat{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px 18px 17px;transition:border-color .16s,transform .16s,box-shadow .2s}.adm-stat:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(150px 80px at 100% 0%,color-mix(in srgb,var(--ac, var(--teal)) 16%,transparent),transparent 70%)}.adm-stat:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ac, var(--teal)) 55%,transparent);box-shadow:0 14px 34px -18px color-mix(in srgb,var(--ac, var(--teal)) 60%,transparent)}.adm-stat .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.adm-stat .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;color:var(--ac, var(--teal-bright));border:1px solid color-mix(in srgb,var(--ac, var(--teal)) 38%,transparent);background:color-mix(in srgb,var(--ac, var(--teal)) 12%,transparent)}.adm-stat .ic svg{width:17px;height:17px}.adm-stat .lbl{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.adm-stat .val{font-family:var(--ff-display);font-weight:700;font-size:33px;line-height:1;color:var(--ac, var(--text))}.adm-stat .sub{font-size:11.5px;color:var(--muted);margin-top:5px}.adm-flag{font-family:var(--ff-mono);font-size:11px;color:var(--teal-bright);background:#1a94901a;border:1px solid var(--teal-deep);border-radius:6px;padding:2px 7px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:880px){.adm-stats{grid-template-columns:repeat(2,1fr)}}.force-mobile .adm-stats{grid-template-columns:1fr!important}@media(max-width:560px){.adm-stats{grid-template-columns:1fr}}.md{line-height:1.65;color:var(--text)}.md h1{font-family:var(--ff-display);font-size:1.5rem;margin:0 0 .4em}.md h2{font-family:var(--ff-display);font-size:1.2rem;margin-top:1.2em}.md h3{font-size:1.05rem;margin-top:1em}.md p,.md li{color:var(--text-dim)}.md code{background:var(--bg-2);padding:2px 6px;border-radius:6px;border:1px solid var(--line);font-family:var(--ff-mono);font-size:.9em;color:var(--teal-bright)}.md pre{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:14px;overflow:auto}.md pre code{border:0;padding:0;color:var(--text)}.md table{border-collapse:collapse;margin:.6em 0}.md th,.md td{border:1px solid var(--line);padding:6px 10px;font-size:.92rem}.md a{color:var(--teal-bright)}.md details{margin:.3em 0;color:var(--text-dim)}.md summary{cursor:pointer;color:var(--teal-bright)}.preview-banner{margin:0 0 14px;padding:10px 14px;border:1px solid var(--teal-deep);background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem}.ctf-enter{display:inline-flex;gap:8px;align-items:center;padding:9px 15px;border:1px solid #00ff66;color:#0f6;border-radius:8px;text-decoration:none;font-weight:700;font-family:var(--ff-mono);background:#00ff660f}.ctf-wrap{min-height:100vh;background:#000;padding:18px}.ctf{max-width:900px;margin:0 auto;font-family:VT323,monospace;color:#0f6;background:#020602;border:1px solid #00ff66;border-radius:8px;padding:18px;box-shadow:0 0 24px #00ff662e inset,0 0 14px #00ff6626;text-shadow:0 0 3px rgba(0,255,102,.6)}.ctf-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:1.3rem;border-bottom:1px dashed #00ff66;padding-bottom:8px;flex-wrap:wrap}.ctf-score{font-size:1.15rem}.ctf-link{background:none;border:0;color:#0f6;font-family:inherit;font-size:1.15rem;cursor:pointer;text-decoration:none}.ctf-bar{height:8px;background:#031a0c;border:1px solid #00ff66;margin:10px 0 16px}.ctf-bar>div{height:100%;background:#0f6;transition:width .6s}.ctf-cat-name{font-size:1.35rem;margin:14px 0 6px;color:#7cfc00}.ctf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.ctf-card{border:1px solid #0c5;border-radius:6px;background:#010d05}.ctf-card.solved{border-color:#7cfc00;background:#00ff6614}.ctf-card-head{width:100%;display:flex;justify-content:space-between;gap:8px;background:none;border:0;color:#0f6;font-family:inherit;font-size:1.2rem;padding:10px;cursor:pointer;text-align:left}.ctf-pts{color:#9f9;font-size:1.05rem}.ctf-card-body{padding:0 12px 12px;font-size:1.2rem}.ctf-card-body .md{color:#bfffd0;font-family:VT323,monospace}.ctf-card-body .md code{background:#02160a;border-color:#0c5;color:#7cfc00}.ctf-form{display:flex;gap:8px;margin-top:8px}.ctf-form input{background:#000;border:1px solid #00ff66;color:#0f6;font-family:inherit;font-size:1.15rem;padding:6px;flex:1}.ctf-form button{background:#0f6;color:#000;border:0;font-family:inherit;font-size:1.15rem;padding:6px 14px;cursor:pointer;font-weight:700}.ctf-ok{color:#7cfc00}.ctf-no{color:#f55}:root{--ops-bg: #080d0d;--ops-surface: #0e1818;--ops-surface-2: #122120;--ops-line: #1a3534;--ops-line-strong: #225f5a;--ops-teal: #2ad0c3;--ops-teal-deep: #0e7a72;--ops-amber: #e0a93a;--ops-amber-deep: #8a6418;--ops-red: #ff3b3b;--ops-green: #2fb37e;--ops-muted: #5d7775;--ops-text: #cfe8e5;--ops-glow-teal: 0 0 0 1px rgba(42, 208, 195, .18), 0 0 22px rgba(42, 208, 195, .18);--ops-glow-amber: 0 0 14px rgba(224, 169, 58, .35);--ops-glow-red: 0 0 14px rgba(255, 59, 59, .45);--ops-glow-green: 0 0 16px rgba(47, 179, 126, .4)}.ops-shell{min-height:100vh;background:var(--ops-bg);color:var(--ops-text);font-family:JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;position:relative;overflow-x:hidden;isolation:isolate}.ops-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(42,208,195,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(42,208,195,.045) 1px,transparent 1px);background-size:56px 56px;background-position:-1px -1px;z-index:0}.ops-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 3px);mix-blend-mode:overlay;z-index:999;animation:ops-scanline-drift 6s linear infinite}@keyframes ops-scanline-drift{0%{background-position-y:0}to{background-position-y:3px}}.ops-shell>*{position:relative;z-index:1}.ops-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:14px 24px;border-bottom:1px solid var(--ops-line);background:linear-gradient(180deg,rgba(42,208,195,.04),transparent 60%),var(--ops-bg);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.ops-hud-brand{display:flex;align-items:center;gap:12px;font-family:VT323,JetBrains Mono,monospace;font-size:30px;letter-spacing:.02em;color:var(--ops-teal);text-shadow:0 0 10px rgba(42,208,195,.45)}.ops-hud-brand .led{width:12px;height:12px;background:var(--ops-teal);box-shadow:var(--ops-glow-teal);animation:ops-blink-led 1.06s steps(2,end) infinite}.ops-hud-title{display:flex;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;color:var(--ops-text)}.ops-hud-title .chev{color:var(--ops-teal);animation:ops-march 1.2s steps(4) infinite}@keyframes ops-march{0%{opacity:.25}to{opacity:1}}.ops-hud-meta{display:flex;align-items:center;gap:16px;justify-self:end;color:var(--ops-muted)}.ops-hud-meta .clock{font-family:VT323,monospace;font-size:22px;color:var(--ops-text);letter-spacing:.03em}.ops-hud-meta .live{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid rgba(255,59,59,.5);color:var(--ops-red)}.ops-hud-meta .live:before{content:"";width:8px;height:8px;background:var(--ops-red);box-shadow:var(--ops-glow-red);animation:ops-blink-live .9s ease-in-out infinite}@keyframes ops-blink-led{0%,49%{opacity:1}50%,to{opacity:.2}}@keyframes ops-blink-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.ops-briefing{padding:18px 24px;border-bottom:1px solid var(--ops-line);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.ops-briefing h1{margin:0;font-family:VT323,monospace;font-size:42px;letter-spacing:.02em;color:var(--ops-text);text-shadow:0 0 14px rgba(42,208,195,.18)}.ops-briefing h1 .tag{color:var(--ops-teal);margin-right:10px}.ops-briefing p{margin:4px 0 0;color:var(--ops-muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.ops-progress{min-width:320px;text-align:right}.ops-progress-stats{font-family:VT323,monospace;font-size:26px;color:var(--ops-amber);text-shadow:var(--ops-glow-amber)}.ops-progress-bar{position:relative;margin-top:6px;height:10px;background:var(--ops-surface-2);border:1px solid var(--ops-line)}.ops-progress-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--ops-teal-deep),var(--ops-teal));box-shadow:0 0 10px #2ad0c399;transition:width .6s ease}.ops-progress-bar>.meta{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ops-amber);box-shadow:var(--ops-glow-amber)}.ops-progress-bar>.meta:after{content:"META 80%";position:absolute;bottom:16px;right:0;font-size:10px;color:var(--ops-amber);letter-spacing:.1em;white-space:nowrap;transform:translate(50%)}.ops-targets{padding:28px 24px 90px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;max-width:1280px;margin:0 auto}.ops-target{position:relative;background:var(--ops-surface);border:1px solid var(--ops-line);cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,border-color .2s;overflow:hidden}.ops-target:hover{border-color:var(--ops-teal);box-shadow:var(--ops-glow-teal);transform:translateY(-2px)}.ops-target:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(160px 80px at 100% 0%,rgba(42,208,195,.08),transparent 70%);pointer-events:none}.ops-target.is-locked{opacity:.55;cursor:not-allowed}.ops-target.is-locked:hover{transform:none;border-color:var(--ops-line);box-shadow:none}.ops-target.is-captured{border-color:#2fb37eb3;box-shadow:var(--ops-glow-green)}.ops-target.is-captured:after{content:"CAPTURED";position:absolute;top:22px;right:-42px;transform:rotate(18deg);font-family:VT323,monospace;font-size:28px;color:#2fb37ed9;border:2px solid rgba(47,179,126,.7);padding:2px 60px;letter-spacing:.18em;pointer-events:none;text-shadow:0 0 12px rgba(47,179,126,.6)}.ops-target-chrome{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--ops-surface-2);border-bottom:1px solid var(--ops-line);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ops-muted)}.ops-target-chrome .dot-row{display:flex;gap:4px}.ops-target-chrome .dot-row span{width:8px;height:8px;border-radius:50%;background:var(--ops-line-strong)}.ops-target-chrome .dot-row span:nth-child(1){background:#ff5f57}.ops-target-chrome .dot-row span:nth-child(2){background:#febc2e}.ops-target-chrome .dot-row span:nth-child(3){background:#28c840}.ops-target-chrome .doc-id{font-family:JetBrains Mono,monospace;color:var(--ops-teal)}.ops-target-chrome .cat{color:var(--ops-muted)}.ops-target-body{padding:16px 14px 14px;position:relative}.ops-target-status{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ops-muted);margin-bottom:10px}.ops-target-status .lamp{width:9px;height:9px;border-radius:50%;background:var(--ops-amber);box-shadow:var(--ops-glow-amber);animation:ops-blink-led 1.7s steps(2) infinite}.ops-target.is-captured .ops-target-status .lamp{background:var(--ops-green);box-shadow:var(--ops-glow-green);animation:none}.ops-target.is-locked .ops-target-status .lamp{background:var(--ops-red);box-shadow:none;animation:none}.ops-target-title{font-family:Space Grotesk,JetBrains Mono,sans-serif;font-weight:600;font-size:18px;color:var(--ops-text);margin:0 0 4px;letter-spacing:.01em}.ops-target-sub{font-size:12px;color:var(--ops-muted)}.ops-target-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px dashed var(--ops-line)}.ops-target-pts{font-family:VT323,monospace;font-size:26px;color:var(--ops-amber);text-shadow:var(--ops-glow-amber);letter-spacing:.04em}.ops-target-pts .unit{font-size:16px;color:var(--ops-muted);margin-left:4px}.ops-target-cta{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ops-teal);text-transform:uppercase;letter-spacing:.12em}.ops-target-cta:after{content:"_";margin-left:4px;animation:ops-cursor 1.06s step-end infinite}@keyframes ops-cursor{50%{opacity:0}}.ops-target:hover .ops-target-title{animation:ops-glitch .22s steps(2) 1}@keyframes ops-glitch{0%{text-shadow:1px 0 var(--ops-red),-1px 0 var(--ops-teal);transform:translate(0)}50%{transform:translate(1px,-1px)}to{text-shadow:none;transform:translate(0)}}.ops-radar{position:fixed;top:86px;right:24px;width:140px;height:140px;border:1px solid var(--ops-line-strong);border-radius:50%;background:radial-gradient(circle,transparent 0%,transparent 64%,rgba(42,208,195,.08) 65%,transparent 66%),radial-gradient(circle,transparent 0%,transparent 32%,rgba(42,208,195,.06) 33%,transparent 34%),radial-gradient(circle,var(--ops-surface) 0%,var(--ops-bg) 100%);opacity:.5;pointer-events:none;overflow:hidden;z-index:2}.ops-radar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:conic-gradient(from 0deg,rgba(42,208,195,.35),transparent 30%);animation:ops-radar-sweep 6s linear infinite}.ops-radar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#2ad0c32e,#2ad0c32e) center/100% 1px no-repeat,linear-gradient(90deg,#2ad0c32e,#2ad0c32e) center/1px 100% no-repeat}@keyframes ops-radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ops-uplink{position:fixed;right:24px;bottom:60px;display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.18em;color:var(--ops-muted);z-index:2;opacity:.7;pointer-events:none}.ops-uplink span{width:8px;height:8px;background:var(--ops-green);box-shadow:var(--ops-glow-green)}.ops-uplink span:nth-child(1){animation:ops-blink-led .9s steps(2) infinite}.ops-uplink span:nth-child(2){animation:ops-blink-led 1.3s steps(2) infinite}.ops-uplink span:nth-child(3){animation:ops-blink-led 1.7s steps(2) infinite}.ops-uplink span:nth-child(4){animation:ops-blink-led 2.1s steps(2) infinite}.ops-syslog{position:fixed;left:24px;bottom:60px;width:320px;max-height:110px;overflow:hidden;font-size:11px;line-height:1.6;color:var(--ops-muted);z-index:2;opacity:.75;pointer-events:none;border-left:2px solid var(--ops-line-strong);padding-left:10px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 100%)}.ops-syslog .line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-syslog .line .t{color:var(--ops-teal);margin-right:8px}.ops-syslog .line .ok{color:var(--ops-green)}.ops-syslog .line .warn{color:var(--ops-amber)}.ops-syslog .line .err{color:var(--ops-red)}.ops-syslog .line.is-new{animation:ops-line-in .32s ease-out}@keyframes ops-line-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.ops-statusbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:12px 24px;background:linear-gradient(180deg,var(--ops-bg),#050707);border-top:1px solid var(--ops-line);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ops-muted);z-index:3}.ops-statusbar .exit{justify-self:end;padding:6px 14px;border:1px solid var(--ops-line-strong);color:var(--ops-text);background:transparent;cursor:pointer;font:inherit;letter-spacing:.18em}.ops-statusbar .exit:hover{border-color:var(--ops-red);color:var(--ops-red);box-shadow:var(--ops-glow-red)}.ops-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;display:grid;place-items:center;padding:24px;animation:ops-fade-in .18s ease-out}@keyframes ops-fade-in{0%{opacity:0}to{opacity:1}}.ops-modal{width:min(820px,96vw);max-height:86vh;background:var(--ops-bg);border:1px solid var(--ops-line-strong);box-shadow:0 0 0 1px #2ad0c31f,0 30px 80px #0009;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;animation:ops-crt-on .28s cubic-bezier(.2,1.2,.4,1) 1;overflow:hidden}@keyframes ops-crt-on{0%{transform:scaleY(.02) scaleX(.6);filter:brightness(2.5);opacity:0}50%{transform:scaleY(1.02) scaleX(.9);filter:brightness(1.6);opacity:1}to{transform:scale(1);filter:brightness(1);opacity:1}}.ops-modal-chrome{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--ops-line);background:var(--ops-surface-2);font-size:12px;color:var(--ops-muted)}.ops-modal-chrome .dots{display:flex;gap:6px}.ops-modal-chrome .dots span{width:10px;height:10px;border-radius:50%;background:var(--ops-line-strong)}.ops-modal-chrome .dots span:nth-child(1){background:#ff5f57}.ops-modal-chrome .dots span:nth-child(2){background:#febc2e}.ops-modal-chrome .dots span:nth-child(3){background:#28c840}.ops-modal-chrome .path{color:var(--ops-teal)}.ops-modal-chrome .close{margin-left:auto;background:transparent;border:0;color:var(--ops-muted);font:inherit;cursor:pointer;padding:2px 8px}.ops-modal-chrome .close:hover{color:var(--ops-red)}.ops-modal-body{padding:18px 20px;overflow-y:auto;font-size:14px;line-height:1.65}.ops-modal-body .prompt{color:var(--ops-teal)}.ops-modal-body .meta{color:var(--ops-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.ops-modal-body .meta b{color:var(--ops-amber);font-weight:400;text-shadow:var(--ops-glow-amber)}.ops-modal-body .descricao{border-left:2px solid var(--ops-line-strong);padding:6px 0 6px 14px;margin:12px 0;color:var(--ops-text);white-space:pre-wrap}.ops-modal-body .descricao p{margin:0 0 8px}.ops-modal-body .descricao code{background:var(--ops-surface-2);padding:1px 6px;border:1px solid var(--ops-line);color:var(--ops-amber)}.ops-modal-input{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;background:var(--ops-surface);border:1px solid var(--ops-line-strong)}.ops-modal-input:before{content:">";color:var(--ops-teal);font-weight:700}.ops-modal-input input{flex:1;background:transparent;border:0;outline:0;color:var(--ops-text);font:inherit;caret-color:var(--ops-teal)}.ops-modal-actions{display:flex;gap:8px;margin-top:12px}.ops-modal-actions button{background:transparent;border:1px solid var(--ops-line-strong);color:var(--ops-text);font:inherit;padding:8px 14px;cursor:pointer;letter-spacing:.06em;text-transform:uppercase}.ops-modal-actions button.is-primary{border-color:var(--ops-teal);color:var(--ops-teal)}.ops-modal-actions button.is-primary:hover{background:#2ad0c314;box-shadow:var(--ops-glow-teal)}.ops-modal-actions button.is-ghost{color:var(--ops-muted)}.ops-modal-actions button.is-ghost:hover{color:var(--ops-amber);border-color:var(--ops-amber)}.ops-modal-feedback{margin-top:12px;padding:8px 12px;border:1px dashed transparent;font-size:13px}.ops-modal-feedback.err{color:var(--ops-red);border-color:#ff3b3b66;animation:ops-shake .18s ease-in-out}.ops-modal-feedback.ok{color:var(--ops-green);border-color:#2fb37e80;background:#2fb37e0f}.ops-modal-feedback.hint{color:var(--ops-amber);border-color:#e0a93a66}@keyframes ops-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.ops-victory{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#2fb37e26,#000000eb 70%);display:grid;place-items:center;z-index:80;animation:ops-fade-in .22s ease-out;text-align:center;font-family:VT323,monospace}.ops-victory .stamp{font-size:96px;color:var(--ops-green);letter-spacing:.08em;text-shadow:0 0 24px rgba(47,179,126,.7);animation:ops-pop .32s cubic-bezier(.2,1.6,.4,1)}.ops-victory .sub{color:var(--ops-text);letter-spacing:.18em;text-transform:uppercase;font-size:16px;font-family:JetBrains Mono,monospace;margin-top:10px}.ops-victory button{margin-top:26px;background:transparent;border:1px solid var(--ops-green);color:var(--ops-green);padding:10px 22px;font:inherit;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.ops-victory button:hover{background:#2fb37e1f;box-shadow:var(--ops-glow-green)}@keyframes ops-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}.onb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,#2ad0c314,#000000f0 60%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:90;display:grid;place-items:center;padding:24px;animation:ops-fade-in .24s ease-out}.onb-shell{width:min(760px,96vw);background:var(--ops-bg);border:1px solid var(--ops-line-strong);box-shadow:0 0 0 1px #2ad0c326,0 40px 120px #0009;font-family:JetBrains Mono,monospace;color:var(--ops-text);overflow:hidden;animation:ops-crt-on .32s cubic-bezier(.2,1.2,.4,1) 1}.onb-chrome{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--ops-surface-2);border-bottom:1px solid var(--ops-line);font-size:12px;color:var(--ops-muted)}.onb-chrome .dots{display:flex;gap:6px}.onb-chrome .dots span{width:10px;height:10px;border-radius:50%}.onb-chrome .dots span:nth-child(1){background:#ff5f57}.onb-chrome .dots span:nth-child(2){background:#febc2e}.onb-chrome .dots span:nth-child(3){background:#28c840}.onb-chrome .path{color:var(--ops-teal)}.onb-chrome .step{margin-left:auto;letter-spacing:.16em;text-transform:uppercase}.onb-body{padding:36px 40px 24px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}.onb-slide-head{font-family:VT323,monospace;font-size:18px;letter-spacing:.22em;text-transform:uppercase;color:var(--ops-teal);text-shadow:0 0 12px rgba(42,208,195,.4);margin-bottom:16px}.onb-slide-title{font-family:VT323,monospace;font-size:56px;line-height:1.05;letter-spacing:.02em;color:var(--ops-text);margin:0 0 14px;text-shadow:0 0 16px rgba(42,208,195,.18)}.onb-slide-body{font-family:JetBrains Mono,monospace;font-size:15px;line-height:1.7;color:var(--ops-text);opacity:.92;max-width:560px}.onb-slide-body p{margin:0 0 12px}.onb-slide-body code{background:var(--ops-surface-2);padding:1px 6px;border:1px solid var(--ops-line);color:var(--ops-amber)}.onb-slide-body b{color:var(--ops-teal-bright, var(--ops-teal));font-weight:600}.onb-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:18px;border-top:1px dashed var(--ops-line)}.onb-dots{display:flex;gap:8px}.onb-dots span{width:10px;height:10px;border-radius:50%;background:var(--ops-surface-2);border:1px solid var(--ops-line-strong);transition:background .18s,border-color .18s}.onb-dots span.is-on{background:var(--ops-teal);border-color:var(--ops-teal);box-shadow:var(--ops-glow-teal)}.onb-actions{display:flex;gap:10px}.onb-actions button{background:transparent;border:1px solid var(--ops-line-strong);color:var(--ops-text);font:inherit;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.16em;text-transform:uppercase;padding:10px 18px;cursor:pointer;transition:border-color .18s,color .18s,background .18s,box-shadow .18s}.onb-actions button.is-primary{border-color:var(--ops-teal);color:var(--ops-teal)}.onb-actions button.is-primary:hover{background:#2ad0c314;box-shadow:var(--ops-glow-teal)}.onb-actions button.is-ghost:hover{color:var(--ops-muted);border-color:var(--ops-muted)}.onb-actions button .cur{margin-left:4px;animation:ops-cursor 1.06s step-end infinite}.onb-preview{display:grid;gap:10px;margin:14px 0 6px}.onb-preview .card-mock{border:1px solid var(--ops-line-strong);padding:12px 14px;background:var(--ops-surface);font-size:13px;color:var(--ops-text);display:flex;justify-content:space-between;align-items:center}.onb-preview .card-mock .lamp{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:8px}.onb-preview .card-mock.done .lamp{background:var(--ops-green);box-shadow:var(--ops-glow-green)}.onb-preview .card-mock.current .lamp{background:var(--ops-amber);box-shadow:var(--ops-glow-amber)}.onb-preview .card-mock.todo .lamp{background:var(--ops-surface-2);border:1px solid var(--ops-line-strong)}.onb-preview .card-mock .cta{color:var(--ops-teal);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.onb-preview .target-mock{border:1px solid var(--ops-line-strong);background:var(--ops-surface);padding:14px;font-family:VT323,monospace;font-size:26px;color:var(--ops-text);display:flex;align-items:baseline;justify-content:space-between}.onb-preview .target-mock .pts{color:var(--ops-amber);text-shadow:var(--ops-glow-amber)}@media(max-width:720px){.ops-hud{grid-template-columns:1fr;gap:8px;text-align:center}.onb-body{padding:26px 22px 18px;min-height:320px}.onb-slide-title{font-size:42px}.onb-slide-body{font-size:14px}.ops-hud-meta{justify-self:center}.ops-briefing{grid-template-columns:1fr}.ops-progress{min-width:0;text-align:left}.ops-radar,.ops-uplink,.ops-syslog{display:none}.ops-targets{padding:18px 14px 100px}}.study-hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid var(--ops-line);background:linear-gradient(180deg,rgba(42,208,195,.04),transparent 60%),var(--ops-bg)}.study-hud-brand{display:flex;align-items:center;gap:12px;font-family:VT323,monospace;font-size:28px;color:var(--ops-teal);text-shadow:0 0 10px rgba(42,208,195,.45)}.study-hud-brand .led{width:11px;height:11px;background:var(--ops-teal);box-shadow:var(--ops-glow-teal);animation:ops-blink-led 1.06s steps(2,end) infinite}.study-hud-back{background:transparent;border:1px solid transparent;color:var(--ops-muted);font:inherit;font-family:JetBrains Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;padding:6px 0}.study-hud-back:hover{color:var(--ops-teal)}.study-hud-right{display:flex;align-items:center;gap:12px;justify-self:end}.study-repo-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--ops-line-strong);color:var(--ops-text);font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none}.study-repo-chip:hover{border-color:var(--ops-teal);color:var(--ops-teal);box-shadow:var(--ops-glow-teal)}.study-wrap{max-width:1080px;margin:0 auto;padding:28px 24px 80px}.study-phase-card{position:relative;background:var(--ops-surface);border:1px solid var(--ops-line);padding:26px 28px;display:grid;grid-template-columns:140px 1fr 240px;gap:28px;align-items:center;overflow:hidden}.study-phase-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(280px 140px at 0% 0%,rgba(42,208,195,.1),transparent 70%);pointer-events:none}.study-phase-number{font-family:VT323,monospace;font-size:96px;line-height:.9;color:var(--ops-teal);text-shadow:0 0 22px rgba(42,208,195,.45);letter-spacing:.02em;text-align:center}.study-phase-number .lbl{display:block;font-size:12px;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.24em;margin-top:6px;text-shadow:none}.study-phase-meta h1{margin:0;font-family:VT323,monospace;font-size:38px;line-height:1.05;letter-spacing:.01em;color:var(--ops-text);text-shadow:0 0 14px rgba(42,208,195,.18)}.study-phase-meta .tag-line{margin-top:6px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.18em}.study-phase-meta p{margin:10px 0 0;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ops-text);opacity:.85;line-height:1.65;max-width:580px}.study-phase-progress{text-align:right}.study-phase-progress .pct{font-family:VT323,monospace;font-size:64px;color:var(--ops-amber);text-shadow:var(--ops-glow-amber);line-height:1}.study-phase-progress .frac{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.16em;margin-top:6px}.study-phase-progress .bar{margin-top:10px;height:8px;background:var(--ops-surface-2);border:1px solid var(--ops-line);position:relative}.study-phase-progress .bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--ops-teal-deep),var(--ops-teal));box-shadow:0 0 10px #2ad0c399;transition:width .6s ease}.study-section-head{display:flex;align-items:center;gap:12px;margin:30px 0 14px;font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--ops-muted)}.study-section-head:before,.study-section-head:after{content:"";flex:1;height:1px;background:var(--ops-line)}.study-timeline{position:relative;padding-left:0}.study-timeline:before{content:"";position:absolute;top:26px;bottom:26px;left:23px;width:1px;background:var(--ops-line-strong);z-index:0}.study-etapa{position:relative;display:block;text-decoration:none;color:inherit;padding:6px 0}.study-etapa-lamp{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:15px;height:15px;border-radius:50%;background:var(--ops-surface-2);border:2px solid var(--ops-line-strong);z-index:2}.study-etapa.is-done .study-etapa-lamp{background:var(--ops-green);border-color:var(--ops-green);box-shadow:var(--ops-glow-green)}.study-etapa.is-current .study-etapa-lamp{background:var(--ops-amber);border-color:var(--ops-amber);box-shadow:var(--ops-glow-amber);animation:ops-pulse-lamp 1.6s ease-in-out infinite}@keyframes ops-pulse-lamp{0%,to{box-shadow:var(--ops-glow-amber);transform:translateY(-50%) scale(1)}50%{box-shadow:0 0 22px #e0a93ab3;transform:translateY(-50%) scale(1.15)}}.study-etapa-row{margin-left:50px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:18px;background:var(--ops-surface);border:1px solid var(--ops-line);padding:14px 18px;cursor:pointer;transition:border-color .16s,box-shadow .2s,transform .16s,background .16s;position:relative;z-index:1}.study-etapa-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(42,208,195,.06),transparent 30%);pointer-events:none}.study-etapa-row:hover{border-color:var(--ops-teal);box-shadow:var(--ops-glow-teal);transform:translate(3px);background:var(--ops-surface-2)}.study-etapa.is-done .study-etapa-row{border-color:#2fb37e66}.study-etapa.is-current .study-etapa-row{border-color:#e0a93a80;box-shadow:0 0 14px #e0a93a2e}.study-etapa-code{font-family:VT323,monospace;font-size:36px;line-height:1;color:var(--ops-teal);letter-spacing:.04em;text-shadow:0 0 10px rgba(42,208,195,.3)}.study-etapa.is-done .study-etapa-code{color:var(--ops-green);text-shadow:0 0 10px rgba(47,179,126,.4)}.study-etapa.is-current .study-etapa-code{color:var(--ops-amber);text-shadow:var(--ops-glow-amber)}.study-etapa-title{font-family:Space Grotesk,JetBrains Mono,sans-serif;font-weight:600;font-size:16px;color:var(--ops-text);line-height:1.3}.study-etapa-sub{margin-top:3px;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.18em}.study-etapa-sub .tag{display:inline-block;margin-left:8px;padding:1px 6px;border:1px solid var(--ops-line-strong);color:var(--ops-teal)}.study-etapa-cta{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ops-teal);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}.study-etapa.is-done .study-etapa-cta{color:var(--ops-green)}.study-etapa-cta .arrow{margin-left:6px}.study-prova{position:relative;margin-top:26px;background:var(--ops-bg);border:1px solid var(--ops-line-strong);overflow:hidden;box-shadow:0 0 24px #2ad0c31f}.study-prova.is-aprovado{border-color:#2fb37e99;box-shadow:var(--ops-glow-green)}.study-prova-chrome{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--ops-surface-2);border-bottom:1px solid var(--ops-line);font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ops-muted)}.study-prova-chrome .dots{display:flex;gap:6px}.study-prova-chrome .dots span{width:10px;height:10px;border-radius:50%;background:var(--ops-line-strong)}.study-prova-chrome .dots span:nth-child(1){background:#ff5f57}.study-prova-chrome .dots span:nth-child(2){background:#febc2e}.study-prova-chrome .dots span:nth-child(3){background:#28c840}.study-prova-chrome .path{color:var(--ops-teal)}.study-prova-chrome .badge{margin-left:auto;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ops-amber)}.study-prova.is-aprovado .study-prova-chrome .badge{color:var(--ops-green)}.study-prova-body{padding:24px 28px 28px;font-family:JetBrains Mono,monospace;position:relative}.study-prova-body .ln{margin:4px 0}.study-prova-body .prompt{color:var(--ops-teal);margin-right:6px}.study-prova-body .out b{color:var(--ops-amber);font-weight:400;text-shadow:var(--ops-glow-amber)}.study-prova.is-aprovado .study-prova-body .out b{color:var(--ops-green);text-shadow:var(--ops-glow-green)}.study-prova-cta{display:inline-flex;align-items:center;gap:10px;margin-top:18px;background:transparent;border:1px solid var(--ops-teal);color:var(--ops-teal);padding:12px 22px;font-family:JetBrains Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;text-decoration:none;transition:background .18s,box-shadow .18s}.study-prova-cta:hover{background:#2ad0c314;box-shadow:var(--ops-glow-teal)}.study-prova-cta .cur{animation:ops-cursor 1.06s step-end infinite;margin-left:4px}.study-prova.is-aprovado .study-prova-cta{border-color:var(--ops-green);color:var(--ops-green)}.study-prova.is-aprovado .study-prova-cta:hover{background:#2fb37e14;box-shadow:var(--ops-glow-green)}.study-prova-stamp{position:absolute;top:22px;right:-42px;transform:rotate(15deg);font-family:VT323,monospace;font-size:28px;color:#2fb37ee6;border:2px solid rgba(47,179,126,.7);padding:4px 64px;letter-spacing:.18em;pointer-events:none;text-shadow:0 0 12px rgba(47,179,126,.6)}.study-projeto{position:relative;margin-top:18px;background:var(--ops-bg);border:1px solid var(--ops-line-strong);overflow:hidden;box-shadow:0 0 16px #4f93e61f}.study-projeto.is-aprovado{border-color:#2fb37e99;box-shadow:var(--ops-glow-green)}.study-projeto.is-pendente{border-color:#4f93e68c;box-shadow:0 0 14px #4f93e638}.study-projeto.is-rejeitado{border-color:#c92a2a8c;box-shadow:var(--ops-glow-red)}.study-projeto .study-prova-chrome .badge{color:#79b0f5}.study-projeto.is-aprovado .study-prova-chrome .badge{color:var(--ops-green)}.study-projeto.is-rejeitado .study-prova-chrome .badge{color:var(--ops-red)}.study-projeto .study-prova-cta{border-color:#79b0f5;color:#79b0f5}.study-projeto .study-prova-cta:hover{background:#4f93e614;box-shadow:0 0 14px #4f93e652}.study-projeto-form{margin-top:16px;display:grid;gap:10px}.study-projeto-form label{display:block;font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ops-muted);margin-bottom:4px}.study-projeto-form input,.study-projeto-form textarea{width:100%;background:var(--ops-surface);border:1px solid var(--ops-line-strong);color:var(--ops-text);font:inherit;font-family:JetBrains Mono,monospace;padding:10px 12px;outline:0;border-radius:0}.study-projeto-form input:focus,.study-projeto-form textarea:focus{border-color:#79b0f5;box-shadow:0 0 10px #4f93e652}.study-projeto-form textarea{min-height:80px;resize:vertical}.study-projeto-row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.study-projeto-row .study-prova-cta{margin-top:0;padding:10px 18px;font-size:12px}.study-projeto-meta{font-size:11px;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:8px}.study-projeto-feedback{margin-top:12px;padding:10px 14px;border-left:3px solid #79b0f5;background:#4f93e60f;color:var(--ops-text);font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.55}.study-projeto.is-aprovado .study-projeto-feedback{border-left-color:var(--ops-green);background:#2fb37e0f}.study-projeto.is-rejeitado .study-projeto-feedback{border-left-color:var(--ops-red);background:#c92a2a0f}.study-projeto-nota{display:inline-flex;align-items:baseline;gap:6px;font-family:VT323,monospace;font-size:32px;color:var(--ops-amber);text-shadow:var(--ops-glow-amber)}.study-projeto.is-aprovado .study-projeto-nota{color:var(--ops-green);text-shadow:var(--ops-glow-green)}.study-projeto-nota .of{font-size:14px;color:var(--ops-muted);font-family:JetBrains Mono,monospace}.study-empty{margin:36px 0;padding:40px 0;text-align:center;color:var(--ops-muted);font-family:VT323,monospace;font-size:28px;border:1px dashed var(--ops-line)}.study-center{min-height:calc(100vh - 60px);display:grid;place-items:center;color:var(--ops-muted);font-family:VT323,monospace;font-size:32px}.study-center.err{color:var(--ops-red)}.study-center .actions{margin-top:18px;font-family:JetBrains Mono,monospace;font-size:12px}.study-center .actions button{background:transparent;border:1px solid var(--ops-line-strong);color:var(--ops-text);padding:8px 16px;font:inherit;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.study-center .actions button:hover{border-color:var(--ops-teal);color:var(--ops-teal)}@media(max-width:720px){.study-wrap{padding:18px 14px 60px}.study-phase-card{grid-template-columns:1fr;gap:14px;padding:18px}.study-phase-number{font-size:72px;text-align:left}.study-phase-progress{text-align:left}.study-etapa-row{grid-template-columns:48px 1fr;gap:12px;padding:12px 14px;margin-left:40px}.study-etapa-row .study-etapa-cta{grid-column:1 / -1}.study-etapa-code{font-size:28px}.study-timeline:before{left:19px}.study-etapa-lamp{left:13px}}
