/* === Reset & Body === */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',-apple-system,sans-serif;background:#fafafa;color:#1a1a1a;line-height:1.6;-webkit-font-smoothing:antialiased}

/* === Nav === */
nav{position:fixed;top:0;width:100%;background:rgba(250,250,250,0.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #e0e0e0;z-index:100}
.nav-inner{max-width:680px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:48px;padding:0 24px}
.logo{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:14px;color:#0a0a0a;text-decoration:none;letter-spacing:-0.5px}
.nav-links{display:flex;gap:24px}
.nav-links a{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#888;text-decoration:none;text-transform:uppercase;letter-spacing:0.8px;transition:color 0.2s}
.nav-links a:hover{color:#0a0a0a}

/* === Container === */
.container{max-width:680px;margin:0 auto;padding:0 24px}

/* === Footer === */
footer{padding:40px 24px;text-align:center;border-top:1px solid #e0e0e0;max-width:680px;margin:0 auto}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:12px}
.footer-links{display:flex;gap:18px}
.footer-links a{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#888;text-decoration:none;border-bottom:1px solid #ddd;padding-bottom:1px;transition:all 0.2s}
.footer-links a:hover{color:#0a0a0a;border-color:#0a0a0a}
footer p{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#bbb}

/* === Language Switcher === */
.lang-switch{float:right;margin-top:4px;position:relative;z-index:1}
.lang-link{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#888;text-decoration:none;transition:color 0.2s}
a.lang-link:hover{color:#0a0a0a}
.lang-active{color:#0a0a0a;font-weight:600}
.lang-sep{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#ddd;margin:0 6px}

/* === Language Popup === */
.lang-popup{position:fixed;inset:0;background:rgba(0,0,0,0.3);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease;padding:24px}
.lang-popup-visible{opacity:1}
.lang-popup-card{background:#fff;border:1px solid #e0e0e0;padding:32px 36px;max-width:380px;width:100%;text-align:center;transform:translateY(12px);transition:transform 0.3s ease;box-shadow:0 8px 30px rgba(0,0,0,0.08)}
.lang-popup-visible .lang-popup-card{transform:translateY(0)}
.lang-popup-title{font-size:16px;font-weight:700;color:#0a0a0a;margin-bottom:4px;line-height:1.4}
.lang-popup-sub{font-size:14px;color:#888;margin-bottom:24px;line-height:1.4}
.lang-popup-btns{display:flex;gap:10px;margin-bottom:16px}
.lang-popup-btn{flex:1;font-family:'IBM Plex Mono',monospace;font-size:12px;padding:10px 16px;border:none;cursor:pointer;transition:all 0.2s;letter-spacing:0.3px}
.lang-popup-stay{background:#0a0a0a;color:#fafafa}
.lang-popup-stay:hover{background:#333}
.lang-popup-switch{background:#fff;color:#0a0a0a;border:1px solid #ddd}
.lang-popup-switch:hover{border-color:#888}
.lang-popup-hint{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#bbb;margin:0}

/* === Mini Slide Viewer === */
.thumb-viewer{flex-shrink:0;position:relative;align-self:flex-start}
.thumb-viewer canvas{width:100%;height:auto;display:block;border:1px solid #e0e0e0;background:#f5f5f5;cursor:default}
.thumb-prev,.thumb-next{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.85);border:1px solid #ddd;color:#555;cursor:pointer;border-radius:2px;opacity:0;transition:opacity 0.2s;padding:0}
.thumb-prev{left:4px}
.thumb-next{right:4px}
.thumb-viewer:hover .thumb-prev:not(:disabled),.thumb-viewer:hover .thumb-next:not(:disabled){opacity:1}
.thumb-prev:disabled,.thumb-next:disabled{opacity:0 !important;cursor:default}
.thumb-prev:hover:not(:disabled),.thumb-next:hover:not(:disabled){background:#fff;border-color:#888;color:#0a0a0a}
.thumb-counter{position:absolute;bottom:4px;right:4px;font-family:'IBM Plex Mono',monospace;font-size:9px;color:#fff;background:rgba(0,0,0,0.55);padding:1px 6px;border-radius:2px;opacity:0;transition:opacity 0.2s;pointer-events:none}
.thumb-fs{position:absolute;bottom:4px;left:4px;width:20px;height:20px;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.55);border:none;color:#fff;cursor:pointer;border-radius:2px;opacity:0;transition:opacity 0.2s;padding:0}
.thumb-viewer:hover .thumb-counter,.thumb-viewer:hover .thumb-fs{opacity:1}
.thumb-fs:hover{background:rgba(0,0,0,0.75)}

/* === Slide Modal Overlay === */
.slide-modal{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:300;display:none;align-items:center;justify-content:center;padding:24px}
.slide-modal-visible{display:flex}
.slide-modal-inner{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}
.slide-modal-inner canvas{display:block;max-width:100%;max-height:calc(100vh - 80px)}
.slide-modal-prev,.slide-modal-next{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;cursor:pointer;border-radius:4px;transition:all 0.2s;padding:0}
.slide-modal-prev{left:16px}
.slide-modal-next{right:16px}
.slide-modal-prev:hover:not(:disabled),.slide-modal-next:hover:not(:disabled){background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.4)}
.slide-modal-prev:disabled,.slide-modal-next:disabled{opacity:0.2;cursor:default}
.slide-modal-counter{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);font-family:'IBM Plex Mono',monospace;font-size:13px;color:rgba(255,255,255,0.6);padding:4px 12px;background:rgba(255,255,255,0.1);border-radius:4px}
.slide-modal-close{position:fixed;top:16px;right:16px;width:40px;height:40px;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.1);border:none;color:#fff;cursor:pointer;border-radius:4px;transition:all 0.2s;padding:0}
.slide-modal-close:hover{background:rgba(255,255,255,0.2)}

/* === Mobile === */
@media(max-width:600px){
  .nav-links{gap:16px}
  .lang-popup-btns{flex-direction:column}
  .lang-popup-card{padding:24px 20px}
  .slide-modal{padding:8px}
  .slide-modal-prev,.slide-modal-next{width:36px;height:36px;font-size:20px}
  .slide-modal-prev{left:8px}
  .slide-modal-next{right:8px}
  .slide-modal-close{top:8px;right:8px;width:32px;height:32px;font-size:20px}
}
