/* Drill Cat: warm yellow, cream, charcoal, and natural desert tones. */
:root{--ink:#191813;--paper:#f2ecdf;--yellow:#f1b647;--action:#f1b647;--surface-ink:#191813;--muted:#d0c7b7;color-scheme:dark}
body,.journey{background:#171614}.earth-world{filter:saturate(.9) brightness(.94)}
.scene-shade{background:linear-gradient(90deg,#101010d1 0%,#1414148c 28%,#1515150a 72%),linear-gradient(0deg,#101010dd,transparent 27%,transparent 70%,#17171733)}
.depth-atmosphere{background:linear-gradient(90deg,#11111145,transparent 70%)}
.site-header{top:18px;left:28px;right:28px;height:72px;padding:0 20px;background:#f2ecdfed;color:var(--ink);border:1px solid #19181320;border-radius:22px;box-shadow:0 8px 36px #00000024;backdrop-filter:blur(18px)}
.wordmark>span{font-family:DM,Arial,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1.2px}.wordmark .brand-cat{width:49px;height:49px;border:1px solid #ffffff38;background:#e5dac7}.brand-cat img{left:-56px;top:-6px}
.site-header nav{font-size:12px;font-weight:500;color:#37342d;gap:28px}.site-header nav a:hover{color:var(--ink)}.site-header nav a:after{border-color:#f1b647}
.header-actions{gap:8px}.header-action,.header-actions .nav-launch{border:1px solid #19181328;border-radius:12px;background:#19181303;color:var(--ink);min-height:44px;box-shadow:none;transition:background .2s,border-color .2s}
.header-action strong{font:650 12px DM,Arial,sans-serif;letter-spacing:.2px}.header-action small{font:9px DM,Arial,sans-serif;color:#655f51;letter-spacing:.2px}
.header-action:hover,.header-actions .nav-launch:hover{background:#1918130b;border-color:#19181350}.header-actions .ca-action{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.ca-action small{color:#53452c}.header-actions .ca-action:hover{background:#ffd079}
.header-actions .nav-launch{font:650 12px DM,Arial,sans-serif;gap:18px}
.chapter-panel h1,.chapter-panel h2{font-family:DM,Arial,sans-serif;font-weight:750;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}
.chapter-panel h1{font-size:clamp(68px,7.9vw,115px);margin-bottom:24px}.chapter-panel h2{font-size:clamp(54px,6.8vw,98px)}
.chapter-panel h2 em,.accent{font-style:normal;color:var(--yellow)}.chapter-panel .hero-description{font-weight:400;color:#f4ede3;line-height:1.65}
.chapter-panel>p:not(.eyebrow){color:#f2ece1}.chapter-panel>p.quiet{color:var(--muted)}
.outline-link{border-bottom-color:#e1d7c450;padding:10px 0;font-weight:500}.outline-link span{color:var(--yellow)}.outline-link:hover{border-color:var(--paper)}
.field-panel h2{font-size:clamp(40px,4.8vw,66px)}.details-panel h2{font-size:clamp(44px,5.5vw,76px)}.final-panel h2{font-size:clamp(52px,6.7vw,95px)}
.underground-photo{transform:none;border-radius:18px;background:#f2ecdf;padding:8px;box-shadow:0 14px 40px #00000045}.photo-open{border-radius:12px;overflow:hidden}.photo-open>span{background:#24221de8;border-radius:7px;padding:7px 9px;font-family:DM,Arial,sans-serif}
.photo-nav{padding:4px 3px 0}.photo-nav>span{font-family:DM,Arial,sans-serif;font-weight:600;font-size:9px;letter-spacing:.2px}.photo-nav button{color:var(--surface-ink);border-radius:50%}.photo-nav button:hover{background:#e6dac6}
.launch-facts>div{border-color:#dfd3ba2e}.launch-facts>div>span{color:#d0c7b7;font-family:DM,Arial,sans-serif;font-weight:500;letter-spacing:.5px}.launch-facts strong,.launch-facts button{font-weight:500}.contract-row button:disabled{color:var(--muted)}
.surface-link{font-family:DM,Arial,sans-serif;font-weight:500;letter-spacing:.5px;color:#ded2bd}
.rig-controls{right:auto;bottom:72px;gap:22px;max-width:86vw;padding:13px 17px;border:1px solid #e9d7ad2e;border-radius:20px;background:#1c1b17d6;backdrop-filter:blur(16px);box-shadow:0 10px 40px #00000026}
.rig-readout{min-width:65px}.rig-readout strong{font:550 30px DM,Arial,sans-serif;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}.rig-readout strong small{font-family:DM,Arial,sans-serif;letter-spacing:0;color:#d3c7ae}.rig-readout .micro{font:500 8px DM,Arial,sans-serif;color:#d3c7ae;letter-spacing:1px}
.drill-button{background:var(--action);border:1px solid #ffe0a470;border-radius:12px;min-width:225px;height:52px;padding:0 18px;box-shadow:inset 0 1px 0 #ffffff18;color:var(--ink);font:650 12px DM,Arial,sans-serif;letter-spacing:.2px;gap:14px}
.drill-button:hover{background:#ffca61}.drill-button:active,.drill-button.pressed{transform:translateY(1px);background:#e5a733;box-shadow:inset 0 2px 6px #38210035}.drill-button i{background:#ffffff30}.key-hint{border-color:#19181340;font:500 8px DM,Arial,sans-serif;border-radius:4px;padding:3px 5px}.rig-note{color:#dfd6c6;max-width:150px;font-size:11px;line-height:1.6}
.button-yellow{background:var(--yellow);color:var(--ink);border:1px solid var(--yellow);border-radius:12px;box-shadow:none;font:650 12px DM,Arial,sans-serif;padding:16px 22px}.button-yellow:hover{background:#ffd079;box-shadow:none;transform:translateY(-1px)}
.depth-track a{color:#d6cbb9}.depth-track:before{background:#ded2ba40}.depth-track a:after{background:#ded2ba70}.depth-track a[aria-current]{color:white}.depth-track a[aria-current]:after{background:#f1b647;box-shadow:0 0 0 4px #f1b64722}
.scene-bottom{bottom:17px}.scene-bottom #barrel-label,.scene-bottom button{color:#d8d0c1;font-family:DM,Arial,sans-serif;font-size:9px;letter-spacing:.6px}
.cat-button img{filter:drop-shadow(3px 12px 10px #00000040)}.cat-speech{border-radius:14px;box-shadow:0 6px 24px #0000002a}
dialog{background:#22211c;border:1px solid #ffffff24;color:var(--paper);border-radius:22px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#101010b3;backdrop-filter:blur(8px)}.dialog-close{border-radius:50%;background:#f2ecdf;color:var(--surface-ink)}#terms-dialog h2{font-family:DM,Arial,sans-serif;font-size:52px;font-weight:750;letter-spacing:-2.5px;color:var(--paper);line-height:1.05}#terms-dialog .faq p{color:#d6ccbb}.dialog-toolbar a{color:#f0d9af}.toast{background:#f2ecdf;color:var(--surface-ink);border-radius:12px;border:1px solid #d3c5ab;box-shadow:0 8px 32px #00000040}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#ffd88b}
@media(min-width:701px) and (max-height:850px){.chapter-panel h1{font-size:7.3vw}.chapter-panel h2{font-size:5.8vw}.field-panel h2{font-size:43px}.details-panel h2{font-size:52px}.final-panel h2{font-size:5.8vw}}
@media(min-width:701px) and (max-width:1050px){.chapter-panel h1{font-size:8vw}.chapter-panel h2{font-size:6.5vw}.field-panel h2{font-size:42px}.details-panel h2{font-size:46px}.rig-note{display:none}}
@media(max-width:700px){
 .site-header{top:10px;left:10px;right:10px;height:64px;padding:0 9px;border-radius:17px;gap:5px}.wordmark{gap:6px}.wordmark>span{font-size:17px;letter-spacing:-.8px}.wordmark .brand-cat{width:35px;height:39px}.brand-cat img{width:122px;height:122px;left:-44px;top:-4px}.header-actions{gap:5px}.header-action{min-width:48px;padding:5px 6px;border-radius:10px}.header-action strong{font-size:10px}.header-action small{font-size:7px}.header-actions .nav-launch{padding:0 7px;font-size:10px;border-radius:10px;gap:4px}.header-actions .nav-launch span{font-size:13px}
 .chapter-panel h1{font-size:clamp(43px,12.8vw,65px);letter-spacing:-.04em;margin-bottom:17px}.chapter-panel h2{font-size:clamp(40px,11.7vw,64px)}.field-panel h2{font-size:10.4vw}.details-panel h2{font-size:11vw}.final-panel h2{font-size:11.8vw}.chapter-panel .hero-description{font-size:14px!important}.chapter-panel>p.quiet{color:#d8cfbd}
 .underground-photo{border-radius:14px;padding:6px}.photo-open{border-radius:9px}.photo-nav>span{font-size:7px}.photo-open>span{font-size:7px;padding:4px 6px}
 .rig-controls{left:7vw;right:7vw;bottom:58px;max-width:none;gap:8px 10px;padding:11px 12px;border-radius:17px;grid-template-columns:60px 1fr}.rig-readout{min-width:0}.rig-readout strong{font-size:25px}.rig-readout .micro{font-size:7px}.drill-button{height:48px;min-width:0;padding:0 13px;font-size:11px;gap:8px}.rig-note{margin:0;max-width:none;justify-content:center}.rig-note>span:first-child{font-size:9px}.scene-bottom{bottom:10px}.scene-bottom #barrel-label,.scene-bottom button{font-size:7px}.final-panel>.button-yellow{font:650 11px DM,Arial,sans-serif;min-width:185px;padding:14px 18px}.surface-link{font-size:9px}#terms-dialog h2{font-size:40px}
}
@media(max-width:380px){.wordmark{gap:4px}.wordmark>span{font-size:15px}.header-actions{gap:4px}.header-actions .nav-launch{padding:0 5px;font-size:9px}.header-action{min-width:44px;padding:5px}.header-action strong{font-size:9px}.header-action small{font-size:6px}}
@media(prefers-reduced-motion:reduce){.rig-controls{margin:0 7vw;left:auto;right:auto;bottom:auto;margin-bottom:30px}.scene-shade{background:#111111d1}}
.rig-readout strong{white-space:nowrap}.rig-readout strong small{margin-left:3px}
@media(max-width:700px){.rig-controls{grid-template-columns:70px 1fr}}

/* Scroll-driven drilling: a registered emitter and small, scale-free vibrations. */
.particles{bottom:auto;width:0;height:0;overflow:visible;pointer-events:none}
.particle{width:var(--size);height:calc(var(--size) * .75);border-radius:32% 63% 36% 48%;animation:drill-debris var(--life) linear forwards;will-change:transform,opacity}
.particle.dust{height:calc(var(--size) * .48);border-radius:50%;filter:blur(4px);animation-name:drill-dust}
.particle.oil{border-radius:50% 50% 48% 24%;box-shadow:inset 0 1px 0 #d2c8a980}
.scroll-drilling .cat-button,.drilling .cat-button{animation:working-cat .14s linear infinite;transform-origin:50% 95%}
@keyframes working-cat{0%,100%{transform:translate(0,0)}25%{transform:translate(calc(var(--shake,1) * -.8px),calc(var(--shake,1) * 1px))}50%{transform:translate(calc(var(--shake,1) * .8px),calc(var(--shake,1) * -.5px))}75%{transform:translate(calc(var(--shake,1) * -.4px),calc(var(--shake,1) * .4px))}}
@keyframes drill-debris{0%{opacity:0;transform:translate(-50%,-50%) rotate(0)}8%{opacity:.95}40%{opacity:.9;transform:translate(calc(var(--dx) * .55),var(--rise)) rotate(calc(var(--spin) * .5))}75%{opacity:.65;transform:translate(calc(var(--dx) * .85),calc(var(--rise) * .55)) rotate(calc(var(--spin) * .85))}100%{opacity:0;transform:translate(var(--dx),var(--fall)) rotate(var(--spin))}}
@keyframes drill-dust{0%{opacity:0;transform:translate(-50%,-30%) scale(.4)}20%{opacity:.22}100%{opacity:0;transform:translate(calc(var(--dx) * .4),calc(var(--rise) * .4)) scale(2.2)}}
@media(prefers-reduced-motion:reduce){.particles{display:none}.scroll-drilling .cat-button,.drilling .cat-button{animation:none!important}}
.site-header button:focus-visible,.site-header a:focus-visible{outline-color:var(--ink)}
