:root{--bg:#ffffff;--bg2:#ffffff;--fg:#000;--dim:#666;--line:#000;--sel:#000;--selfg:#fff;--mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;--side:250px;--bar:36px;--img-filter:none}
:root[data-theme="dark"]{--bg:#0d0d0d;--bg2:#141414;--fg:#e8e8e3;--dim:#8a8a84;--line:#e8e8e3;--sel:#e8e8e3;--selfg:#0d0d0d}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;cursor:url(/cursor.png) 9 1,auto;background:var(--bg);color:var(--fg);font:13px/1.55 var(--mono);-webkit-font-smoothing:antialiased;padding-bottom:var(--bar)}
a{color:inherit;text-decoration:none}
a,button,.tabs a,.tile a,.card{cursor:url(/cursor.png) 9 1,pointer}
@media(hover:none){body,a,button{cursor:auto}}
a.u,.txt a{text-decoration:underline;text-underline-offset:3px}
a.u:hover,.txt a:hover{background:var(--sel);color:var(--selfg)}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--sel);color:var(--selfg)}
.dim{color:var(--dim)}
.k{color:var(--dim)}
.k b{color:var(--fg);font-weight:400}
b,strong{font-weight:700}
h1,h2,h3{font-weight:700;margin:0}
.panel{border:1px solid var(--line);background:var(--bg2);padding:14px 16px;margin-bottom:12px}
.panel-t{font-weight:700;margin-bottom:8px}
.gal img,.lb img,.card-th img.c,.h-pv{filter:var(--img-filter)}

/* sidebar */
.side{position:fixed;left:0;top:0;bottom:var(--bar);width:var(--side);border-right:1px solid var(--line);background:var(--bg);overflow:auto;padding:12px 14px;display:flex;flex-direction:column;z-index:40}
.side .name{display:block;font-weight:700;border:1px solid var(--line);padding:8px 10px;margin-bottom:12px;background:var(--bg2)}
.side .name:hover{background:var(--sel);color:var(--selfg)}
.burger{display:none}
.menu .grp{margin-bottom:12px}
.grp-t{color:var(--dim);font-size:11px;margin-bottom:2px}
.menu ul{list-style:none;margin:0;padding:0}
.menu li a{display:block;padding:1px 6px}
.menu li a::before{content:"· ";color:var(--dim)}
.menu li a:hover,.menu li.on a{background:var(--sel);color:var(--selfg)}
.menu li.on a::before{content:"> ";color:var(--selfg)}
.side .links{margin-top:auto;padding-top:14px;font-size:11px;color:var(--dim);display:flex;flex-direction:column;gap:2px}
.side .links a:hover{color:var(--fg);text-decoration:underline}

.main{margin-left:var(--side);padding:12px 14px 30px;max-width:1240px}

/* status bar */
.bar{position:fixed;left:0;right:0;bottom:0;height:var(--bar);border-top:1px solid var(--line);background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;font-size:11px;z-index:45;white-space:nowrap;overflow:hidden}
.bar .k{margin-right:14px}
.bar .r a{margin-left:14px}
.bar a:hover{text-decoration:underline}

