:root{--bg-deep:#f0f0f0;--bg-paper:#fff;--ink:#0f0f0f;--ink-dim:#3a3a3a;--ink-mute:#6b6b6b;--accent:#d63031;--accent-bright:#e74c3c;--hot:#c0392b;--film:#e8e8e8;--line:#0f0f0f;--rule:#0f0f0f1f;--font-display:"Bangers", cursive;--font-body:"Inter", -apple-system, sans-serif;--font-mono:"Inter", -apple-system, sans-serif;--shadow-sm:3px 3px 0px #0f0f0f;--shadow-md:4px 4px 0px #0f0f0f;--shadow-lg:6px 6px 0px #0f0f0f;--shadow-red:4px 4px 0px #d63031}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";pointer-events:none;z-index:9999;background-image:radial-gradient(circle,#0f0f0f0e 1px,#0000 1px);background-size:6px 6px;position:fixed;inset:0}.app{flex-direction:column;width:100vw;height:100vh;display:flex;position:relative}.slide-stage{flex:1;position:relative;overflow:hidden}.slide{background:var(--bg-paper);opacity:0;pointer-events:none;flex-direction:column;padding:40px 72px 88px;transition:opacity .3s,transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;inset:0;transform:translateY(10px)scale(.98)}.slide:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(90deg,#0000,#0000 12px,#0f0f0f06 12px 13px);position:absolute;inset:0}.slide>*{z-index:1;position:relative}.slide.active{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.slide-header{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:12px;font-size:10px;font-weight:700;display:flex}.slide-header .studio{font-family:var(--font-display);color:var(--ink);letter-spacing:.06em;font-size:18px}.slide-header .id{color:var(--accent);font-weight:700}.slide-header .id:before{content:"● ";color:var(--accent);margin-right:4px}.eyebrow{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;background:var(--accent);color:#fff;width:fit-content;margin-bottom:14px;padding:3px 10px 2px;font-size:10px;font-weight:800;display:inline-block;transform:rotate(-1deg)}.title-display{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-size:clamp(44px,5.6vw,88px);font-weight:400;line-height:.95}.title-display em{color:var(--accent);font-style:normal}.title-display .strike{color:var(--ink-mute);display:inline-block;position:relative}.title-display .strike:after{content:"";background:var(--accent);height:4px;position:absolute;top:52%;left:-4%;right:-4%;transform:rotate(-2deg)}.title-section{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-size:clamp(32px,3.6vw,56px);font-weight:400;line-height:1}.title-section em{color:var(--accent);font-style:normal}.kicker{font-family:var(--font-body);color:var(--ink-dim);font-size:clamp(15px,1.5vw,21px);font-style:italic;font-weight:400;line-height:1.5}.body-text{font-family:var(--font-body);color:var(--ink-dim);max-width:56ch;font-size:15px;font-weight:400;line-height:1.65}.body-text strong{color:var(--ink);font-weight:700}.body-text em{color:var(--accent);font-style:italic;font-weight:500}.mono-tag{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;font-weight:700}.nav-bar{background:var(--bg-paper);border-top:3px solid var(--ink);z-index:100;height:56px;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 24px;font-size:10px;font-weight:700;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{background:var(--ink);border:3px solid var(--ink);color:#fff;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-sm);padding:5px 14px;font-family:inherit;font-size:10px;font-weight:700;transition:all .14s}.nav-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);box-shadow:4px 4px 0px var(--ink);transform:translate(-1px,-1px)}.nav-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.nav-progress{color:var(--ink-mute);align-items:center;gap:16px;display:flex}.nav-progress strong{color:var(--accent);font-weight:700}.nav-progress .dots{gap:4px;display:flex}.nav-progress .dot{background:var(--film);border:2px solid var(--ink);width:8px;height:8px;transition:background .2s}.nav-progress .dot.active{background:var(--accent);border-color:var(--accent)}.nav-progress .dot.passed{background:var(--ink)}.split-2{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.split-3-2{flex:1;grid-template-columns:3fr 2fr;align-items:start;gap:48px;display:grid}.split-2-3{flex:1;grid-template-columns:2fr 3fr;align-items:center;gap:48px;display:grid}.col{flex-direction:column;gap:20px;display:flex}.col-tight{flex-direction:column;gap:10px;display:flex}.media-frame{background:var(--film);border:3px solid var(--ink);box-shadow:var(--shadow-md);border-radius:0;position:relative;overflow:hidden}.media-frame:before,.media-frame:after{content:"";border:3px solid var(--accent);pointer-events:none;z-index:2;width:18px;height:18px;position:absolute}.media-frame:before{border-bottom:none;border-right:none;top:-3px;left:-3px}.media-frame:after{border-top:none;border-left:none;bottom:-3px;right:-3px}.media-frame img,.media-frame iframe{object-fit:cover;border:none;width:100%;height:100%;display:block}.media-caption{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;font-size:10px;font-weight:600;display:flex}.media-caption .src{color:var(--ink-mute)}.media-caption a{color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}.media-caption a:hover{color:var(--hot)}.block-card{background:var(--bg-paper);border:3px solid var(--ink);border-left:6px solid var(--accent);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:18px 22px;display:flex}.block-card .label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:800}.block-card .duration{font-family:var(--font-body);color:var(--ink-mute);font-size:11px;font-weight:600}.block-card .name{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);font-size:22px;font-weight:400;line-height:1.1}.block-card .desc{color:var(--ink-dim);font-size:13px;line-height:1.5}.principle-grid{flex:1;grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.principle-card{background:var(--bg-paper);border:3px solid var(--ink);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.principle-card:hover{box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.principle-card .num{font-family:var(--font-display);text-transform:uppercase;color:var(--accent);opacity:.18;font-size:52px;font-weight:400;line-height:1;position:absolute;top:12px;right:18px}.principle-card .term-en{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:800}.principle-card .term-pt{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);font-size:26px;font-weight:400;line-height:1}.principle-card .desc{color:var(--ink-dim);font-size:13px;line-height:1.55}.cover{flex-direction:column;justify-content:space-between;height:100%;display:flex}.cover-head{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);justify-content:space-between;font-size:10px;font-weight:700;display:flex}.cover-head .right{text-align:right}.cover-head .right strong{color:var(--ink);font-weight:800;display:block}.cover-main{flex-direction:column;gap:28px;margin-top:auto;display:flex}.cover-marker{font-family:var(--font-body);letter-spacing:.3em;color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:800}.cover-title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-size:clamp(56px,7vw,120px);font-weight:400;line-height:.92}.cover-title em{color:var(--accent);font-style:normal}.cover-meta{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);gap:40px;margin-top:12px;font-size:10px;font-weight:700;display:flex}.cover-meta strong{color:var(--ink);letter-spacing:.04em;margin-top:4px;font-size:12px;font-weight:800;display:block}.timeline{flex-direction:column;gap:14px;display:flex;position:relative}.timeline:before{content:"";background:var(--ink);opacity:.12;width:2px;position:absolute;top:8px;bottom:8px;left:60px}.timeline-row{grid-template-columns:50px 16px 1fr;align-items:center;gap:16px;display:grid}.timeline-row .time{font-family:var(--font-body);color:var(--accent);text-align:right;letter-spacing:.05em;font-size:11px;font-weight:800}.timeline-row .dot{background:var(--bg-paper);border:3px solid var(--accent);width:10px;height:10px;margin:0 auto}.timeline-row.intervalo .dot{border-color:var(--ink-mute);background:var(--ink-mute)}.timeline-row .label-text{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);font-size:17px;font-weight:400}.timeline-row .sub{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-mute);margin-top:1px;font-size:10px;font-weight:600}.timeline-row.intervalo .label-text{color:var(--ink-mute)}.pull-quote{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);letter-spacing:.04em;border:3px solid var(--ink);border-left:6px solid var(--accent);box-shadow:var(--shadow-md);background:var(--bg-paper);max-width:24ch;padding:20px 24px;font-size:clamp(22px,2.6vw,36px);font-weight:400;line-height:1.1}.pull-quote .attribution{font-size:10px;font-style:normal;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--ink-mute);margin-top:16px;font-weight:700;display:block}.stat-big{flex-direction:column;gap:4px;display:flex}.stat-big .num{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:clamp(56px,5.5vw,84px);font-weight:400;line-height:.95}.stat-big .num em{color:var(--hot);font-style:normal}.stat-big .label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--ink-mute);margin-top:6px;font-size:10px;font-weight:700}.numbered-list{counter-reset:nl;flex-direction:column;gap:16px;list-style:none;display:flex}.numbered-list li{counter-increment:nl;grid-template-columns:36px 1fr;align-items:baseline;gap:14px;display:grid}.numbered-list li:before{content:counter(nl, decimal-leading-zero);font-family:var(--font-body);color:var(--accent);letter-spacing:.05em;padding-top:3px;font-size:11px;font-weight:800}.numbered-list li .item-title{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);margin-bottom:3px;font-size:18px;font-weight:400;display:block}.numbered-list li .item-desc{color:var(--ink-dim);font-size:13px;line-height:1.5}.compare{grid-template-columns:1fr 1fr;gap:20px;display:grid}.compare-side{flex-direction:column;gap:10px;display:flex}.compare-side .label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-size:10px;font-weight:800}.compare-side .name{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);font-size:26px;font-weight:400;line-height:1}.compare-side .what{color:var(--ink-dim);font-size:13px;line-height:1.5}.diagram-wrap{background:var(--bg-paper);border:3px solid var(--ink);box-shadow:var(--shadow-md);padding:20px}.diagram-wrap svg{width:100%;height:auto;display:block}.filmstrip{background:var(--ink);gap:3px;margin-bottom:20px;padding:5px;display:flex}.filmstrip .frame{aspect-ratio:4/3;background:var(--film);border:1px solid var(--ink);flex:1;position:relative;overflow:hidden}.filmstrip .frame:before,.filmstrip .frame:after{content:"";background:var(--ink);opacity:.4;height:5px;position:absolute;left:4px;right:4px}.filmstrip .frame:before{top:-3px}.filmstrip .frame:after{bottom:-3px}.bridge{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;height:100%;display:flex}.flex-row{align-items:center;gap:16px;display:flex}.mt-auto{margin-top:auto}.mt-md{margin-top:20px}.mt-lg{margin-top:36px}@keyframes lib-hero-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(36px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes trail-card-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.lib-page{background:var(--bg-deep);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.lib-topbar{background:var(--bg-paper);border-bottom:3px solid var(--ink);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 56px;display:flex}.lib-logo{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-size:24px}.lib-logo:before{content:"● ";color:var(--accent)}.lib-topbar-label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;font-weight:700}.lib-main{flex-direction:column;flex:1;padding:28px 56px 36px;display:flex;overflow:hidden}.lib-main--trail{overflow-x:hidden}.lib-back{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);cursor:pointer;background:0 0;border:none;width:fit-content;margin-bottom:6px;padding:0;font-size:11px;font-weight:700;transition:color .12s}.lib-back:hover{color:var(--accent)}.lib-breadcrumb{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:8px;margin-bottom:20px;font-size:11px;font-weight:600;display:flex}.lib-breadcrumb-link{cursor:pointer;transition:color .12s}.lib-breadcrumb-link:hover{color:var(--accent)}.lib-breadcrumb-sep{opacity:.3;font-size:14px}.lib-breadcrumb-current{color:var(--ink);font-weight:800}.lib-hero{animation:.4s cubic-bezier(.22,1,.36,1) both lib-hero-in}.lib-cards{flex:1;grid-template-columns:1fr 1fr;gap:20px;min-height:0;display:grid}.lib-card{background:var(--bg-paper);border:3px solid var(--ink);text-align:left;box-shadow:var(--shadow-md);cursor:default;flex-direction:column;gap:16px;padding:40px 44px 36px;font-family:inherit;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;display:flex;position:relative;overflow:hidden}.lib-cards .lib-card:first-child{animation:.55s cubic-bezier(.22,1,.36,1) 60ms both card-in}.lib-cards .lib-card:nth-child(2){animation:.55s cubic-bezier(.22,1,.36,1) .18s both card-in}.lib-card--active{cursor:pointer;border-left:6px solid var(--accent)}.lib-card--active:hover{transform:translate(-5px,-5px);box-shadow:9px 9px #0f0f0f}.lib-card--active:active{transition:transform 70ms,box-shadow 70ms;transform:translate(2px,2px);box-shadow:2px 2px #0f0f0f}.lib-card--disabled{background:var(--film);opacity:.45;box-shadow:3px 3px #0f0f0f26}.lib-card-num{font-family:var(--font-display);color:var(--accent);opacity:.07;pointer-events:none;letter-spacing:-.02em;font-size:clamp(100px,14vw,180px);line-height:1;position:absolute;bottom:-20px;right:16px}.lib-card-tag{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--accent);width:fit-content;padding:4px 12px 3px;font-size:10px;font-weight:800}.lib-card-tag--locked{background:var(--ink-mute)}.lib-card-title{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);letter-spacing:.03em;font-size:clamp(48px,5.5vw,80px);font-weight:400;line-height:.95}.lib-card-desc{font-family:var(--font-body);color:var(--ink-dim);max-width:38ch;font-size:15px;line-height:1.65}.lib-card-arrow{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border-top:2px solid var(--rule);margin-top:auto;padding-top:16px;font-size:12px;font-weight:800}.lib-card-lock{color:var(--ink-mute);opacity:.45;border-top:2px solid var(--rule);margin-top:auto;padding-top:16px}.trail{align-items:stretch;gap:0;padding-bottom:12px;display:flex;overflow-x:auto}.trail-item{flex-shrink:0;align-items:center;display:flex}.trail-item:first-child .trail-card{animation:.5s cubic-bezier(.22,1,.36,1) 50ms both trail-card-in}.trail-item:nth-child(3) .trail-card{animation:.5s cubic-bezier(.22,1,.36,1) .15s both trail-card-in}.trail-item:nth-child(5) .trail-card{animation:.5s cubic-bezier(.22,1,.36,1) .25s both trail-card-in}.trail-item:nth-child(7) .trail-card{animation:.5s cubic-bezier(.22,1,.36,1) .35s both trail-card-in}.trail-connector{flex-shrink:0;align-items:center;gap:0;padding:0 6px;display:flex}.trail-line{background:var(--ink);opacity:.18;width:40px;height:2px}.trail-arrow{color:var(--ink-mute);opacity:.4;margin-left:-3px;font-size:22px;font-weight:700;line-height:1}.trail-card{background:var(--bg-paper);border:3px solid var(--ink);text-align:left;width:260px;box-shadow:var(--shadow-md);cursor:default;flex-shrink:0;padding:0;font-family:inherit}.trail-card--available{cursor:pointer;border-left:6px solid var(--accent);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s}.trail-card--available:hover{transform:translate(-5px,-5px);box-shadow:9px 9px #0f0f0f}.trail-card--available:active{transition:transform 70ms,box-shadow 70ms;transform:translate(2px,2px);box-shadow:2px 2px #0f0f0f}.trail-card--locked{background:var(--film);opacity:.5;box-shadow:3px 3px #0f0f0f1f}.trail-card-inner{flex-direction:column;gap:12px;height:100%;padding:28px 26px 24px;display:flex}.trail-card-num{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:800}.trail-card-title{font-family:var(--font-display);text-transform:uppercase;color:var(--ink);letter-spacing:.03em;font-size:22px;font-weight:400;line-height:1.05}.trail-card-desc{color:var(--ink-dim);font-size:13px;line-height:1.6}.trail-card-cta{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-top:2px solid var(--rule);margin-top:auto;padding-top:12px;font-size:11px;font-weight:800}.trail-card-lock-icon{color:var(--ink-mute);opacity:.5}.trail-card-soon{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;background:var(--ink-mute);color:#fff;width:fit-content;margin-top:auto;padding:4px 12px 3px;font-size:10px;font-weight:800}
