body.one-page{height:100svh;overflow:hidden}
.one-page .revision-shell{display:flex;flex-direction:column;height:100svh;min-height:0;padding-bottom:0}
.one-page .site-nav{display:flex;justify-content:flex-start;gap:clamp(18px,3.2vw,48px);padding:0;border:0}
.one-page .site-nav a,.one-page .live-state{font:100 21px/1 HelveticaNeue-UltraLight,Arial,sans-serif;letter-spacing:.025em;text-transform:lowercase;text-decoration:none;white-space:nowrap}
.one-page .site-nav a{color:#e7edf0}
.one-page .site-nav a[aria-current=page]::after{bottom:-14px;right:0;height:1px}
.one-page .live-state{display:inline-flex;align-items:center;gap:9px;margin-left:auto;color:#777e83;cursor:default}
.one-page .live-state::before{content:"";width:6px;height:6px;border-radius:50%;background:#555b5f;box-shadow:0 0 7px #7778}
.one-page .live-state.is-live{color:#a7ffc3;text-shadow:0 0 9px #71e994,0 0 21px #42db78;cursor:pointer}
.one-page .live-state.is-live::before{background:#69f59a;box-shadow:0 0 5px #69f59a,0 0 15px #4bf487}
.page-window{display:flex;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:auto;overscroll-behavior-x:contain;scrollbar-width:none;outline:none}
.page-window.no-motion{scroll-behavior:auto}
.page-window::-webkit-scrollbar{display:none}
.page-panel{position:relative;flex:0 0 100%;width:100%;min-width:0;height:100%;overflow-x:hidden;overflow-y:auto;scroll-snap-align:start;scrollbar-width:thin;scrollbar-color:#56616b transparent}
.page-panel main{width:100%}
.panel-home .home-object{height:calc(100svh - 196px);min-height:480px}
.panel-home .home-object .scene-frame{top:0;width:100%;height:100%}
.panel-blog .log-title{z-index:6}
.panel-blog .log-main{min-height:100%;padding-top:0}
.panel-blog .blog-feed{position:relative;z-index:5;width:min(760px,92%);margin:0 auto;padding:230px 0 70px}
@media(max-width:760px){
  .one-page .site-nav{gap:clamp(10px,2.8vw,22px)}
  .one-page .site-nav a,.one-page .live-state{font-size:17px}
  .one-page .site-nav a[aria-current=page]::after{bottom:-10px}
  .panel-blog .blog-feed{padding-top:145px;width:94%}
  .panel-home .home-object{height:560px;min-height:0}
  .panel-home .home-object .scene-frame{top:0;height:100%}
}
@media(max-width:430px){
  .one-page .site-nav{gap:11px}
  .one-page .site-nav a,.one-page .live-state{font-size:15px}
  .one-page .live-state{gap:5px}
  .one-page .live-state::before{width:5px;height:5px}
  .panel-blog .blog-feed{padding-top:125px}
  .panel-home .home-object{height:500px}
  .panel-home .home-object .scene-frame{height:100%}
}
@media(prefers-reduced-motion:reduce){.page-window{scroll-behavior:auto}}

.radio-status audio{display:none}
.radio-player-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:10px 12px}
.radio-display{min-width:0;padding:6px 10px;border:1px solid #75848d66;border-top-color:#0009;background:linear-gradient(125deg,#03080d88,#19232b55);box-shadow:inset 0 1px 5px #0005}
.radio-status #radio-track{margin:0 0 7px;color:#dce9f1;font:13px/1.3 monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 9px #a8cbe544}
.radio-format{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;color:#8fa4b3;font:9px/1.3 monospace}
#radio-time{font-variant-numeric:tabular-nums;color:#d7e5ef;white-space:nowrap}
.radio-controls{display:flex;align-items:center;gap:12px}
.radio-status button{padding:6px 12px;border:1px solid #89969e;background:linear-gradient(#384550,#080c10);color:#e8edf0;font:12px Arial,sans-serif;cursor:pointer;box-shadow:inset 0 1px #d8e5ed33}
.radio-controls #radio-toggle{min-width:85px}
.radio-controls #radio-toggle::before{content:"▶";margin-right:7px;font-size:10px}
.radio-controls #radio-toggle[aria-label="Pause radio"]::before{content:"Ⅱ"}
.radio-volume{display:flex;flex-direction:column;align-items:flex-start;gap:7px;color:var(--dim);font:9px monospace;letter-spacing:.08em;text-transform:uppercase}
.radio-volume input{width:78px;margin:0;accent-color:#aeb9c1;cursor:pointer}
.radio-status button:focus-visible,.radio-volume input:focus-visible,.radio-history summary:focus-visible{outline:2px solid var(--silver);outline-offset:3px}
.radio-timeline{grid-column:1/-1}
.radio-timeline progress{display:block;appearance:none;width:100%;height:7px;border:1px solid #687985;background:#060b10;color:#b3c7d6;box-shadow:inset 0 1px 3px #0008}
.radio-timeline progress::-webkit-progress-bar{background:#060b10}
.radio-timeline progress::-webkit-progress-value{background:linear-gradient(#d4e6f0,#758c9e)}
.radio-timeline progress::-moz-progress-bar{background:linear-gradient(#d4e6f0,#758c9e)}
.radio-player-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}
.radio-status #radio-message{margin:0;color:#a8b7c1;font:10px/1.4 Arial,sans-serif}
.radio-player-footer #radio-retry{flex:none;padding:3px 8px;font-size:10px}
.radio-stream-link{margin-left:auto;flex:none;color:#a8b7c1;font:10px Arial,sans-serif;text-underline-offset:3px}
.radio-history{grid-column:1/-1;border-top:1px solid #71838f55;padding-top:7px;font:11px/1.4 monospace}
.radio-history summary{cursor:pointer;color:#c2d3df;letter-spacing:.05em}
.radio-history ol{list-style:decimal-leading-zero;margin:10px 0 0;padding-left:29px;color:#a8bac7}
.radio-history li{padding:4px 0 4px 5px;border-top:1px solid #71838f22;overflow-wrap:anywhere}
.radio-history li::marker{color:#71838f;font-size:10px}
.radio-history a{color:inherit;text-decoration:none}
.radio-history a:hover{text-decoration:underline;text-underline-offset:3px}
.radio-history li span{float:right;margin-left:12px;color:#7f929f;font-size:9px}
@media(max-width:560px){
  .radio-player-body{grid-template-columns:minmax(0,1fr);gap:9px;padding:10px}
  .radio-controls{justify-content:space-between}
  .radio-volume{flex-direction:row;align-items:center;gap:9px}
  .radio-volume input{width:112px}
  .radio-history li span{display:block;float:none;margin-left:0}
}

.radio-mini{display:flex;align-items:center;gap:9px;min-width:0;width:clamp(180px,28vw,340px);margin-left:auto;padding:5px 9px;border:1px solid #56616b;background:linear-gradient(110deg,#242c33,#090c10);box-shadow:inset 0 1px #c0ccd533,0 2px 7px #0005;color:#e7edf0}
.radio-mini button{flex:none;width:26px;height:26px;padding:0;border:1px solid #8d9aa4;background:linear-gradient(#414e59,#10161c);color:#edf3f5;font:12px Arial,sans-serif;cursor:pointer;box-shadow:inset 0 1px #d3e0e544}
.radio-mini-song{display:block;min-width:0;color:inherit;text-decoration:none;font:12px/1.4 Arial,sans-serif}
.radio-mini-song span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.radio-mini-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9cabb8}
.radio-mini button:focus-visible,.radio-mini a:focus-visible{outline:2px solid var(--silver);outline-offset:3px}
.one-page .radio-mini + .live-state{margin-left:0}
html[data-theme=light] .radio-mini{background:linear-gradient(110deg,#fff,#d2dbe2);color:#28333c;border-color:#909da7;box-shadow:inset 0 1px #fff,0 2px 7px #52616e26}
html[data-theme=light] .radio-mini button{background:linear-gradient(#fff,#b8c5cf);color:#28333c}
html[data-theme=light] .radio-mini-label{color:#54626e}
@media(max-width:760px){
  .one-page .site-nav{order:0;flex:1}
  .one-page .live-state{order:1}
  .one-page .theme-switch{order:2}
  .radio-mini{order:3;width:100%;box-sizing:border-box;margin-left:0}
  .radio-mini-song{flex:1}
}

.radio-status #radio-message:empty{display:none}

.radio-tuning{position:absolute;z-index:30;right:14px;top:16px;max-width:calc(100% - 28px);border:1px solid #75848d;background:linear-gradient(125deg,#222c35f5,#090e13f5);box-shadow:inset 0 1px #d3e0e533,0 8px 20px #0005;color:#c4d5e2;font:11px/1.4 monospace}
.radio-tuning>summary{padding:7px 10px;cursor:pointer}
.radio-tuning[open]{width:350px}
.radio-tuning-body{max-height:min(60svh,560px);overflow:auto;padding:0 10px 10px;scrollbar-width:thin}
#radio-tuning-controls>details{border-top:1px solid #71838f55;padding:6px 0}
#radio-tuning-controls summary,.radio-tuning-settings summary{cursor:pointer;padding:3px 0;color:inherit}
.radio-knob{display:grid;grid-template-columns:minmax(0,1fr) 86px 64px;align-items:center;gap:7px;margin:8px 0;font-size:10px}
.radio-knob input[type=range]{width:86px;margin:0;accent-color:#aeb9c1}
.radio-knob input[type=number]{width:64px;box-sizing:border-box;padding:3px;border:1px solid #71838f;background:#060b10;color:#dce9f1;font:10px monospace}
.radio-knob input[type=checkbox]{justify-self:end;grid-column:2/-1;accent-color:#aeb9c1}
.radio-knob input[type=color]{grid-column:2/-1;justify-self:end;width:55px;height:23px;padding:1px;border:1px solid #71838f;background:none}
.radio-tuning button{padding:4px 8px;border:1px solid #89969e;background:linear-gradient(#384550,#080c10);color:#e8edf0;font:10px monospace;cursor:pointer;box-shadow:inset 0 1px #d8e5ed33}
.radio-tuning-actions{display:flex;align-items:center;gap:8px;margin:9px 0}
#radio-tuning-status{font-size:9px}
.radio-tuning-settings textarea{display:block;width:100%;box-sizing:border-box;margin:8px 0;padding:7px;border:1px solid #71838f;background:#060b10;color:#dce9f1;font:10px/1.4 monospace;resize:vertical}
.radio-tuning :is(button,input,summary,textarea):focus-visible{outline:2px solid var(--silver);outline-offset:2px}
html[data-theme=light] .radio-tuning{background:linear-gradient(125deg,#fffffff5,#d9e3ebf5);color:#354f61;border-color:#909da7;box-shadow:inset 0 1px #fff,0 8px 20px #52616e26}
html[data-theme=light] .radio-tuning button{background:linear-gradient(#fff,#cbd3d9);color:#28333c}
html[data-theme=light] .radio-knob input[type=number],html[data-theme=light] .radio-tuning textarea{background:#ffffff99;color:#28333c;border-color:#8b9aa6}
@media(max-width:430px){.radio-knob{grid-template-columns:minmax(0,1fr) 70px 62px;gap:5px}.radio-knob input[type=range]{width:70px}.radio-knob input[type=number]{width:62px}}
