/* swe3we-os: a Linux-style desktop portfolio. A terminal boot, a 3D laptop
   that opens and flies you into its screen, then real windows for each
   project. Fonts are self-hosted (no third parties). */
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Michroma;src:url(fonts/michroma.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --ink:#04060a; --panel:#0d1117; --panel2:#151b23; --line:#232c38; --dim:#8794a8; --bone:#e6edf6;
  --acc:#3cffb4; --acc-ink:#03140d;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ui:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --top:30px; --dock:68px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--ui);font-size:15px;line-height:1.55;overflow:hidden}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
::selection{background:var(--acc);color:#000}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--acc);color:#000;padding:8px 12px;border-radius:6px;font-family:var(--mono)}
.skip:focus{top:12px}
@keyframes blink{50%{opacity:0}}

/* ---------- boot ---------- */
#boot{position:fixed;inset:0;z-index:90;background:#020305;display:flex;align-items:flex-start;justify-content:flex-start;padding:clamp(20px,6vw,80px);transition:opacity .5s ease,visibility .5s}
#boot.done{opacity:0;visibility:hidden}
#boot pre{margin:0;font-family:var(--mono);font-size:clamp(12px,1.6vw,16px);line-height:1.7;color:var(--acc);white-space:pre-wrap;text-shadow:0 0 12px rgba(60,255,180,.45)}
#boot pre .w{color:#cfe8ff}
#boot-skip,#intro-skip{all:unset;position:absolute;right:24px;bottom:22px;font-family:var(--mono);font-size:13px;color:var(--dim);cursor:pointer;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.35)}
#boot-skip:hover,#intro-skip:hover{color:var(--bone)}

/* ---------- intro ---------- */
#intro{position:fixed;inset:0;z-index:80;background:radial-gradient(1200px 700px at 50% 70%,#0b1a16,#030507 70%);transition:opacity .7s ease,visibility .7s}
#intro.done{opacity:0;visibility:hidden}
#intro canvas{display:block;width:100%;height:100%}
html:not(.intro) #intro{display:none}

/* ---------- desktop ---------- */
.desktop{position:fixed;inset:0;overflow:hidden;background:
  radial-gradient(900px 600px at 78% 18%,rgba(60,255,180,.16),transparent 60%),
  radial-gradient(800px 700px at 10% 100%,rgba(90,110,255,.18),transparent 60%),
  linear-gradient(160deg,#0a0f16,#05070b 60%);
  opacity:0;transition:opacity .6s ease}
.desktop.on{opacity:1}
.desktop::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 60% 40%,#000,transparent 75%);mask-image:radial-gradient(circle at 60% 40%,#000,transparent 75%);pointer-events:none}
.wall{position:absolute;right:6vw;bottom:9vh;text-align:right;pointer-events:none;user-select:none}
.wall-mark{font-family:Michroma,var(--mono);font-size:clamp(46px,8.5vw,140px);line-height:1;letter-spacing:-.01em;color:rgba(230,237,246,.09);-webkit-text-stroke:1px rgba(230,237,246,.14)}
.wall-mark b{font-weight:400;color:rgba(60,255,180,.28);-webkit-text-stroke:1px rgba(60,255,180,.5)}
.wall-sub{font-family:var(--mono);font-size:13px;letter-spacing:.3em;color:rgba(230,237,246,.28);margin-top:10px;text-transform:uppercase}

/* top bar */
.topbar{position:absolute;left:0;right:0;top:0;height:var(--top);z-index:5000;display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:#000;color:#e9eef5;font-size:13.5px;font-weight:600;user-select:none}
.tb-btn{all:unset;cursor:pointer;padding:3px 12px;border-radius:999px;line-height:1.4}
.tb-btn:hover,.tb-btn[aria-expanded="true"]{background:rgba(255,255,255,.14)}
.tb-btn:focus-visible{outline:2px solid var(--acc)}
.tb-clock{position:absolute;left:50%;transform:translateX(-50%);font-variant-numeric:tabular-nums}
.tb-tray{display:flex;align-items:center;gap:2px;position:relative}
.tb-ico,.tb-power{display:inline-flex;align-items:center;padding:3px 7px}
.tb-ico svg,.tb-power svg{width:15px;height:15px;fill:#e9eef5}
.tb-menu{position:absolute;right:0;top:calc(var(--top) - 2px);width:230px;background:#1d232c;border:1px solid #2c3542;border-radius:14px;padding:8px;box-shadow:0 18px 50px rgba(0,0,0,.55);font-weight:500}
.tb-menu button{all:unset;display:block;width:100%;box-sizing:border-box;padding:9px 12px;border-radius:8px;cursor:pointer}
.tb-menu button:hover,.tb-menu button:focus-visible{background:rgba(255,255,255,.08)}
.tb-menu-foot{font-family:var(--mono);font-size:11px;color:var(--dim);padding:8px 12px 4px;border-top:1px solid #2c3542;margin-top:6px}

/* dock */
.dock{position:absolute;left:0;top:var(--top);bottom:0;width:var(--dock);z-index:4000;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0;background:rgba(10,13,18,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-right:1px solid rgba(255,255,255,.06)}
.dock button{all:unset;position:relative;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;cursor:pointer;transition:background .15s,transform .15s}
.dock button:hover{background:rgba(255,255,255,.1)}
.dock button:active{transform:scale(.94)}
.dock button:focus-visible{outline:2px solid var(--acc)}
.dock button svg{width:40px;height:40px;display:block}
.dock .run::before{content:"";position:absolute;left:-9px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--acc)}
.dock .sep{width:36px;height:1px;background:rgba(255,255,255,.12);margin:2px 0}
.dock .grid{margin-top:auto}
.dock .tip{position:absolute;left:58px;top:50%;transform:translateY(-50%);white-space:nowrap;background:#1d232c;border:1px solid #2c3542;padding:4px 10px;border-radius:8px;font-size:12.5px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .12s}
.dock button:hover .tip,.dock button:focus-visible .tip{opacity:1}

/* desktop icons */
.icons{position:absolute;left:calc(var(--dock) + 18px);top:calc(var(--top) + 18px);margin:0;padding:0;list-style:none;display:grid;grid-auto-flow:column;grid-template-rows:repeat(auto-fill,104px);grid-auto-columns:96px;gap:6px 10px;max-height:calc(100% - var(--top) - 36px);z-index:10}
.icons button{all:unset;width:96px;height:100px;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:6px;border-radius:10px;cursor:pointer;text-align:center}
.icons button:hover{background:rgba(255,255,255,.07)}
.icons button:focus-visible,.icons button.sel{background:rgba(60,255,180,.14);outline:1px solid rgba(60,255,180,.5)}
.icons svg{width:54px;height:54px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.icons span{font-size:12.5px;font-weight:600;line-height:1.2;text-shadow:0 1px 3px #000;padding:0 4px}

/* overview */
.overview{position:absolute;inset:var(--top) 0 0 var(--dock);z-index:4500;background:rgba(4,6,10,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:center;padding-top:7vh}
.overview[hidden]{display:none}
.ov-title{font-weight:600;color:var(--dim);margin-bottom:26px}
.ov-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,120px);gap:18px}
.ov-grid button{all:unset;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 6px;border-radius:14px;cursor:pointer;font-weight:600;font-size:13.5px}
.ov-grid button:hover,.ov-grid button:focus-visible{background:rgba(255,255,255,.08)}
.ov-grid svg{width:72px;height:72px}

/* toast */
.toast{position:absolute;left:50%;bottom:28px;transform:translate(-50%,20px);z-index:6000;background:#1d232c;border:1px solid #2c3542;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- windows ---------- */
.win{position:absolute;z-index:100;display:flex;flex-direction:column;min-width:320px;min-height:220px;background:var(--panel);border:1px solid #2a3340;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4);animation:winIn .22s cubic-bezier(.2,.8,.2,1)}
.win.focus{border-color:#3a4554;box-shadow:0 34px 90px rgba(0,0,0,.7),0 0 0 1px rgba(60,255,180,.12)}
.win.closing{animation:winOut .16s ease forwards}
.win.min{animation:winMin .22s ease forwards}
.win.max{left:var(--dock)!important;top:var(--top)!important;width:calc(100% - var(--dock))!important;height:calc(100% - var(--top))!important;border-radius:0}
@keyframes winIn{from{opacity:0;transform:scale(.94) translateY(10px)}}
@keyframes winOut{to{opacity:0;transform:scale(.96)}}
@keyframes winMin{to{opacity:0;transform:translateX(-30%) scale(.4)}}
.win-bar{flex:0 0 38px;display:flex;align-items:center;justify-content:center;position:relative;background:#1a2029;border-bottom:1px solid #262f3b;cursor:grab;user-select:none;touch-action:none}
.win-bar:active{cursor:grabbing}
.win-title{font-size:13.5px;font-weight:600;color:#cfd8e3;display:flex;align-items:center;gap:8px;max-width:calc(100% - 140px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.win-title svg{width:18px;height:18px;flex:none}
.win:not(.focus) .win-title{color:#7f8ba0}
.win-btns{position:absolute;right:8px;display:flex;gap:6px}
.win-btns button{all:unset;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:#2a323d;color:#cfd8e3;font-size:14px;line-height:1}
.win-btns button:hover{background:#3a4452}
.win-btns .x{background:#e95420;color:#fff}
.win-btns .x:hover{background:#ff6a33}
.win-btns button:focus-visible{outline:2px solid var(--acc)}
.win-body{flex:1;overflow:auto;overscroll-behavior:contain;container-type:inline-size}

/* ---------- app content ---------- */
.apps{display:none}
html:not(.js) .desktop,html:not(.js) #boot,html:not(.js) #intro{display:none}
html:not(.js) body{overflow:auto}
html:not(.js) .apps{display:block;max-width:900px;margin:0 auto;padding:30px 20px}
html:not(.js) .app{border:1px solid var(--line);border-radius:12px;margin:0 0 24px;overflow:hidden}

.eyebrow{font-family:var(--mono);font-size:12.5px;color:var(--acc);letter-spacing:.02em}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:9px;background:var(--acc);color:var(--acc-ink);font-family:var(--mono);font-weight:700;font-size:13.5px;text-decoration:none;border:1px solid transparent;transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--bone);border-color:#3a4554}

.proj{--a:var(--acc);background:var(--panel)}
.proj-shot{margin:0;position:relative;aspect-ratio:16/10;overflow:hidden;background:#000;border-bottom:1px solid var(--line)}
.proj-shot img{width:100%;height:100%;object-fit:cover;display:block}
.proj-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,17,23,.85))}
.proj-body{padding:4px 28px 28px;margin-top:-34px;position:relative}
.proj h2{font-family:Michroma,var(--mono);font-weight:400;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.01em;margin:8px 0 2px;color:#fff}
.proj .lede{font-family:var(--mono);font-weight:700;font-size:16px;color:var(--a);margin:0 0 12px}
.proj p{color:#c3ccd8;max-width:68ch;margin:0 0 16px}
.specs{display:flex;gap:30px;flex-wrap:wrap;margin:0 0 16px}
.specs div{min-width:80px}
.specs dt{font-family:var(--mono);font-weight:800;font-size:26px;color:var(--a);line-height:1.1}
.specs dd{margin:2px 0 0;font-size:12.5px;color:var(--dim)}
.tags{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{font-family:var(--mono);font-size:12px;padding:4px 9px;border:1px solid #333d4a;border-radius:6px;color:#c3ccd8}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.proj .btn{background:var(--a);color:#06080c}
.proj .btn.ghost{background:transparent;color:var(--bone)}
.proj.light{background:#fdf3ed;color:#5c4433}
.proj.light .proj-shot::after{background:linear-gradient(180deg,transparent 55%,rgba(253,243,237,.92))}
.proj.light h2{color:#5c4433}.proj.light p{color:#6f5a4a}.proj.light .eyebrow{color:#a47d46}
.proj.light .specs dd{color:#8f7a68}.proj.light .tags li{border-color:#e3cba0;color:#6f5a4a}
.proj.light .btn{color:#fff;background:#5c4433}

.doc{background:#fbfbf8;color:#1f2328}
.doc-body{padding:26px 34px 34px;font-family:var(--mono);font-size:14px;line-height:1.75;max-width:78ch}
.doc h2,.doc h3{font-family:var(--mono);margin:0 0 10px;color:#0b6e4f}
.doc h2{font-size:20px}.doc h3{font-size:15px;margin-top:22px}
.doc p{margin:0 0 12px}.doc ul{padding-left:18px;margin:0 0 12px}
.doc a{color:#0b6e4f}
.doc-foot{color:#6b7280;font-size:12px;margin-top:22px!important}

.contact-body{padding:30px 32px 34px}
.contact h2{font-family:Michroma,var(--mono);font-weight:400;font-size:26px;margin:0 0 8px}
.contact p{color:#c3ccd8;margin:0 0 20px}
.contact-list{list-style:none;margin:0 0 24px;padding:0;font-family:var(--mono);font-size:14.5px}
.contact-list li{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.contact-list span{width:92px;flex:none;color:var(--acc)}
.contact-list a{text-decoration:none;border-bottom:1px solid rgba(60,255,180,.4)}
.contact-list a:hover{color:var(--acc)}

.files{background:var(--panel)}
.files-path{font-size:13px;color:var(--dim);padding:12px 18px;border-bottom:1px solid var(--line);font-weight:600}
.files-grid{list-style:none;margin:0;padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.files-grid button{all:unset;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;cursor:pointer;width:100%;box-sizing:border-box}
.files-grid button:hover,.files-grid button:focus-visible{background:rgba(255,255,255,.06)}
.files-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.files-grid b{font-size:13.5px}.files-grid small{color:var(--dim);font-size:12px}

.term{background:#0a0d12;font-family:var(--mono);font-size:13.5px;line-height:1.6;color:#d6e2ef;height:100%;display:flex;flex-direction:column;padding:12px 16px;cursor:text}
.term-out{white-space:pre-wrap;word-break:break-word}
.term-out .c{color:var(--acc)}.term-out .d{color:var(--dim)}.term-out .e{color:#ff7a7a}.term-out .b{color:#8fb8ff}
.term-out a{color:var(--acc)}
.term-line{display:flex;gap:8px;align-items:baseline}
.term-line label{white-space:nowrap}
.term-line .p1{color:var(--acc);font-weight:700}.term-line .p2{color:#8fb8ff;font-weight:700}
.term-line input{all:unset;flex:1;min-width:0;caret-color:var(--acc);font:inherit;color:#fff}

/* ---------- the Manual app ---------- */
.man{background:#05070b;font-family:var(--mono);color:#c3ccd8}
.man-wrap{max-width:980px;margin:0 auto;padding:34px 30px 30px}
.man-head{display:flex;justify-content:space-between;font-size:12.5px;color:var(--dim);margin-bottom:40px}
.man section{margin:0 0 44px}
.man-h{font-size:13px;letter-spacing:.14em;color:var(--acc);margin:0 0 14px;font-weight:700}
.man h1{font-family:Michroma,var(--mono);font-weight:400;font-size:clamp(22px,3vw,32px);line-height:1.3;color:#fff;margin:0 0 16px;letter-spacing:-.01em}
.man p{font-family:var(--ui);font-size:16px;line-height:1.7;margin:0 0 12px;max-width:70ch}
.man a{color:var(--acc);text-decoration:none;border-bottom:1px solid rgba(60,255,180,.35)}
.man a:hover{border-bottom-color:var(--acc)}
.man-work{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@container (min-width:700px){.man-work{grid-template-columns:repeat(2,minmax(0,1fr))}}
.man-work article{border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:var(--panel)}
.man-work h3{font-family:Michroma,var(--mono);font-weight:400;font-size:19px;color:#fff;margin:0 0 10px}
.man-work p{font-size:14.5px}
.man-links{font-family:var(--mono)!important;font-size:13px!important;margin:0!important}
.man-list{list-style:none;padding:0;margin:0;font-family:var(--ui);font-size:15.5px;line-height:1.6}
.man-list li{padding:10px 0;border-bottom:1px solid var(--line)}
.man-list b{color:#fff}
.man-faq details{border-bottom:1px solid var(--line);padding:12px 0}
.man-faq summary{cursor:pointer;color:#fff;font-size:15px;list-style:none}
.man-faq summary::before{content:"$ ";color:var(--acc)}
.man-faq summary::-webkit-details-marker{display:none}
.man-faq p{margin:10px 0 0}
.man-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:12.5px;color:var(--dim)}

/* wide project windows: screenshot beside the text */
@container (min-width:780px){
  .proj{display:grid;grid-template-columns:1.05fr 1fr;min-height:100%}
  .proj-shot{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line)}
  .proj-shot img{object-position:left center}
  .proj-shot::after{background:linear-gradient(90deg,transparent 70%,rgba(13,17,23,.6))}
  .proj.light .proj-shot::after{background:linear-gradient(90deg,transparent 70%,rgba(253,243,237,.6))}
  .proj-body{margin-top:0;padding:26px 28px 28px;align-self:center}
}

/* Instagram app */
.insta{background:#000;color:#f5f5f5;min-height:100%}
.ig-head{display:flex;gap:26px;align-items:center;padding:26px 28px 14px}
.ig-ava{flex:none;width:96px;height:96px;border-radius:50%;padding:3px;background:conic-gradient(from 210deg,#f9ce34,#ee2a7b,#6228d7,#f9ce34)}
.ig-ava span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#0b0b0b;border:3px solid #000;font-family:Michroma,var(--mono);font-size:24px;color:#fff}
.ig-who h2{font-size:19px;font-weight:600;margin:0 0 2px}
.ig-name{margin:0 0 6px;font-weight:600;font-size:14px}
.ig-bio{margin:0;font-size:14px;line-height:1.5;color:#e0e0e0}
.ig-bio a{color:#e0f1ff;text-decoration:none;font-weight:600}
.ig-actions{display:flex;gap:8px;padding:6px 28px 16px}
.ig-actions .btn{flex:1;justify-content:center;font-family:var(--ui);font-size:14px;border-radius:8px;white-space:nowrap}
.ig-follow{background:#0095f6!important;color:#fff!important}
.insta .btn.ghost{background:#262626;border-color:#262626;color:#fff}
.ig-tabs{border-top:1px solid #262626;display:flex;justify-content:center}
.ig-tabs span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:12px 4px;border-top:1px solid #f5f5f5;margin-top:-1px}
.ig-grid{list-style:none;margin:0;padding:0 2px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.ig-grid li{position:relative;aspect-ratio:1;overflow:hidden;background:#111;min-width:0}
.ig-grid button,.ig-grid a{all:unset;position:absolute;inset:0;display:block;overflow:hidden;cursor:pointer;color:#fff}
.ig-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ig-grid button span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);font-weight:700;font-size:14px;opacity:0;transition:opacity .2s;text-align:center;padding:6px}
.ig-grid button:hover span,.ig-grid button:focus-visible span{opacity:1}
.ig-grid button:hover img{transform:scale(1.05)}
.ig-grid button:focus-visible,.ig-grid a:focus-visible{outline:2px solid #0095f6;outline-offset:-2px}
.ig-grid .ig-more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;background:linear-gradient(135deg,#6228d7,#ee2a7b 60%,#f9ce34);font-size:14px;line-height:1.25;padding:10px;box-sizing:border-box}
.ig-more b{font-weight:700}
.ig-more span{font-size:11.5px;opacity:.92;word-break:break-all}
.ig-note{font-size:12px;color:#8e8e8e;padding:14px 28px 22px;margin:0}

/* ---------- phone ---------- */
@media (max-width:760px){
  :root{--dock:0px}
  .dock{top:auto;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;height:66px;flex-direction:row;justify-content:space-around;padding:0 6px;border-radius:20px;border:1px solid rgba(255,255,255,.08)}
  .dock .sep,.dock .tip,.dock .opt{display:none}
  .dock .grid{margin:0}
  .dock .run::before{left:50%;top:auto;bottom:-6px;margin:0 0 0 -2px}
  .icons{left:12px;right:12px;top:calc(var(--top) + 18px);grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(4,1fr);grid-auto-columns:auto;gap:8px 4px;max-height:none}
  .icons button{width:100%;height:96px}
  .icons svg{width:58px;height:58px}
  .wall{left:0;right:0;bottom:120px;text-align:center}
  .tb-clock{position:static;transform:none}
  #activities{display:none}
  .win{left:0!important;top:var(--top)!important;width:100%!important;height:calc(100% - var(--top) - 90px - env(safe-area-inset-bottom,0px))!important;border-radius:0 0 16px 16px;min-width:0}
  .win-bar{cursor:default}
  .win-btns .mx{display:none}
  .proj-body{padding:4px 18px 22px}
  .overview{inset:var(--top) 0 0 0}
  .ov-grid{grid-template-columns:repeat(3,96px)}
  .ov-grid svg{width:58px;height:58px}
  .doc-body{padding:20px 18px 26px;font-size:13px}
  .contact-body{padding:22px 18px}
  .ig-head{gap:16px;padding:20px 16px 10px}
  .ig-ava{width:76px;height:76px}
  .ig-actions{padding:6px 16px 14px}
  .ig-note{padding:12px 16px 18px}
  .man-work{grid-template-columns:minmax(0,1fr)}
  .man-wrap{padding:22px 18px 26px}
  .man-head span:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