/* hero */
.hero{position:relative;min-height:460px;padding-bottom:150px}
.hero-txt{position:relative;z-index:2;max-width:520px}
.cut{position:absolute;z-index:1;user-select:none;transition:transform .08s}
.cut img{width:100%;height:auto}
.cut:hover{transform:translate(3px,-4px)}
.cut-1{right:6%;top:0;width:130px}
.cut-2{right:28%;top:12%;width:150px}
.cut-3{right:14%;bottom:0;width:140px}
.cut-4{left:40%;bottom:6%;width:95px}
.cut{transform-origin:50% 0;transition:transform .25s ease-out}
.cut-tv{left:0;bottom:0;width:240px;border:1px solid var(--line);background:#000;padding:4px;transform-origin:50% 50%}
.cut-tv:hover{filter:none;transform:none}
.cut-tv.flash .ch{filter:invert(1)}
.cut-tv .ch{display:none;aspect-ratio:4/3;overflow:hidden;background:#000}
.cut-tv .ch.on{display:block}
.cut-tv video,.cut-tv .stills img{width:100%;height:100%;object-fit:cover;display:block}
.cut-tv .stills img{display:none}
.cut-tv .stills img.on{display:block}
.tv-bar{display:flex;align-items:center;gap:8px;font-size:10px;color:#aaa;padding:4px 2px 0;background:#000}
.tv-ch{color:#39ff5a;font-weight:700}
.tv-cap{color:#ddd;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-cap:hover{color:#fff;text-decoration:underline}
.tv-next{background:none;border:1px solid #666;color:#ddd;font:11px var(--mono);padding:0 6px;line-height:16px}
.tv-next:hover{background:#fff;color:#000}
.H{font-family:"Arial Black","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.04em}
.hero-name{font-size:clamp(40px,5.6vw,92px);line-height:.9;margin:0 0 16px;max-width:60%}
.side .name.H{font-size:13px;letter-spacing:-.02em}
.hero-line{margin:0 0 14px}
.no{list-style:none;margin:0 0 16px;padding:0;columns:2;color:var(--dim)}
.no li{text-decoration:line-through;padding:1px 0}
.hero-links a{text-decoration:underline;text-underline-offset:3px}
.hero-links a:hover{background:var(--sel);color:var(--selfg)}
.themes{border-top:1px solid var(--line);margin-top:14px;padding-top:8px;font-size:11px}
.themes a{margin-right:10px;text-decoration:underline;text-underline-offset:3px}
.themes a.on{background:var(--sel);color:var(--selfg);text-decoration:none;padding:0 4px}

/* tabs + feed */
.tabs{display:flex;border:1px solid var(--line);margin:0 0 12px;background:var(--bg2);overflow:auto}
.tabs a{flex:1;text-align:center;padding:6px 10px;border-right:1px solid var(--line);white-space:nowrap}
.tabs a:last-child{border-right:0}
.tabs a:hover{text-decoration:underline}
.tabs a.on{background:var(--sel);color:var(--selfg)}
.feed-t{color:var(--dim);margin:0 0 10px}
.card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;border:1px solid var(--line);background:var(--bg2);padding:12px;margin-bottom:10px;position:relative}
.card[hidden]{display:none}
.card.focus,.card:hover{outline:2px solid var(--line);outline-offset:-2px}
.card-th{position:relative;aspect-ratio:1;overflow:hidden;background:var(--bg)}
.card-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-th img.c{opacity:0;transition:opacity .15s}
.card:hover .card-th img.c,.card.focus .card-th img.c{opacity:1}
:root[data-theme="dark"] .card-th img.d{filter:invert(1)}
.card-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.card-h h3{font-size:14px}
.card-h h3 a:hover{text-decoration:underline}
.card-meta{color:var(--dim);font-size:11px}
.card-x{margin:8px 0 0;color:var(--fg);max-width:70ch}
.card-f{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:11px;color:var(--dim)}
.card-f a:hover{text-decoration:underline;color:var(--fg)}
.card-f .open{border:1px solid var(--line);padding:1px 8px;color:var(--fg)}
.card-f .open:hover{background:var(--sel);color:var(--selfg);text-decoration:none}

/* galleries */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.gal-1{grid-template-columns:1fr;gap:12px}
.tile{margin:0;border:1px solid var(--line);background:var(--bg2);padding:10px;text-align:center}
.tile a{display:block}
.tile img{margin:0 auto;background:var(--bg)}
.gal-1 .tile img{width:auto;max-width:100%;max-height:84vh}
.tile figcaption{font-size:11px;color:var(--dim);margin-top:8px;text-align:left}
.tile:hover{outline:2px solid var(--line);outline-offset:-2px}
.h-pv{position:fixed;width:300px;max-height:380px;object-fit:contain;pointer-events:none;z-index:30;opacity:0;transition:opacity .12s;border:1px solid var(--line);background:var(--bg2);padding:6px}
.h-pv.show{opacity:1}
.more{margin-top:10px;font-size:12px}

/* series page */
.ser-h{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.ser-h h1{font-size:clamp(18px,2.4vw,30px);line-height:1.15}
.kicker{color:var(--dim);font-size:11px;margin-bottom:4px}
.sub{color:var(--dim);margin-top:4px}
.txt{max-width:72ch}
.txt p{margin:0 0 1em}
.txt p:last-child{margin-bottom:0}
.vid{border:1px solid var(--line);background:var(--bg2);padding:10px;margin-top:12px}
.vid iframe{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000}
.vid video{width:100%;max-height:80vh;display:block;background:#000}
.vcap{font-size:11px;color:var(--dim);margin-top:8px}
.back{display:inline-block;margin-bottom:10px}
.back:hover{text-decoration:underline}

/* contact */
.c-list{list-style:none;padding:0;margin:0}
.c-list li{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px dashed var(--line)}
.c-list li:last-child{border-bottom:0}
.c-list li span{color:var(--dim);font-size:11px}
.c-list a{text-decoration:underline;text-underline-offset:3px}
.c-list a:hover{background:var(--sel);color:var(--selfg)}

/* cv */
.cv ul{list-style:none;padding:0;margin:0}
.cv li{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:3px 0}
.cv .y{color:var(--dim)}

/* lightbox */
.lb{position:fixed;inset:0;background:var(--bg);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:94vw;max-height:92vh;display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);background:var(--bg2);padding:10px}
.lb img{max-width:90vw;max-height:80vh}
.lb figcaption{margin-top:8px;font-size:11px;color:var(--dim);align-self:flex-start}
.lb button{position:absolute;background:var(--bg2);border:1px solid var(--line);font:12px var(--mono);color:var(--fg);cursor:pointer;padding:4px 10px}
.lb button:hover{background:var(--sel);color:var(--selfg)}
.lb-x{top:12px;right:12px}.lb-p{left:12px;top:50%;transform:translateY(-50%)}.lb-n{right:12px;top:50%;transform:translateY(-50%)}

@media(max-width:900px){
  :root{--side:0px}
  .side{position:sticky;top:0;bottom:auto;width:100%;height:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between;overflow:visible}
  .side .name{margin:0;padding:4px 8px}
  .burger{display:block;background:var(--bg2);border:1px solid var(--line);font:12px var(--mono);color:var(--fg);padding:4px 8px;cursor:pointer}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:12px;max-height:calc(100vh - 60px);overflow:auto;z-index:45}
  .nav-open .menu{display:block}
  .side .links{margin-top:10px}
  .main{margin-left:0;padding:10px 10px 30px}
  .hero{min-height:0;padding-bottom:0;overflow:visible}
  .hero-panel{overflow:hidden}
  .hero-name{max-width:100%;font-size:clamp(34px,11vw,60px)}
  .hero-txt{max-width:100%}
  .cut{display:none}
  .hero{padding-bottom:330px}
  .hero-txt{min-height:0;padding-bottom:0}
  .cut-1{display:block;right:-6%;top:-3%;width:34%;z-index:1}
  .cut-2{display:block;right:-16%;bottom:-10%;width:80%;z-index:1}
  .cut-3{display:block;left:-22%;bottom:-4%;width:60%;z-index:1}
  .cut-tv{display:block;position:absolute;left:4px;bottom:200px;top:auto;right:auto;width:104px;z-index:3;padding:2px}
  .tv-bar{font-size:8px;gap:4px;padding:2px 0 0}
  .tv-next{display:none}

  .no{columns:1}
  .card{grid-template-columns:90px minmax(0,1fr);gap:10px}
  .card-th img.d{display:none}
  .card-th img.c{opacity:1}
  .card-x{display:none}
  .gal{grid-template-columns:repeat(2,1fr);gap:8px}
  .gal-1{grid-template-columns:1fr}
  .gal-1 .tile img{max-height:none}
  .h-pv{display:none}
  .bar .k{display:none}
  .bar .r a:last-child{display:none}
  .bar .r a{margin-left:0;margin-right:14px}
}
