/* Atelier navigation: etched glass, luminous filaments, spacious workspace. */
.page-wrap { position:relative; }
.page .page-inner:not(.home-inner), .page .plz-wrap, .page .page-inner.cv-list { max-width:none; width:100%; }
.page .changelog-page { max-width:none; width:100%; }
@media(min-width:681px) {
 .page-wrap > .rail { position:relative; isolation:isolate; display:flex; width:152px; padding:24px 10px 16px; gap:7px; overflow:hidden; border-right:1px solid #adc9f51c; background:linear-gradient(160deg,#0e131df5,#04070dfa 60%); box-shadow:12px 0 50px #0002; }
 .rail::before { display:none; }
 .rail::after { content:''; position:absolute; right:0; top:8%; width:1px; height:75%; background:linear-gradient(transparent,#9bdce877,#c0a9ff44,transparent); pointer-events:none; }
 .rail > :not(canvas) { position:relative; z-index:1; }
 .rail-scene { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
 .rail-brand { display:flex; align-items:center; gap:8px; width:100%; padding:0 4px 20px; color:#e1e9fc; }
 .rail-brand > span { font-size:29px; color:#b8eee9; text-shadow:0 0 22px #80bfff88; }
 .rail-brand b { font:600 12px/1.5 'Segoe UI',sans-serif; letter-spacing:2px; }
 .rail-brand small { display:block; font-size:10px; color:#8196b0; letter-spacing:1px; font-weight:400; margin-top:3px; }
 .rail-toggle { display:flex; align-items:center; justify-content:center; gap:8px; flex:none; width:100%; min-height:34px; color:#9bacc5; border:1px solid #aecbff26; border-radius:9px; background:#ffffff04; margin-bottom:15px; font-size:11px; cursor:pointer; }
 .rail-toggle svg { width:18px; height:18px; flex:none; }
 .rail-toggle:hover { color:#d5f9ff; background:#abcfff12; border-color:#a9dce75c; }
 .rail .rail-item { width:100%; min-height:46px; flex:none; flex-direction:row; justify-content:flex-start; gap:10px; padding:12px 11px; border:1px solid transparent; border-radius:11px; color:#91a2bc; font:13px/1.3 'Segoe UI','Microsoft YaHei',sans-serif; letter-spacing:.05em; transition:background .22s,color .22s,transform .22s,border-color .22s; filter:none; }
 .rail .rail-item svg { width:19px; height:19px; flex:none; transition:transform .3s; }
 .rail .rail-item:hover { color:#e4faff; background:#b3dfff0b; transform:translateX(2px); }
 .rail .rail-item:hover svg { transform:scale(1.1); }
 .rail .rail-item.active { color:#eafcff; border-color:#b5eaff3b; background:linear-gradient(110deg,#91d8e923,#aea2ff16); box-shadow:inset 0 1px #e5faff10,0 5px 24px #0002; }
 .rail .rail-item.active::after { width:3px; height:16px; left:0; right:auto; top:calc(50% - 8px); border-radius:4px; background:#aff5eb; box-shadow:0 0 12px #96e8ff; }
 .rail .new-tag { display:none; }
 .rail button:focus-visible { outline:2px solid #b9eee8; outline-offset:-3px; }
 .page-wrap.nav-floating > .rail { position:absolute; left:12px; top:50%; transform:translateY(-50%); width:60px; max-height:calc(100% - 24px); padding:9px 6px; gap:5px; border:1px solid #bbd6ff38; border-radius:20px; box-shadow:0 12px 45px #0008,inset 0 1px #e5f4ff20; background:#070b17d9; backdrop-filter:blur(22px); }
 .nav-floating .rail-brand { display:none; }
 .nav-floating .rail-toggle { width:44px; min-height:36px; margin-bottom:6px; border:0; border-bottom:1px solid #b8d7ff20; border-radius:8px; }
 .nav-floating .rail-toggle svg { transform:rotate(180deg); }
 .nav-floating .rail-toggle span,.nav-floating .rail-item > span { display:none; }
 .nav-floating .rail .rail-item { min-height:43px; width:46px; justify-content:center; padding:10px; border-radius:12px; }
 .nav-floating .rail .flex1 { flex:0; height:8px; width:26px; border-bottom:1px solid #a9cbff24; }
 .nav-floating > .page { padding-left:82px; }
}
@media(min-width:681px) and (max-height:740px) {
 .page-wrap > .rail { padding-block:10px; gap:3px; overflow-y:auto; }
 .rail-brand { padding-bottom:10px; }
 .rail-toggle { margin-bottom:6px; }
 .rail .rail-item { min-height:38px; padding-block:8px; }
 .nav-floating .rail .rail-item { min-height:36px; }
}
@media(max-width:680px) { .rail-brand,.rail-toggle,.rail-scene { display:none; } }
body.cv-editor-open .page-wrap > .rail { display:none; }
body.cv-editor-open .nav-floating > .page { padding-left:0; }
@media(prefers-reduced-motion:reduce) { .rail *, .rail *::after { transition:none!important; } }
