/* Connected portfolio layer */
:root{
  --scene-wash:141,127,255;
}

/* Opening moment */
.site-boot-pulse{
  position:fixed;
  left:50%;top:50%;z-index:9999;
  width:14px;height:14px;
  margin:-7px 0 0 -7px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:50%;
  pointer-events:none;
  animation:siteBootPulse .9s cubic-bezier(.16,1,.3,1) forwards
}
@keyframes siteBootPulse{
  0%{opacity:.9;transform:scale(.4);box-shadow:0 0 0 0 rgba(141,127,255,.18)}
  55%{opacity:.45;box-shadow:0 0 70px 32px rgba(141,127,255,.08)}
  100%{opacity:0;transform:scale(58);box-shadow:0 0 0 0 transparent}
}
body.site-awake .profile-card-v3{animation:profileWake .78s cubic-bezier(.16,1,.3,1) both}
@keyframes profileWake{0%{opacity:.35;transform:translateY(9px) scale(.985);filter:blur(5px)}60%{opacity:1;filter:blur(0)}100%{transform:none}}
body.site-awake .profile-meta-v4>div{animation:metaWake .55s cubic-bezier(.16,1,.3,1) both}
body.site-awake .profile-meta-v4>div:nth-child(2){animation-delay:.06s}
body.site-awake .profile-meta-v4>div:nth-child(3){animation-delay:.12s}
@keyframes metaWake{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Home network line */
.home-network{
  width:100%;min-height:40px;
  margin-top:7px;padding:0 10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:7px;
  background:rgba(255,255,255,.018);
  color:#d9dce2;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;
  text-align:left;cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease
}
.home-network:hover{border-color:rgba(127,215,149,.24);background:rgba(127,215,149,.025);transform:translateY(-1px)}
.home-network>i{width:7px;height:7px;border-radius:50%;background:#67d580;box-shadow:0 0 11px rgba(103,213,128,.42)}
.home-network.has-issue>i{background:#e4b85d;box-shadow:0 0 11px rgba(228,184,93,.35)}
.home-network>span{min-width:0;display:grid;gap:2px}
.home-network strong{font-size:8px;font-weight:600}
.home-network small{font-size:6px;color:#6f7682}
.home-network kbd{border:1px solid rgba(255,255,255,.08);border-bottom-color:rgba(255,255,255,.15);border-radius:4px;background:#11141a;color:#777e8a;padding:4px 6px;font:700 6px/1 ui-monospace,monospace}

/* Project ambience */
body[data-project-scene="death"]{--scene-wash:198,75,75}
body[data-project-scene="g94"]{--scene-wash:229,34,45}
body[data-project-scene="yume"]{--scene-wash:242,154,192}
body[data-project-scene="corp"]{--scene-wash:91,183,247}
body[data-project-scene="vyr"]{--scene-wash:88,166,255}
body[data-project-scene="pcinsight"]{--scene-wash:82,143,220}
body[data-project-scene="rift"]{--scene-wash:216,75,75}
body.browser-portfolio-open .tour{
  background:
    radial-gradient(circle at 50% 10%,rgba(var(--scene-wash),.07),transparent 42%),
    rgba(3,4,7,.93)!important;
  transition:background .55s ease
}
body.browser-portfolio-open .aurora-a{filter:hue-rotate(calc(var(--music-mid) * 5deg)) brightness(calc(1 + var(--music-bass) * .25))}

/* New tab gets hierarchy */
.explore-progress{
  margin-left:auto;align-self:flex-end;
  border:1px solid rgba(255,255,255,.07);border-radius:7px;background:#101217;color:#dfe2e7;
  padding:8px 10px;display:grid;gap:2px;text-align:right;cursor:pointer
}
.explore-progress span{font-size:10px;font-weight:700}.explore-progress small{font-size:6px;color:#686f7b}
.featured-build{
  width:100%;min-height:190px;margin:0 0 24px;
  border:1px solid rgba(216,75,75,.17);border-radius:12px;
  background:linear-gradient(115deg,#111319 0%,#0d0f13 48%,#120d0f 100%);
  color:#fff;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(360px,1.28fr);gap:24px;align-items:center;
  padding:22px;text-align:left;overflow:hidden;cursor:pointer;
  transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .2s ease
}
.featured-build:hover{transform:translateY(-3px);border-color:rgba(216,75,75,.34);box-shadow:0 18px 45px rgba(0,0,0,.26)}
.featured-copy small{font:700 7px/1 ui-monospace,monospace;letter-spacing:.12em;color:#d56d6d}
.featured-copy h2{margin:7px 0 8px;font-size:31px;letter-spacing:-.05em}
.featured-copy p{max-width:460px;margin:0;color:#8d949f;font-size:9px;line-height:1.65}
.featured-copy span{display:block;margin-top:14px;color:#d6a1a1;font-size:7px}
.featured-window{height:150px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0d0f13;display:grid;grid-template-columns:42px 142px minmax(0,1fr);overflow:hidden;box-shadow:0 18px 38px rgba(0,0,0,.35);transform:rotate(-1deg) translateY(3px)}
.featured-window>aside{padding:8px 6px;background:#090a0d;border-right:1px solid rgba(255,255,255,.055);display:grid;align-content:start;gap:7px}.featured-window>aside i{display:block;width:28px;height:28px;border-radius:8px;background:#171a21}.featured-window>aside i:first-child{background:#d84b4b}
.featured-window>nav{padding:12px 9px;background:#11141a;border-right:1px solid rgba(255,255,255,.055);display:grid;grid-auto-rows:max-content;gap:8px}.featured-window>nav b{font-size:8px;margin-bottom:8px}.featured-window>nav span{font-size:7px;color:#69717d}.featured-window>main{display:grid;grid-template-rows:34px 1fr 1fr 31px;padding:0 10px}.featured-window>main header{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);font-size:7px}.featured-window>main p{margin:10px 0 0;display:grid;grid-template-columns:22px 1fr;gap:7px;align-items:start;font-size:7px;color:#aeb4be}.featured-window>main p b{width:22px;height:22px;border-radius:6px;background:#d84b4b;display:grid;place-items:center;font-size:6px}.featured-window>main footer{align-self:center;border-radius:5px;background:#1d2129;color:#666f7a;padding:7px 8px;font-size:6px}
.site-tile.is-explored,.build-tile.is-explored{position:relative}.site-tile.is-explored::after,.build-tile.is-explored::after{content:"VIEWED";position:absolute;top:8px;right:8px;padding:4px 5px;border:1px solid rgba(127,215,149,.16);border-radius:4px;background:rgba(7,10,9,.72);color:#7fd795;font:700 5px/1 ui-monospace,monospace;letter-spacing:.08em}

/* The personal layer inside each case study */
.project-origin{background:linear-gradient(90deg,rgba(var(--scene-wash),.035),transparent);margin-left:-3px;margin-right:-3px;padding-left:3px!important;padding-right:3px!important}
.project-origin>span{color:rgb(var(--scene-wash))!important}
.project-origin p{color:#a0a7b2!important}
.project-growth{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.project-growth>span{display:block;margin-bottom:9px;color:var(--site-accent);font:700 6px/1 ui-monospace,monospace;letter-spacing:.1em}
.project-growth>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.project-growth b{position:relative;min-width:0;display:grid;gap:4px;padding:7px 6px;border:1px solid rgba(255,255,255,.055);border-radius:5px;background:rgba(255,255,255,.018);color:#9ba2ad;font-size:6px;font-weight:500;line-height:1.35}
.project-growth b:not(:last-child)::after{content:"›";position:absolute;right:-6px;top:50%;z-index:2;transform:translateY(-50%);color:#4d535e}
.project-growth i{font:700 5px/1 ui-monospace,monospace;color:#555c67;font-style:normal}
.project-related{width:100%;margin-top:12px;border:1px solid rgba(255,255,255,.065);border-radius:7px;background:rgba(255,255,255,.018);color:#d9dce1;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.project-related:hover{border-color:rgba(var(--scene-wash),.25);background:rgba(var(--scene-wash),.025);transform:translateY(-1px)}
.project-related>span{display:grid;gap:2px}.project-related small{font-size:5px;color:#686f7a;letter-spacing:.08em}.project-related strong{font-size:8px}.project-related p{margin:2px 0 0;color:#737b87;font-size:6.5px;line-height:1.45}.project-related>b{font-size:7px;color:#777f8b;font-weight:500}

/* Command palette */
.command-palette{position:fixed;inset:0;z-index:10000;background:rgba(2,3,5,.58);backdrop-filter:blur(10px);display:grid;place-items:start center;padding-top:min(18vh,150px)}
.command-palette[hidden]{display:none}.command-panel{width:min(620px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#0d0f13;box-shadow:0 30px 100px rgba(0,0,0,.58);overflow:hidden;animation:commandIn .18s cubic-bezier(.16,1,.3,1) both}
@keyframes commandIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.command-panel>header{height:49px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.07)}
.command-panel>header>span{color:#8d7fff;font-size:12px}.command-panel input{min-width:0;border:0;outline:0;background:transparent;color:#eef0f4;font-size:11px}.command-panel input::placeholder{color:#5f6671}.command-panel kbd{border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#15181e;color:#747b87;padding:4px 5px;font:700 6px/1 ui-monospace,monospace}
.command-results{max-height:min(420px,55vh);overflow:auto;padding:7px}.command-results>button{width:100%;min-height:43px;border:0;border-radius:7px;background:transparent;color:#dfe2e7;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 9px;text-align:left}.command-results>button.active{background:#181b22}.command-results>button>span{display:grid;gap:3px}.command-results small{font-size:5px;letter-spacing:.08em;color:#666d78;text-transform:uppercase}.command-results strong{font-size:8.5px}.command-results em{font-style:normal;font:6.5px/1 ui-monospace,monospace;color:#68707c}.command-results>p{margin:24px;text-align:center;color:#707783;font-size:8px}.command-panel>footer{min-height:30px;border-top:1px solid rgba(255,255,255,.06);padding:0 10px;display:flex;align-items:center;gap:14px;color:#5f6671;font-size:6px}

/* Custom browser protocol pages */
.shell-special-mode{--site-accent:#8d7fff}.browser-special{width:min(1120px,calc(100% - 42px));margin:0 auto;padding:38px 0 50px;color:#e9ebef}
.browser-special-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:23px;border-bottom:1px solid rgba(255,255,255,.075)}
.browser-special-hero>div{max-width:760px}.browser-special-hero span{font:700 7px/1 ui-monospace,monospace;letter-spacing:.12em;color:#8d7fff}.browser-special-hero h1{margin:8px 0 8px;font-size:29px;letter-spacing:-.045em}.browser-special-hero p{margin:0;color:#858c97;font-size:9px;line-height:1.6}.browser-special-hero>button{border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#14171c;color:#cdd1d7;padding:8px 9px;font-size:7px}
.status-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.status-summary article{border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#101217;padding:13px;display:grid;gap:4px}.status-summary span{font-size:6px;color:#626a76;letter-spacing:.08em}.status-summary strong{font-size:15px}.status-summary small{font-size:6px;color:#6d7480}.status-grid{display:grid;gap:6px;margin-top:15px}.status-row{min-height:54px;border:1px solid rgba(255,255,255,.065);border-radius:7px;background:#0f1116;color:#e1e4e9;padding:0 12px;display:grid;grid-template-columns:8px minmax(0,1fr) 80px 70px;gap:10px;align-items:center;text-align:left}.status-row:hover{background:#13161c;border-color:rgba(255,255,255,.12)}.status-row>i{width:7px;height:7px;border-radius:50%;background:#67d580;box-shadow:0 0 9px rgba(103,213,128,.35)}.status-row.is-degraded>i{background:#e4b85d}.status-row.is-offline>i{background:#d56363}.status-row.is-desktop>i{border-radius:2px;background:#8ab7ff}.status-row.is-development>i{background:#d48a67}.status-row>span{display:grid;gap:3px}.status-row strong{font-size:9px}.status-row small{font-size:6px;color:#696f7a}.status-row>b{text-transform:uppercase;font:700 6px/1 ui-monospace,monospace;color:#7fd795}.status-row.is-development>b{color:#d6a26f}.status-row.is-desktop>b{color:#8ab7ff}.status-row>em{text-align:right;font-style:normal;font:6px/1 ui-monospace,monospace;color:#646b76}.status-loading{padding:30px;border:1px dashed rgba(255,255,255,.08);border-radius:8px;color:#6d7480;text-align:center;font-size:8px}.status-loading.is-error{color:#b77777}.status-footer{margin-top:10px;display:flex;align-items:center;justify-content:space-between;color:#646b76;font-size:6px}.status-footer button{border:1px solid rgba(255,255,255,.07);border-radius:5px;background:#11141a;color:#a3a9b3;padding:6px 8px;font-size:6px}
.history-progress{margin-top:20px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#101217;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center}.history-progress strong{grid-row:1/3;font-size:24px}.history-progress span{font-size:7px;color:#777e8a}.history-progress>i{height:3px;background:#1e2229;overflow:hidden}.history-progress>i b{display:block;height:100%;background:#8d7fff}.history-list{display:grid;gap:5px;margin-top:13px}.history-list button{min-height:50px;border:1px solid rgba(255,255,255,.06);border-radius:7px;background:#0f1116;color:#dfe2e7;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:0 11px;text-align:left}.history-list button:hover{background:#14171d}.history-list button>b{font:700 6px/1 ui-monospace,monospace;color:#575f6b}.history-list button>span{display:grid;gap:3px}.history-list strong{font-size:8px}.history-list small{font-size:6px;color:#69717c}.history-list em{font-style:normal;color:#777f8c;font-size:6px}.history-empty{padding:30px;text-align:center;color:#727986;font-size:8px}
.music-lab{margin-top:22px;min-height:280px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:linear-gradient(120deg,#0e1015,#100d13);display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center;padding:24px}.music-lab-cover{position:relative;width:180px;height:180px;border-radius:10px;background:radial-gradient(circle at 42% 36%,#2b2738,#0a0b0f 68%);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;box-shadow:0 20px 45px rgba(0,0,0,.35)}.music-lab-cover span{font-size:28px;font-weight:900;letter-spacing:-.08em}.music-lab-cover i{position:absolute;inset:12px;border:1px solid rgba(141,127,255,.16);border-radius:50%;transform:scale(calc(.82 + var(--music-bass) * .12))}.music-lab-copy{display:grid;align-content:center}.music-lab-copy>span{font:700 6px/1 ui-monospace,monospace;letter-spacing:.12em;color:#8d7fff}.music-lab-copy>strong{margin-top:8px;font-size:21px}.music-lab-copy>small{margin-top:3px;color:#777f8b;font-size:8px}.music-lab-bars{height:75px;margin-top:20px;display:flex;align-items:end;gap:4px}.music-lab-bars i{flex:1;max-width:7px;height:calc(8px + var(--music-energy) * 48px);background:#8d7fff;opacity:.65;transform-origin:bottom;transform:scaleY(calc(.55 + var(--music-mid) * .8))}.music-lab-copy>button{justify-self:start;margin-top:16px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#171a20;color:#ddd;padding:8px 10px;font-size:7px}
.stack-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.stack-detail-grid article{min-height:130px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#101217;padding:15px}.stack-detail-grid span{font:700 6px/1 ui-monospace,monospace;letter-spacing:.09em;color:#8d7fff}.stack-detail-grid strong{display:block;margin-top:8px;font-size:13px}.stack-detail-grid p{margin:7px 0 0;color:#7f8692;font-size:8px;line-height:1.58}

@media(max-width:900px){
  .featured-build{grid-template-columns:1fr}.featured-window{height:135px}.browser-special{width:calc(100% - 24px)}.project-growth>div{grid-template-columns:1fr 1fr}.status-summary{grid-template-columns:1fr}.music-lab{grid-template-columns:150px 1fr}.music-lab-cover{width:130px;height:130px}
}
@media(max-width:620px){
  .profile-meta-v4{grid-template-columns:1fr!important}.home-network kbd{display:none}.featured-build{padding:15px;min-height:160px}.featured-window{display:none}.featured-copy h2{font-size:25px}.explore-progress{margin:12px 0 0;text-align:left}.browser-special-hero{display:block}.browser-special-hero>button{margin-top:15px}.status-row{grid-template-columns:8px minmax(0,1fr) auto}.status-row>em{display:none}.music-lab{grid-template-columns:1fr}.music-lab-cover{width:120px;height:120px}.stack-detail-grid{grid-template-columns:1fr}.project-growth>div{grid-template-columns:1fr 1fr}.command-panel>footer span:first-child{display:none}
}
@media(prefers-reduced-motion:reduce){
  .site-boot-pulse,body.site-awake .profile-card-v3,body.site-awake .profile-meta-v4>div,.command-panel{animation:none!important}.featured-build,.project-related,.home-network{transition:none!important}
}
