*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
body{margin:0;padding:0;background:#070310;min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:sans-serif;}

#stage{display:flex;justify-content:center;padding:18px 8px;background:radial-gradient(ellipse at top,rgba(80,40,120,0.08),transparent 60%);border-radius:18px;}
#phone{width:380px;height:760px;background:#000;border-radius:42px;padding:9px;box-shadow:0 0 0 2px #1a1a22,0 8px 28px rgba(0,0,0,0.6),0 0 60px rgba(255,51,102,0.1);position:relative;}
#phone::before{content:'';position:absolute;top:18px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#000;border-radius:18px;z-index:20;}
#phone::after{content:'';position:absolute;top:24px;left:50%;transform:translateX(-15px);width:8px;height:8px;border-radius:50%;background:#1a1a2a;border:1px solid #333;z-index:21;}

#app{background:#0b0614;width:100%;height:100%;border-radius:34px;overflow:hidden;position:relative;display:flex;flex-direction:column;font-family:'DM Sans',sans-serif;color:#fff;}
canvas#bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* RESPONSIVE: full-screen on real phones, device frame only on desktop */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ACCESSIBILITY: respect reduced-motion preference */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.001ms!important;
    scroll-behavior:auto!important;
  }
  .h-grid line,.h-stars circle,.h-moon,.h-wave svg,.h-title em,.wdot,.ww-dot,.hcard{animation:none!important;}
  .season-layer,canvas#bg{display:none!important;}
}

/* Keyboard focus visibility for tappable cards */
[role="button"]:focus-visible,.tappable:focus-visible{outline:2px solid #7ce0ff;outline-offset:2px;border-radius:14px;}

@media (max-width:480px){
  body{align-items:stretch;justify-content:stretch;}
  #stage{padding:0;border-radius:0;width:100%;background:none;}
  #phone{width:100%;height:100vh;height:100dvh;border-radius:0;padding:0;box-shadow:none;}
  #phone::before,#phone::after{display:none;}
  #app{border-radius:0;}
  #screen{padding-top:calc(14px + env(safe-area-inset-top));}
  #nav{padding-bottom:calc(22px + env(safe-area-inset-bottom));}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* CYBERPUNK + HOKUSAI BACKGROUND (only on home) */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hokusai-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:0;transition:opacity 0.6s ease;}
.hokusai-bg.on{opacity:1;}
.hokusai-bg svg{position:absolute;display:block;}

/* Sky gradient layer */
.h-sky{inset:0;width:100%;height:100%;background:radial-gradient(ellipse at 70% 15%,rgba(150,60,200,0.35) 0%,transparent 55%),radial-gradient(ellipse at 20% 85%,rgba(0,150,230,0.28) 0%,transparent 60%),linear-gradient(180deg,rgba(30,12,55,0.55) 0%,transparent 45%,rgba(0,55,110,0.35) 100%);position:absolute;}

/* Cyber grid - isometric perspective bottom */
.h-grid{bottom:0;left:0;width:100%;height:45%;}
.h-grid svg{width:100%;height:100%;}
@keyframes gridPulse{0%,100%{opacity:0.5;}50%{opacity:0.85;}}
.h-grid line{animation:gridPulse 4s ease-in-out infinite;}

/* Moon */
.h-moon{top:auto;bottom:48%;left:6%;width:48px;height:48px;}
@keyframes moonGlow{0%,100%{filter:drop-shadow(0 0 12px rgba(255,80,120,0.5)) drop-shadow(0 0 24px rgba(255,80,120,0.3));}50%{filter:drop-shadow(0 0 18px rgba(255,80,120,0.7)) drop-shadow(0 0 36px rgba(255,80,120,0.4));}}
.h-moon{animation:moonGlow 5s ease-in-out infinite;}

/* Mt Fuji silhouette */
.h-fuji{bottom:38%;left:0;width:100%;height:36%;opacity:0.9;}
.h-fuji svg{width:100%;height:100%;}

/* The Great Wave - main feature */
.h-wave{bottom:6%;left:0;width:100%;height:55%;}
.h-wave svg{width:100%;height:100%;}
@keyframes waveBreath{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-3px) scale(1.02);}}
.h-wave svg{animation:waveBreath 8s ease-in-out infinite;transform-origin:center bottom;}

/* Floating stars/dots */
.h-stars{inset:0;width:100%;height:100%;}
.h-stars svg{width:100%;height:100%;}
@keyframes starTwinkle{0%,100%{opacity:0.2;}50%{opacity:1;}}
.h-stars circle{animation:starTwinkle 3s ease-in-out infinite;}

/* Scanline overlay - subtle cyberpunk feel */
.h-scan{inset:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent 0px,rgba(255,255,255,0.012) 1px,transparent 2px,transparent 4px);position:absolute;pointer-events:none;}

/* Japanese kanji watermark (大波 = big wave) */
.h-kanji-bg{position:absolute;top:38%;left:-12%;font-family:serif;font-size:140px;color:rgba(255,51,102,0.1);font-weight:bold;line-height:1;letter-spacing:-10px;transform:rotate(-8deg);user-select:none;}

#screen{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;z-index:1;scrollbar-width:none;padding-top:38px;}
#screen::-webkit-scrollbar{display:none;}

/* iOS-style press animation - applies to interactive elements */
.tappable{transition:transform 0.15s cubic-bezier(0.4,0,0.2,1),filter 0.15s;}
.tappable:active{transform:scale(0.96);filter:brightness(1.1);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* PROFESSIONAL NAV BAR - iOS premium frosted glass */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#nav{position:relative;z-index:10;background:linear-gradient(180deg,rgba(8,8,14,0.4) 0%,rgba(8,8,14,0.95) 30%);backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);border-top:0.5px solid rgba(255,255,255,0.12);display:flex;justify-content:space-around;padding:12px 8px 22px;flex-shrink:0;}
.ni{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;border:none;background:transparent;font-family:inherit;padding:6px 4px;position:relative;transition:transform 0.18s cubic-bezier(0.4,0,0.2,1);flex:1;}
.ni:active{transform:scale(0.92);}
.ni svg{width:26px;height:26px;transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);}
.ni span{font-size:9px;letter-spacing:0.5px;font-weight:600;transition:all 0.3s ease;}

/* Each icon ALWAYS has its color */
#n-home{color:#b794f6;}
#n-search{color:#7ce0ff;}
#n-ai{color:#b9a8ff;}
#n-me{color:#c89fff;}

/* Inactive state: muted/dimmed but colored */
.ni:not(.active){opacity:0.55;}
.ni:not(.active) span{color:#9a9aaa;}
.ni:not(.active):hover{opacity:0.85;}

/* Active state: full brightness + glow + indicator bar */
.ni.active{opacity:1;}
.ni.active span{color:#fff;}
.ni.active svg{transform:translateY(-2px) scale(1.08);filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 14px currentColor);}
.ni.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:3px;background:linear-gradient(90deg,#7c3aed,#9650ff);border-radius:0 0 6px 6px;box-shadow:0 0 10px rgba(255,51,102,0.7),0 0 20px rgba(150,80,255,0.5);}

/* ALWAYS show fills and accents now */
.ni svg .icon-fill{opacity:1;}
.ni svg .icon-accent{opacity:1;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* PAGES */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pg{padding:18px 16px 14px;animation:tpIn 0.35s ease forwards;opacity:0;}
@keyframes tpIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes slideRight{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}

.bk{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;margin-bottom:16px;opacity:0.9;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.05);color:#fff;font-family:inherit;font-weight:600;transition:all 0.2s;padding:9px 14px 9px 12px;border-radius:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.bk i{font-size:16px;line-height:1;}
.bk:hover{opacity:1;background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.25);transform:translateX(-2px);}
.bk:active{transform:scale(0.95);opacity:1;background:rgba(255,255,255,0.12);}
.ptitle{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:2px;line-height:1;}
.psub{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#7a7a8a;margin-top:4px;margin-bottom:14px;font-weight:500;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* HOME HEADER + AGGRESSIVE GLITCH */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.h-tag{font-size:10px;letter-spacing:5px;color:#8a8a9a;text-transform:uppercase;margin-bottom:4px;font-weight:600;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* HOME TOP ROW + WEATHER WIDGET */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.h-top-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:10px;}
.h-top-left{flex:1;min-width:0;}

.weather-widget{flex-shrink:0;cursor:pointer;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);min-width:90px;text-align:right;transition:all 0.2s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;animation:wwIn 0.6s ease forwards;opacity:0;animation-delay:0.3s;}
@keyframes wwIn{from{opacity:0;transform:translateX(10px);}to{opacity:1;transform:translateX(0);}}
.weather-widget:active{transform:scale(0.95);filter:brightness(1.15);}
.weather-widget::before{content:'';position:absolute;inset:0;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 50%);pointer-events:none;}

.ww-loading{display:flex;align-items:center;justify-content:center;padding:6px 0;}
.ww-loading svg{display:block;}

.ww-content{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.ww-top{display:flex;align-items:center;gap:6px;}
.ww-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;}
.ww-icon svg{width:100%;height:100%;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.3));}
.ww-temp{font-family:'Bebas Neue',sans-serif;font-size:22px;line-height:1;color:#fff;letter-spacing:0.5px;}
.ww-place{font-size:9px;color:#a8a8b8;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;display:flex;align-items:center;gap:4px;}
.ww-dot{width:5px;height:5px;border-radius:50%;background:#00ff8c;box-shadow:0 0 6px #00ff8c;animation:wwBlink 2s infinite;flex-shrink:0;}
.ww-dot.offline{background:#777;box-shadow:none;animation:none;}
@keyframes wwBlink{0%,100%{opacity:1;}50%{opacity:0.3;}}

.ww-error{font-size:9px;color:#7a7a8a;text-align:right;line-height:1.3;padding:2px 0;}
.h-title{font-family:'Bebas Neue',sans-serif;font-size:48px;line-height:1;letter-spacing:2px;position:relative;}
.h-title em{color:#7c3aed;font-style:normal;animation:neonFlick 4s infinite;position:relative;display:inline-block;}
@keyframes neonFlick{0%,18%,22%,25%,53%,57%,100%{opacity:1;text-shadow:0 0 8px rgba(255,51,102,0.6);}20%,24%,55%{opacity:0.7;text-shadow:none;}}

/* AGGRESSIVE GLITCH - 6 keyframe stutters with chromatic + clip */
.h-title em.glitching{animation:neonFlick 4s infinite,glitchShake 0.32s steps(6) forwards;}
.h-title em.glitching::before,
.h-title em.glitching::after{
  content:'PULSE';position:absolute;top:0;left:0;width:100%;
  font-family:'Bebas Neue',sans-serif;letter-spacing:2px;font-style:normal;
}
.h-title em.glitching::before{color:#00d2ff;animation:glitchRGB1 0.32s steps(6) forwards;mix-blend-mode:screen;}
.h-title em.glitching::after{color:#00ff8c;animation:glitchRGB2 0.32s steps(6) forwards;mix-blend-mode:screen;}
@keyframes glitchShake{
  0%{transform:translate(0,0);}
  16%{transform:translate(-4px,2px) skewX(-3deg);}
  33%{transform:translate(3px,-1px) skewX(2deg);}
  50%{transform:translate(-2px,2px);}
  66%{transform:translate(4px,-2px) skewX(-2deg);}
  83%{transform:translate(-3px,1px);}
  100%{transform:translate(0,0);}
}
@keyframes glitchRGB1{
  0%{transform:translate(0,0);opacity:0;clip-path:inset(0 0 0 0);}
  16%{transform:translate(-5px,1px);opacity:0.95;clip-path:inset(20% 0 50% 0);}
  33%{transform:translate(4px,-2px);opacity:0.85;clip-path:inset(60% 0 10% 0);}
  50%{transform:translate(-3px,3px);opacity:0.95;clip-path:inset(0 0 70% 0);}
  66%{transform:translate(5px,-1px);opacity:0.7;clip-path:inset(40% 0 30% 0);}
  83%{transform:translate(-4px,2px);opacity:0.9;clip-path:inset(10% 0 60% 0);}
  100%{transform:translate(0,0);opacity:0;clip-path:inset(0 0 0 0);}
}
@keyframes glitchRGB2{
  0%{transform:translate(0,0);opacity:0;clip-path:inset(0 0 0 0);}
  16%{transform:translate(5px,-1px);opacity:0.85;clip-path:inset(50% 0 20% 0);}
  33%{transform:translate(-4px,2px);opacity:0.95;clip-path:inset(10% 0 60% 0);}
  50%{transform:translate(3px,-3px);opacity:0.7;clip-path:inset(70% 0 0 0);}
  66%{transform:translate(-5px,1px);opacity:0.9;clip-path:inset(30% 0 40% 0);}
  83%{transform:translate(4px,-2px);opacity:0.85;clip-path:inset(60% 0 10% 0);}
  100%{transform:translate(0,0);opacity:0;clip-path:inset(0 0 0 0);}
}

.h-kanji{font-size:11px;color:#5a5a6a;letter-spacing:8px;margin-top:2px;margin-bottom:14px;}
.wbar{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.05);border:0.5px solid rgba(255,255,255,0.12);border-radius:24px;padding:7px 14px;font-size:11px;color:#9a9aaa;margin-bottom:18px;font-weight:500;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.wbar strong{color:#e0e0ec;font-weight:600;}
.wdot{width:6px;height:6px;border-radius:50%;background:#7c3aed;animation:blink 2s infinite;flex-shrink:0;box-shadow:0 0 8px #7c3aed;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* HOME GRID CARDS - iOS Premium */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.hcard{border-radius:18px;padding:12px 11px 28px;border:1px solid transparent;cursor:pointer;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),border-color 0.25s,box-shadow 0.25s,filter 0.18s;position:relative;overflow:hidden;min-height:102px;animation:cardIn 0.5s ease forwards,float 4s ease-in-out infinite;opacity:0;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);}
.hcard::before{content:'';position:absolute;inset:0;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0) 50%);pointer-events:none;}
.hcard:active{transform:scale(0.96);filter:brightness(1.15);}
@keyframes cardIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}
.hcard:nth-child(1){animation-delay:0.05s,1s;}
.hcard:nth-child(2){animation-delay:0.13s,1.5s;}
.hcard:nth-child(3){animation-delay:0.21s,2s;}
.hcard:nth-child(4){animation-delay:0.29s,2.5s;}
.hcard:nth-child(5){animation-delay:0.37s,3s;}
.hcard:nth-child(6){animation-delay:0.45s,3.5s;}
.hcard:nth-child(7){animation-delay:0.53s,4s;}
.hcard:hover{transform:translateY(-4px) scale(1.02)!important;animation-play-state:paused;}
.hcard.wide{grid-column:span 2;min-height:80px;padding:14px 16px;display:flex;align-items:center;gap:16px;}
.hcard.wide .hcico-svg{margin-bottom:0;width:48px;height:48px;flex-shrink:0;}
.hcard.wide .hctitle{margin-bottom:2px;}
.hcard.wide .hcsub{margin-top:0;}
.hcard .wide-body{flex:1;min-width:0;}
.cr{background:rgba(255,51,102,0.18);border-color:rgba(255,51,102,0.4);}
.cr:hover{box-shadow:0 8px 22px rgba(255,51,102,0.35),inset 0 1px 0 rgba(255,255,255,0.12);}
.cc{background:rgba(0,210,255,0.16);border-color:rgba(0,210,255,0.38);}
.cc:hover{box-shadow:0 8px 22px rgba(0,210,255,0.32),inset 0 1px 0 rgba(255,255,255,0.12);}
.ca{background:rgba(255,170,0,0.18);border-color:rgba(255,170,0,0.4);}
.ca:hover{box-shadow:0 8px 22px rgba(255,170,0,0.35),inset 0 1px 0 rgba(255,255,255,0.12);}
.cg{background:rgba(0,255,140,0.14);border-color:rgba(0,255,140,0.35);}
.cg:hover{box-shadow:0 8px 22px rgba(0,255,140,0.3),inset 0 1px 0 rgba(255,255,255,0.12);}
.cp{background:rgba(150,80,255,0.18);border-color:rgba(150,80,255,0.4);}
.cp:hover{box-shadow:0 8px 22px rgba(150,80,255,0.35),inset 0 1px 0 rgba(255,255,255,0.12);}
.cb{background:rgba(120,180,255,0.18);border-color:rgba(120,180,255,0.4);}
.cb:hover{box-shadow:0 8px 22px rgba(120,180,255,0.35),inset 0 1px 0 rgba(255,255,255,0.12);}
.cs{background:rgba(255,138,163,0.18);border-color:rgba(255,138,163,0.4);}
.cs:hover{box-shadow:0 8px 22px rgba(255,138,163,0.35),inset 0 1px 0 rgba(255,255,255,0.12);}
.cs .hcsub{color:rgba(255,200,212,0.85);}
.cs .hcarr{color:#b794f6;}
.cs .hpulse{background:#b794f6;}
.cm{background:rgba(255,205,70,0.16);border-color:rgba(255,205,70,0.42);}
.cm:hover{box-shadow:0 8px 22px rgba(255,205,70,0.32),inset 0 1px 0 rgba(255,255,255,0.12);}
.cm .hcsub{color:rgba(255,224,150,0.9);}
.cm .hcarr{color:#ffcd46;}
.cm .hpulse{background:#ffcd46;}
.cai{background:linear-gradient(135deg,rgba(150,80,255,0.22),rgba(0,210,255,0.14));border-color:rgba(150,120,255,0.45);}
.cai:hover{box-shadow:0 8px 22px rgba(120,100,255,0.4),inset 0 1px 0 rgba(255,255,255,0.12);}
.cai .hcsub{color:rgba(196,205,255,0.9);}
.cai .hcarr{color:#b9a8ff;}
.cai .hpulse{background:#b9a8ff;}
.cac{background:rgba(206,92,224,0.16);border-color:rgba(206,92,224,0.42);}
.cac:hover{box-shadow:0 8px 22px rgba(206,92,224,0.32),inset 0 1px 0 rgba(255,255,255,0.12);}
.cac .hcsub{color:rgba(234,184,242,0.9);}
.cac .hcarr{color:#d56ce0;}
.cac .hpulse{background:#d56ce0;}
.hcico{font-size:24px;margin-bottom:7px;display:block;}
.hcico-svg{width:38px;height:38px;margin-bottom:5px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.35));transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1);}
.hcico-svg svg{width:100%;height:100%;display:block;}
.hcard:hover .hcico-svg{transform:scale(1.08) rotate(-3deg);}
.hctitle{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1px;line-height:1.1;color:#fff;}
.hcsub{font-size:10px;text-transform:uppercase;letter-spacing:0.4px;margin-top:4px;font-weight:500;}
.cr .hcsub{color:rgba(255,154,180,0.85);}.cc .hcsub{color:rgba(124,224,255,0.85);}.ca .hcsub{color:rgba(255,201,102,0.85);}.cg .hcsub{color:rgba(102,255,180,0.85);}.cp .hcsub{color:rgba(200,159,255,0.85);}.cb .hcsub{color:rgba(180,210,255,0.9);}
.hcarr{position:absolute;bottom:11px;right:11px;font-size:14px;opacity:0.4;transition:all 0.2s;}
.hcard:hover .hcarr{opacity:1;transform:translate(2px,-2px);}
.cr .hcarr{color:#7c3aed;}.cc .hcarr{color:#00d2ff;}.ca .hcarr{color:#ffaa00;}.cg .hcarr{color:#00ff8c;}.cp .hcarr{color:#9650ff;}.cb .hcarr{color:#78b4ff;}
.hpulse{position:absolute;top:11px;right:11px;width:6px;height:6px;border-radius:50%;animation:pulseRing 2s infinite;}
.cr .hpulse{background:#7c3aed;}.cc .hpulse{background:#00d2ff;}.ca .hpulse{background:#ffaa00;}.cb .hpulse{background:#78b4ff;}
@keyframes pulseRing{0%,100%{box-shadow:0 0 0 0 currentColor;opacity:1;}50%{box-shadow:0 0 0 6px transparent;opacity:0.4;}}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* WORLD CUP 2026 BANNER (external link) */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.wc-banner-wrap{position:relative;margin-bottom:14px;}
.wc-banner{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:16px;text-decoration:none;position:relative;overflow:hidden;border:1px solid rgba(0,255,140,0.4);background:linear-gradient(135deg,rgba(0,200,110,0.22),rgba(255,170,0,0.16));backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);animation:wwIn 0.6s ease forwards;opacity:0;transition:transform 0.15s,filter 0.15s;min-height:60px;}
.wc-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.1),transparent 55%);pointer-events:none;}
.wc-banner:active{transform:scale(0.98);filter:brightness(1.1);}
.wc-emoji{font-size:30px;line-height:1;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4));}
.wc-body{flex:1;min-width:0;padding-right:18px;}
.wc-kick{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#7cffae;font-weight:700;margin-bottom:3px;display:flex;align-items:center;gap:6px;}
.wc-live{width:6px;height:6px;border-radius:50%;background:#00ff8c;box-shadow:0 0 8px #00ff8c;animation:wwBlink 2s infinite;flex-shrink:0;}
.wc-title{font-family:'Bebas Neue',sans-serif;font-size:21px;letter-spacing:1px;color:#fff;line-height:1;}
.wc-sub{font-size:10px;color:#d4e6d4;margin-top:3px;font-weight:500;line-height:1.4;}
.wc-go{align-self:flex-end;color:#ffd28f;font-size:16px;opacity:0.85;flex-shrink:0;}
.wc-close{position:absolute;top:5px;right:6px;width:22px;height:22px;border:none;background:rgba(0,0,0,0.3);color:#cfe0d0;border-radius:50%;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;padding:0;transition:transform 0.15s;}
.wc-close:active{transform:scale(0.88);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* TABS (filters) - pill style with press */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.atabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.atab{padding:7px 13px;border-radius:20px;border:1px solid rgba(150,80,255,0.35);background:rgba(150,80,255,0.04);color:#9090a0;font-size:11px;cursor:pointer;letter-spacing:0.5px;font-family:inherit;transition:all 0.2s;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.atab:active{transform:scale(0.94);}
.atab.on{border-color:#9650ff;color:#fff;background:rgba(150,80,255,0.2);box-shadow:0 0 14px rgba(150,80,255,0.4),inset 0 1px 0 rgba(255,255,255,0.15);}
.atab.fr{border-color:rgba(255,51,102,0.35);background:rgba(255,51,102,0.04);}
.atab.fr.on{border-color:#7c3aed;color:#fff;background:rgba(255,51,102,0.2);box-shadow:0 0 14px rgba(255,51,102,0.4),inset 0 1px 0 rgba(255,255,255,0.15);}
.atab.cy{border-color:rgba(0,210,255,0.35);background:rgba(0,210,255,0.04);}
.atab.cy.on{border-color:#00d2ff;color:#fff;background:rgba(0,210,255,0.2);box-shadow:0 0 14px rgba(0,210,255,0.4),inset 0 1px 0 rgba(255,255,255,0.15);}
.atab.am{border-color:rgba(255,170,0,0.35);background:rgba(255,170,0,0.04);}
.atab.am.on{border-color:#ffaa00;color:#fff;background:rgba(255,170,0,0.2);box-shadow:0 0 14px rgba(255,170,0,0.4),inset 0 1px 0 rgba(255,255,255,0.15);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* SEARCH PAGE */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.search-input-wrap{position:relative;margin-bottom:14px;}
.search-input-wrap i.ti-search{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7ce0ff;font-size:18px;pointer-events:none;z-index:2;}
.search-input-wrap i.ti-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#7a7a8a;font-size:16px;cursor:pointer;padding:6px;border-radius:50%;transition:all 0.2s;z-index:2;}
.search-input-wrap i.ti-x:hover{color:#fff;background:rgba(255,255,255,0.08);}
.search-input-wrap i.ti-x:active{transform:translateY(-50%) scale(0.9);}
.search-input{width:100%;padding:14px 42px 14px 42px;border-radius:14px;border:1px solid rgba(0,210,255,0.3);background:rgba(0,210,255,0.05);color:#fff;font-size:14px;font-family:inherit;outline:none;font-weight:500;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all 0.2s;}
.search-input:focus{border-color:rgba(0,210,255,0.6);box-shadow:0 0 16px rgba(0,210,255,0.25);background:rgba(0,210,255,0.08);}
.search-input::placeholder{color:#7a7a8a;font-weight:400;}

.search-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;}
.search-chip{padding:7px 13px;border-radius:18px;border:1px solid rgba(0,210,255,0.3);background:rgba(0,210,255,0.05);color:#a8e9ff;font-size:11px;cursor:pointer;font-family:inherit;font-weight:500;transition:all 0.2s;letter-spacing:0.3px;}
.search-chip:active{transform:scale(0.94);background:rgba(0,210,255,0.15);}
.search-chip i{margin-right:5px;font-size:12px;}

.search-empty{text-align:center;padding:30px 20px 10px;}
.search-empty-icon{font-size:42px;color:#5a5a6a;margin-bottom:14px;display:block;}
.search-empty-title{font-size:13px;color:#a8a8b8;font-weight:600;margin-bottom:6px;}
.search-empty-sub{font-size:11px;color:#7a7a8a;line-height:1.6;}

.search-noresults{text-align:center;padding:40px 20px;}
.search-noresults i{font-size:36px;color:#5a5a6a;margin-bottom:12px;display:block;}
.search-noresults p{font-size:12px;color:#9a9aaa;line-height:1.6;}
.search-noresults strong{color:#b794f6;}

.search-count{font-size:10px;color:#7a7a8a;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin:14px 0 8px;display:flex;align-items:center;gap:8px;}
.search-count-num{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:rgba(0,210,255,0.18);color:#7ce0ff;font-size:10px;font-weight:700;}

.search-result{display:flex;gap:12px;padding:11px 12px;border-radius:13px;margin-bottom:7px;border:1px solid rgba(255,255,255,0.07);background:rgba(255,255,255,0.03);cursor:pointer;transition:all 0.18s;animation:slideRight 0.25s ease forwards;opacity:0;}
.search-result:active{transform:scale(0.98);background:rgba(255,255,255,0.06);}
.search-result.r-iz{border-color:rgba(150,80,255,0.25);background:rgba(150,80,255,0.06);}
.search-result.r-fr{border-color:rgba(255,51,102,0.25);background:rgba(255,51,102,0.06);}
.search-result.r-free{border-color:rgba(0,210,255,0.25);background:rgba(0,210,255,0.06);}
.search-result.r-ga{border-color:rgba(255,170,0,0.25);background:rgba(255,170,0,0.06);}
.search-result.r-trip{border-color:rgba(255,170,0,0.25);background:rgba(255,170,0,0.06);}
.search-result.r-manners{border-color:rgba(255,138,163,0.25);background:rgba(255,138,163,0.06);}
.search-result.r-cur{border-color:rgba(150,80,255,0.25);background:rgba(150,80,255,0.06);}
.search-result-icon{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,0.04);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
.search-result.r-iz .search-result-icon{background:rgba(150,80,255,0.15);color:#c89fff;}
.search-result.r-fr .search-result-icon{background:rgba(255,51,102,0.15);color:#b794f6;}
.search-result.r-free .search-result-icon{background:rgba(0,210,255,0.15);color:#7ce0ff;}
.search-result.r-ga .search-result-icon{background:rgba(255,170,0,0.15);color:#ffc966;}
.search-result.r-trip .search-result-icon{background:rgba(255,170,0,0.15);color:#ffc966;}
.search-result.r-manners .search-result-icon{background:rgba(255,138,163,0.15);color:#b794f6;}
.search-result.r-cur .search-result-icon{background:rgba(150,80,255,0.15);color:#c89fff;}
.search-result-body{flex:1;min-width:0;}
.search-result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:2px;}
.search-result-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-result-name .sr-kanji{color:#7a7a8a;font-weight:400;font-size:11px;margin-left:5px;}
.search-result-cat{font-size:8px;padding:2px 7px;border-radius:14px;letter-spacing:0.5px;text-transform:uppercase;white-space:nowrap;font-weight:700;flex-shrink:0;}
.search-result.r-iz .search-result-cat{background:rgba(150,80,255,0.2);color:#c89fff;}
.search-result.r-fr .search-result-cat{background:rgba(255,51,102,0.2);color:#b794f6;}
.search-result.r-free .search-result-cat{background:rgba(0,210,255,0.2);color:#7ce0ff;}
.search-result.r-ga .search-result-cat{background:rgba(255,170,0,0.2);color:#ffc966;}
.search-result.r-trip .search-result-cat{background:rgba(255,170,0,0.2);color:#ffc966;}
.search-result.r-manners .search-result-cat{background:rgba(255,138,163,0.2);color:#b794f6;}
.search-result.r-cur .search-result-cat{background:rgba(150,80,255,0.2);color:#c89fff;}
.search-result-snippet{font-size:10.5px;color:#9a9aaa;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.search-result-snippet mark{background:rgba(0,210,255,0.25);color:#aaf2ff;padding:0 2px;border-radius:3px;font-weight:600;}
.search-result-meta{display:flex;gap:8px;margin-top:4px;}
.search-result-meta span{font-size:9px;color:#7a7a8a;font-weight:600;letter-spacing:0.3px;text-transform:uppercase;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* JAPANESE PHRASES */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.jp-categories{display:grid;gap:10px;}
.jp-cat-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;cursor:pointer;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);transition:all 0.22s cubic-bezier(0.34,1.56,0.64,1);position:relative;overflow:hidden;animation:slideRight 0.35s ease forwards;opacity:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.jp-cat-card:active{transform:scale(0.97);filter:brightness(1.1);}
.jp-cat-card:nth-child(1){animation-delay:0.05s;}
.jp-cat-card:nth-child(2){animation-delay:0.12s;}
.jp-cat-card:nth-child(3){animation-delay:0.19s;}
.jp-cat-card:nth-child(4){animation-delay:0.26s;}
.jp-cat-card:nth-child(5){animation-delay:0.33s;}
.jp-cat-card:nth-child(6){animation-delay:0.40s;}
.jp-cat-emoji{font-size:32px;width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1);}
.jp-cat-card:hover .jp-cat-emoji{transform:scale(1.1) rotate(-5deg);}
.jp-cat-body{flex:1;min-width:0;}
.jp-cat-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1.2px;line-height:1;margin-bottom:4px;}
.jp-cat-meta{font-size:10px;color:#7a7a8a;letter-spacing:1px;text-transform:uppercase;font-weight:600;}
.jp-cat-arr{font-size:18px;opacity:0.5;transition:all 0.2s;flex-shrink:0;}
.jp-cat-card:hover .jp-cat-arr{opacity:1;transform:translate(3px,-2px);}

/* Flashcards page */
.jp-flash-wrap{padding:0;}
.jp-flash-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;margin-bottom:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.jp-flash-icon{font-size:34px;flex-shrink:0;}
.jp-flash-titles{flex:1;}
.jp-flash-title{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:1.5px;line-height:1;color:#fff;}
.jp-flash-sub{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#aaa;font-weight:600;margin-top:2px;}

.jp-progress{display:flex;align-items:center;gap:8px;font-size:10px;color:#7a7a8a;margin-bottom:14px;letter-spacing:1px;text-transform:uppercase;font-weight:600;}
.jp-progress-bar{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,0.08);overflow:hidden;position:relative;}
.jp-progress-fill{position:absolute;top:0;left:0;height:100%;border-radius:2px;transition:width 0.4s cubic-bezier(0.34,1.56,0.64,1);}

/* Flashcard - the star */
.jp-flashcard{perspective:1000px;width:100%;height:280px;margin-bottom:18px;cursor:pointer;}
.jp-flash-inner{position:relative;width:100%;height:100%;transition:transform 0.6s cubic-bezier(0.4,0.0,0.2,1);transform-style:preserve-3d;}
.jp-flashcard.flipped .jp-flash-inner{transform:rotateY(180deg);}
.jp-flash-side{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1.5px solid;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);overflow:hidden;}
.jp-flash-side::before{content:'';position:absolute;inset:0;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 50%);pointer-events:none;}
.jp-flash-front{transform:rotateY(0deg);}
.jp-flash-back{transform:rotateY(180deg);}

.jp-flash-en{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:14px;opacity:0.7;}
.jp-flash-jp{font-size:34px;font-weight:500;line-height:1.3;margin-bottom:18px;color:#fff;letter-spacing:1px;}
.jp-flash-ro{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:2px;line-height:1.1;color:#fff;}
.jp-flash-en-big{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:1.5px;line-height:1.1;color:#fff;margin-bottom:14px;}
.jp-flash-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;text-transform:uppercase;opacity:0.4;display:flex;align-items:center;gap:6px;}
.jp-flash-hint i{font-size:11px;}

.jp-speaker{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.18);border:1.5px solid rgba(255,255,255,0.35);cursor:pointer;transition:all 0.2s;backdrop-filter:blur(10px);color:#fff;z-index:5;}
.jp-speaker:active{transform:scale(0.9);background:rgba(255,255,255,0.3);}
.jp-speaker svg{display:block;}
.jp-speaker.playing{animation:speakerPulse 1s ease-in-out infinite;background:rgba(255,255,255,0.3);}
@keyframes speakerPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0.4);}50%{box-shadow:0 0 0 8px rgba(255,255,255,0);}}

/* Navigation buttons */
.jp-nav-row{display:flex;gap:10px;margin-bottom:18px;}
.jp-nav-btn{flex:1;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);color:#fff;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:6px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.jp-nav-btn:active{transform:scale(0.96);background:rgba(255,255,255,0.1);}
.jp-nav-btn:disabled{opacity:0.3;cursor:not-allowed;}
.jp-nav-btn:disabled:active{transform:none;}
.jp-nav-btn i{font-size:16px;}

/* Cultural tip */
.jp-tip{padding:14px 16px;border-radius:14px;border:1px solid;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:slideRight 0.4s ease forwards;opacity:0;animation-delay:0.2s;}
.jp-tip-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:7px;display:flex;align-items:center;gap:6px;}
.jp-tip-text{font-size:12px;line-height:1.65;color:#d0d0e0;font-weight:400;}
.jp-tip-text b{color:#fff;font-weight:700;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ONE DAY TRIPS */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.trip-card{display:flex;border-radius:16px;margin-bottom:10px;border:1px solid;cursor:pointer;transition:all 0.22s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);animation:slideRight 0.35s ease forwards;opacity:0;}
.trip-card:active{transform:scale(0.97);filter:brightness(1.1);}
.trip-card:nth-child(1){animation-delay:0.05s;}
.trip-card:nth-child(2){animation-delay:0.11s;}
.trip-card:nth-child(3){animation-delay:0.17s;}
.trip-card:nth-child(4){animation-delay:0.23s;}
.trip-card:nth-child(5){animation-delay:0.29s;}
.trip-card:nth-child(6){animation-delay:0.35s;}
.trip-card:hover{transform:translateX(4px);}
.trip-img{width:96px;flex-shrink:0;background-size:cover;background-position:center;position:relative;}
.trip-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(8,8,14,0.5) 100%);}
.trip-body{flex:1;padding:12px 14px;min-width:0;}
.trip-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:4px;}
.trip-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.trip-name .tk{color:#7a7a8a;font-size:11px;font-weight:400;margin-left:5px;}
.trip-pill{font-size:9px;padding:3px 8px;border-radius:18px;letter-spacing:0.5px;text-transform:uppercase;white-space:nowrap;font-weight:700;border:1px solid;flex-shrink:0;}
.trip-desc{font-size:11px;color:#9a9aaa;line-height:1.55;margin-bottom:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:400;}
.trip-meta{display:flex;gap:10px;font-size:10.5px;color:#8a8a9a;font-weight:500;}
.trip-meta-item{display:flex;align-items:center;gap:4px;}

/* Trip detail */
.trip-det{padding:18px 16px 24px;animation:slideRight 0.35s ease forwards;opacity:0;}
.trip-hero{width:100%;height:170px;border-radius:18px;background-size:cover;background-position:center;margin-bottom:14px;position:relative;overflow:hidden;border:1px solid;box-shadow:0 8px 24px rgba(0,0,0,0.3);}
.trip-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,14,0.75) 0%,transparent 50%);}
.trip-hero-overlay{position:absolute;bottom:12px;left:14px;right:14px;z-index:2;}
.trip-hero-kanji{font-size:11px;letter-spacing:3px;font-weight:600;}
.trip-hero-name{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:2px;color:#fff;line-height:1;margin-top:2px;}
.trip-hero-badge{display:inline-block;font-size:9px;padding:3px 11px;border-radius:18px;border:1px solid;letter-spacing:1px;text-transform:uppercase;margin-top:6px;font-weight:600;color:#fff;}

.trip-desc-block{font-size:12px;color:#a8a8b8;line-height:1.7;margin-bottom:14px;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.08);font-weight:400;}

.trip-highlights{margin-bottom:14px;padding:13px 14px;border-radius:14px;border:1px solid;}
.trip-highlights-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:9px;display:flex;align-items:center;gap:6px;}
.trip-highlights ul{list-style:none;padding:0;margin:0;}
.trip-highlights li{font-size:12px;color:#c8c8d8;line-height:1.55;padding:5px 0 5px 18px;position:relative;font-weight:400;}
.trip-highlights li::before{content:'◆';position:absolute;left:0;top:5px;font-size:8px;}

.trip-tip-block{margin-bottom:16px;padding:13px 14px;border-radius:14px;border:1px solid;}
.trip-tip-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:7px;display:flex;align-items:center;gap:6px;}
.trip-tip-text{font-size:12px;color:#d0d0e0;line-height:1.65;font-weight:400;}

.trip-section-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1.5px;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;gap:8px;}

.trip-quick-info{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px;}
.trip-info-card{padding:10px 12px;border-radius:12px;border:1px solid;}
.trip-info-card.full{grid-column:span 2;}
.trip-info-label{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:3px;display:flex;align-items:center;gap:4px;opacity:0.85;}
.trip-info-value{font-size:13px;color:#fff;font-weight:600;line-height:1.4;}
.trip-info-value.big{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1px;}

.trip-transport-card{padding:12px 14px;border-radius:13px;border:1px solid;margin-bottom:8px;background:rgba(255,255,255,0.03);}
.trip-transport-name{font-size:13px;font-weight:600;color:#fff;margin-bottom:3px;}
.trip-transport-from{font-size:10px;color:#9a9aaa;text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:8px;}
.trip-transport-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:7px;}
.trip-transport-pill{font-size:10px;padding:3px 9px;border-radius:11px;background:rgba(255,255,255,0.06);color:#d0d0e0;font-weight:600;border:0.5px solid rgba(255,255,255,0.1);display:flex;align-items:center;gap:4px;}
.trip-transport-pill.jr{background:rgba(0,255,140,0.12);color:#7cffae;border-color:rgba(0,255,140,0.3);}
.trip-transport-pill.jr-partial{background:rgba(255,170,0,0.12);color:#ffc966;border-color:rgba(255,170,0,0.3);}
.trip-transport-pill.jr-no{background:rgba(255,255,255,0.05);color:#7a7a8a;}
.trip-transport-note{font-size:11px;color:#a0a0b0;line-height:1.45;font-style:italic;}

/* Maps action buttons */
.trip-maps-row{display:grid;gap:8px;margin-top:14px;}
.trip-maps-btn{display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:14px;border:1px solid;color:#fff;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-align:left;}
.trip-maps-btn:active{transform:scale(0.97);filter:brightness(1.15);}
.trip-maps-btn-icon{font-size:20px;flex-shrink:0;line-height:1;}
.trip-maps-btn-text{flex:1;min-width:0;}
.trip-maps-btn-title{font-size:13px;font-weight:600;line-height:1.2;}
.trip-maps-btn-sub{font-size:10px;font-weight:500;opacity:0.7;margin-top:2px;letter-spacing:0.3px;}
.trip-maps-btn-arr{font-size:13px;opacity:0.55;}
.trip-maps-btn.primary{background:linear-gradient(135deg,rgba(0,210,255,0.2),rgba(0,210,255,0.08));border-color:rgba(0,210,255,0.45);}
.trip-maps-btn.primary:hover{background:linear-gradient(135deg,rgba(0,210,255,0.3),rgba(0,210,255,0.15));}
.trip-maps-btn.secondary{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.15);}
.trip-maps-btn.secondary:hover{background:rgba(255,255,255,0.08);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* FAVORITES / SAVED PLACES */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.fav-btn{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.15);cursor:pointer;transition:all 0.2s cubic-bezier(0.4,0,0.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:5;color:#fff;}
.fav-btn:active{transform:scale(0.85);}
.fav-btn svg{display:block;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);}
.fav-btn.saved{background:rgba(255,51,102,0.85);border-color:#7c3aed;}
.fav-btn.saved svg{transform:scale(1.15);}
.fav-btn.saved svg path{fill:#fff;stroke:#fff;}
.fav-btn.popping{animation:favPop 0.45s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes favPop{0%{transform:scale(1);}40%{transform:scale(1.35);}100%{transform:scale(1);}}

/* Pulse hearts effect when saving */
.fav-pulse{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:2px solid #7c3aed;pointer-events:none;opacity:0;z-index:4;}
.fav-pulse.go{animation:favPulse 0.7s ease-out;}
@keyframes favPulse{0%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(2.2);}}

/* Page "Me" / Saved */
.me-stats{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:7px;margin-bottom:18px;}
.me-stat{padding:12px 8px;border-radius:12px;border:1px solid;text-align:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all 0.2s;cursor:pointer;}
.me-stat:active{transform:scale(0.96);}
.me-stat-num{font-family:'Bebas Neue',sans-serif;font-size:22px;line-height:1;letter-spacing:0.5px;}
.me-stat-lbl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-top:4px;opacity:0.85;}

.me-section-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.2px;margin:18px 0 9px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;gap:8px;color:#fff;}
.me-section-title span.count{font-size:10px;color:#7a7a8a;font-family:'DM Sans',sans-serif;letter-spacing:1px;font-weight:600;}

.me-empty{text-align:center;padding:38px 22px;background:rgba(255,255,255,0.02);border-radius:18px;border:1px dashed rgba(255,255,255,0.1);margin-top:10px;}
.me-empty-icon{font-size:42px;margin-bottom:14px;display:block;}
.me-empty-title{font-size:14px;color:#d0d0e0;font-weight:600;margin-bottom:7px;}
.me-empty-sub{font-size:11px;color:#9a9aaa;line-height:1.6;font-weight:400;}
.me-empty-sub b{color:#b794f6;}

.me-clear-btn{margin-top:22px;width:100%;padding:11px;border-radius:12px;border:1px solid rgba(255,51,102,0.3);background:rgba(255,51,102,0.07);color:#b794f6;font-family:inherit;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;cursor:pointer;transition:all 0.2s;}
.me-clear-btn:active{transform:scale(0.97);background:rgba(255,51,102,0.15);}

/* Smaller saved card variant */
.saved-card{display:flex;border-radius:14px;margin-bottom:8px;border:1px solid;cursor:pointer;transition:all 0.2s;animation:slideRight 0.3s ease forwards;opacity:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.saved-card:active{transform:scale(0.97);filter:brightness(1.1);}
.saved-card-img{width:60px;flex-shrink:0;background-size:cover;background-position:center;border-radius:14px 0 0 14px;}
.saved-card-body{flex:1;padding:10px 12px;min-width:0;display:flex;align-items:center;gap:10px;}
.saved-card-text{flex:1;min-width:0;}
.saved-card-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.saved-card-name .sk{color:#7a7a8a;font-weight:400;font-size:10px;margin-left:5px;}
.saved-card-meta{font-size:10px;color:#9a9aaa;text-transform:uppercase;letter-spacing:0.5px;font-weight:600;}
.saved-card-remove{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,51,102,0.12);border:1px solid rgba(255,51,102,0.25);color:#b794f6;cursor:pointer;flex-shrink:0;transition:all 0.2s;}
.saved-card-remove:active{transform:scale(0.85);background:rgba(255,51,102,0.25);}
.saved-card-remove svg{display:block;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* MANNERS / ETIQUETTE */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.msec-title{font-family:'Bebas Neue',sans-serif;letter-spacing:1.6px;font-size:18px;margin:18px 0 10px;}
.mcard{display:flex;gap:13px;align-items:center;padding:12px 13px;border-radius:15px;margin-bottom:9px;border:1px solid;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:slideRight 0.4s ease both;}
.mcard-ico{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid;}
.mcard-ico svg{width:26px;height:26px;}
.mcard-body{flex:1;min-width:0;}
.mcard-txt{font-size:12.5px;line-height:1.5;color:#e8e8f0;}
.mcard-badge{font-size:8.5px;font-weight:800;letter-spacing:1px;padding:2px 8px;border-radius:20px;text-transform:uppercase;display:inline-block;margin-bottom:5px;}
.mcard.do{border-color:rgba(0,255,140,0.22);background:rgba(0,255,140,0.06);}
.mcard.do .mcard-ico{color:#00ff8c;background:rgba(0,255,140,0.13);border-color:rgba(0,255,140,0.3);}
.mcard.do .mcard-badge{background:rgba(0,255,140,0.18);color:#7cffb3;}
.mcard.dont{border-color:rgba(255,51,102,0.22);background:rgba(255,51,102,0.06);}
.mcard.dont .mcard-ico{color:#9457f0;background:rgba(255,51,102,0.13);border-color:rgba(255,51,102,0.3);}
.mcard.dont .mcard-badge{background:rgba(255,51,102,0.18);color:#b794f6;}
/* Manners quiz */
.quiz-prog{height:7px;border-radius:7px;background:rgba(255,255,255,0.1);overflow:hidden;margin:6px 0 4px;}
.quiz-prog-fill{height:100%;background:linear-gradient(90deg,#b794f6,#7c3aed);border-radius:7px;transition:width 0.4s ease;}
.quiz-count{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9a9aaa;font-weight:700;margin-top:14px;}
.quiz-emoji{font-size:54px;text-align:center;margin:14px 0 8px;}
.quiz-q{font-size:17px;line-height:1.4;color:#fff;font-weight:600;text-align:center;margin-bottom:18px;padding:0 4px;}
.quiz-opt{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.05);color:#e8e8f0;font-size:13.5px;font-family:inherit;cursor:pointer;margin-bottom:10px;transition:all 0.15s;line-height:1.4;}
.quiz-opt:active{transform:scale(0.98);}
.quiz-opt.correct{border-color:rgba(0,255,140,0.6);background:rgba(0,255,140,0.13);color:#fff;}
.quiz-opt.wrong{border-color:rgba(255,51,102,0.6);background:rgba(255,51,102,0.13);color:#fff;}
.quiz-opt.dim{opacity:0.45;}
.quiz-opt-mark{float:right;font-weight:800;margin-left:8px;}
.quiz-exp{padding:13px 15px;border-radius:13px;font-size:12.5px;line-height:1.6;margin-top:4px;animation:fadeUp 0.3s ease both;}
.quiz-exp.ok{background:rgba(0,255,140,0.08);border:1px solid rgba(0,255,140,0.25);color:#cfeede;}
.quiz-exp.no{background:rgba(255,51,102,0.08);border:1px solid rgba(255,51,102,0.25);color:#f3d0d8;}
.quiz-exp b{color:#fff;}
.quiz-next{width:100%;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,#b794f6,#7c3aed);color:#fff;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;margin-top:14px;}
.quiz-next:active{transform:scale(0.98);}
.quiz-result-emoji{font-size:72px;text-align:center;margin:18px 0 6px;}
.quiz-result-score{font-family:'Bebas Neue',sans-serif;font-size:54px;text-align:center;color:#fff;line-height:1;letter-spacing:2px;}
.quiz-result-tier{font-size:19px;text-align:center;color:#b794f6;font-weight:700;margin:8px 0 4px;}
.quiz-result-sub{font-size:13px;text-align:center;color:#b8b8c4;line-height:1.6;margin-bottom:18px;padding:0 8px;}
.quiz-browse{display:block;text-align:center;font-size:12px;color:#9a9aaa;margin-top:14px;cursor:pointer;text-decoration:underline;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.shake{animation:qshake 0.45s cubic-bezier(.36,.07,.19,.97) both;}
@keyframes qshake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}
@keyframes flashred{0%{opacity:0}22%{opacity:1}100%{opacity:0}}
.quiz-tally{display:flex;justify-content:center;gap:16px;margin-top:6px;font-size:13px;font-weight:700;}
.quiz-tally .qt-ok{color:#7cffb3;}
.quiz-tally .qt-no{color:#b794f6;}
.manners-categories{display:grid;gap:10px;margin-bottom:14px;}
.manners-cat-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;cursor:pointer;border:1px solid;transition:all 0.22s cubic-bezier(0.34,1.56,0.64,1);position:relative;overflow:hidden;animation:slideRight 0.35s ease forwards;opacity:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.manners-cat-card:active{transform:scale(0.97);filter:brightness(1.1);}
.manners-cat-card:nth-child(1){animation-delay:0.05s;}
.manners-cat-card:nth-child(2){animation-delay:0.12s;}
.manners-cat-card:nth-child(3){animation-delay:0.19s;}
.manners-cat-card:nth-child(4){animation-delay:0.26s;}
.manners-cat-card:nth-child(5){animation-delay:0.33s;}
.manners-cat-emoji{font-size:32px;width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1);}
.manners-cat-card:hover .manners-cat-emoji{transform:scale(1.1) rotate(-5deg);}
.manners-cat-body{flex:1;min-width:0;}
.manners-cat-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1.2px;line-height:1;margin-bottom:4px;}
.manners-cat-meta{font-size:10px;color:#7a7a8a;letter-spacing:1px;text-transform:uppercase;font-weight:600;}
.manners-cat-arr{font-size:18px;opacity:0.5;transition:all 0.2s;flex-shrink:0;}
.manners-cat-card:hover .manners-cat-arr{opacity:1;transform:translate(3px,-2px);}

.manners-hero{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;margin-bottom:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.manners-hero-icon{font-size:36px;flex-shrink:0;}
.manners-hero-titles{flex:1;}
.manners-hero-title{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:1.5px;line-height:1;}
.manners-hero-sub{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9a9aaa;font-weight:600;margin-top:3px;}

.manners-intro{font-size:12px;color:#c0c0d0;line-height:1.7;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.08);margin-bottom:13px;font-weight:400;}

.manners-section{padding:14px 16px;border-radius:14px;border:1px solid;margin-bottom:11px;}
.manners-section-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.5px;margin-bottom:11px;}
.manners-list{list-style:none;padding:0;margin:0;}
.manners-list li{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:12px;color:#d0d0e0;line-height:1.55;font-weight:400;}
.manners-list li:not(:last-child){border-bottom:1px solid rgba(255,255,255,0.04);}
.manners-list li b{color:#fff;font-weight:700;}
.m-icon-do,.m-icon-dont{flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;}
.m-icon-do{color:#00ff8c;}
.m-icon-dont{color:#b794f6;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* LEARN & PLAY HUB */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.lp-grid{display:grid;gap:12px;margin-top:6px;}
.lp-card{position:relative;padding:18px 16px 16px;border-radius:18px;border:1px solid;cursor:pointer;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:slideRight 0.35s ease forwards;opacity:0;}
.lp-card:active{transform:scale(0.97);filter:brightness(1.1);}
.lp-card:nth-child(1){animation-delay:0.05s;}
.lp-card:nth-child(2){animation-delay:0.13s;}
.lp-card:nth-child(3){animation-delay:0.21s;}
.lp-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08), transparent 60%);pointer-events:none;}
.lp-ico{width:64px;height:64px;margin-bottom:12px;}
.lp-ico svg{width:100%;height:100%;}
.lp-title{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:1.5px;line-height:1;margin-bottom:6px;}
.lp-sub{font-size:11.5px;line-height:1.5;font-weight:500;opacity:0.85;}
.lp-arr{position:absolute;top:16px;right:16px;font-size:18px;opacity:0.5;transition:all 0.2s;}
.lp-card:hover .lp-arr{opacity:1;transform:translate(3px,-2px);}

.lp-quiz{border-color:rgba(0,255,140,0.35);background:linear-gradient(135deg,rgba(0,255,140,0.12),rgba(0,255,140,0.04));}
.lp-quiz .lp-title{color:#7cffae;}
.lp-quiz .lp-sub{color:#aaffd4;}
.lp-quiz .lp-arr{color:#00ff8c;}
.lp-quiz:hover{box-shadow:0 8px 24px rgba(0,255,140,0.25);}

.lp-stories{border-color:rgba(150,80,255,0.35);background:linear-gradient(135deg,rgba(150,80,255,0.12),rgba(150,80,255,0.04));}
.lp-stories .lp-title{color:#c89fff;}
.lp-stories .lp-sub{color:#d8b8ff;}
.lp-stories .lp-arr{color:#9650ff;}
.lp-stories:hover{box-shadow:0 8px 24px rgba(150,80,255,0.25);}

.lp-language{border-color:rgba(255,138,163,0.35);background:linear-gradient(135deg,rgba(255,138,163,0.12),rgba(255,138,163,0.04));}
.lp-language .lp-title{color:#b794f6;}
.lp-language .lp-sub{color:#cbb2f7;}
.lp-language .lp-arr{color:#9457f0;}
.lp-language:hover{box-shadow:0 8px 24px rgba(255,138,163,0.25);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* JAPAN CURIOSITIES */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cur-list{display:grid;gap:11px;margin-bottom:16px;}
.cur-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;cursor:pointer;border:1px solid;transition:all 0.22s cubic-bezier(0.34,1.56,0.64,1);position:relative;overflow:hidden;animation:slideRight 0.35s ease forwards;opacity:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.cur-card:active{transform:scale(0.97);filter:brightness(1.1);}
.cur-card:nth-child(1){animation-delay:0.05s;}
.cur-card:nth-child(2){animation-delay:0.11s;}
.cur-card:nth-child(3){animation-delay:0.17s;}
.cur-card:nth-child(4){animation-delay:0.23s;}
.cur-card:nth-child(5){animation-delay:0.29s;}
.cur-card:nth-child(6){animation-delay:0.35s;}
.cur-card:nth-child(7){animation-delay:0.41s;}
.cur-emoji{font-size:32px;width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1);}
.cur-card:hover .cur-emoji{transform:scale(1.1) rotate(-5deg);}
.cur-body{flex:1;min-width:0;}
.cur-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:3px;}
.cur-title{font-family:'Bebas Neue',sans-serif;font-size:19px;letter-spacing:1.2px;line-height:1.1;}
.cur-pill{font-size:9px;padding:3px 8px;border-radius:18px;letter-spacing:0.5px;text-transform:uppercase;white-space:nowrap;font-weight:700;border:1px solid;flex-shrink:0;}
.cur-sub{font-size:11.5px;color:#a8a8b8;line-height:1.5;font-weight:400;}
.cur-arr{font-size:18px;opacity:0.5;transition:all 0.2s;flex-shrink:0;}
.cur-card:hover .cur-arr{opacity:1;transform:translate(3px,-2px);}

/* Curiosity detail page (article style) */
.cur-detail{animation:slideRight 0.35s ease forwards;opacity:0;}
.cur-hero{padding:24px 20px;border-radius:20px;border:1px solid;margin-bottom:18px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:center;position:relative;overflow:hidden;}
.cur-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%, rgba(255,255,255,0.06), transparent 60%);pointer-events:none;}
.cur-hero-emoji{font-size:56px;line-height:1;margin-bottom:8px;display:block;}
.cur-hero-title{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:2px;line-height:1;margin-bottom:4px;}
.cur-hero-subtitle{font-size:11px;color:#a8a8b8;letter-spacing:1px;font-weight:500;margin-bottom:10px;line-height:1.5;}
.cur-hero-pill{display:inline-block;font-size:9px;padding:3px 11px;border-radius:14px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;border:1px solid;}

.cur-intro{font-size:13px;color:#d0d0e0;line-height:1.7;padding:14px 16px;border-radius:14px;border:1px solid;margin-bottom:18px;font-weight:500;font-style:italic;}

.cur-article{font-size:13px;line-height:1.75;color:#c8c8d8;font-weight:400;}
.cur-article p{margin:0 0 14px 0;}
.cur-article h2{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1.5px;color:#fff;margin:24px 0 10px 0;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,0.1);line-height:1.2;}
.cur-article h2:first-child{margin-top:0;}
.cur-article h3{font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:1.2px;color:#fff;margin:18px 0 9px 0;line-height:1.2;}
.cur-article ul{list-style:none;padding:0;margin:0 0 14px 0;}
.cur-article ul li{padding:6px 0 6px 18px;position:relative;font-size:12.5px;line-height:1.6;border-bottom:1px solid rgba(255,255,255,0.04);}
.cur-article ul li:last-child{border-bottom:none;}
.cur-article ul li::before{content:'◆';position:absolute;left:0;top:7px;font-size:8px;opacity:0.7;}
.cur-article b,.cur-article strong{color:#fff;font-weight:700;}

.cur-footer{margin-top:24px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,0.03);border:1px dashed rgba(255,255,255,0.1);text-align:center;}
.cur-footer-icon{font-size:24px;display:block;margin-bottom:6px;}
.cur-footer-text{font-size:11px;color:#9a9aaa;line-height:1.5;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* LIST CARDS - iOS premium with frosted glass */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.izcard{border-radius:16px;margin-bottom:10px;border:1px solid rgba(150,80,255,0.25);background:rgba(150,80,255,0.07);cursor:pointer;transition:transform 0.22s cubic-bezier(0.4,0,0.2,1),border-color 0.22s,box-shadow 0.22s,filter 0.15s;position:relative;overflow:hidden;display:flex;animation:slideRight 0.35s ease forwards;opacity:0;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);}
.izcard:active{transform:scale(0.97);filter:brightness(1.1);}
.izcard.fr{border:1px solid rgba(255,51,102,0.25);background:rgba(255,51,102,0.07);}
.izcard.cy{border:1px solid rgba(0,210,255,0.25);background:rgba(0,210,255,0.06);}
.izcard:nth-child(1){animation-delay:0.05s;}.izcard:nth-child(2){animation-delay:0.1s;}.izcard:nth-child(3){animation-delay:0.15s;}.izcard:nth-child(4){animation-delay:0.2s;}.izcard:nth-child(5){animation-delay:0.25s;}.izcard:nth-child(6){animation-delay:0.3s;}.izcard:nth-child(7){animation-delay:0.35s;}.izcard:nth-child(8){animation-delay:0.4s;}.izcard:nth-child(9){animation-delay:0.45s;}.izcard:nth-child(10){animation-delay:0.5s;}.izcard:nth-child(n+11){animation-delay:0.55s;}
.izcard:hover{transform:translateX(4px);border-color:rgba(150,80,255,0.55);box-shadow:0 4px 16px rgba(150,80,255,0.25),inset 0 1px 0 rgba(255,255,255,0.08);}
.izcard.fr:hover{border-color:rgba(255,51,102,0.6);box-shadow:0 4px 16px rgba(255,51,102,0.25),inset 0 1px 0 rgba(255,255,255,0.08);}
.izcard.cy:hover{border-color:rgba(0,210,255,0.6);box-shadow:0 4px 16px rgba(0,210,255,0.25),inset 0 1px 0 rgba(255,255,255,0.08);}
.iz-img{width:90px;flex-shrink:0;background:#15151c;background-size:cover;background-position:center;position:relative;}
.iz-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(8,8,14,0.5) 100%);}
.iz-body{flex:1;padding:12px 13px;min-width:0;}
.iz-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px;gap:6px;}
.izname{font-size:14px;font-weight:600;color:#e0c8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.izcard.fr .izname{color:#cbb2f7;}
.izcard.cy .izname{color:#a8e9ff;}
.izname span{color:#7a7a8a;font-size:11px;font-weight:400;}
.iztag{font-size:9px;padding:3px 9px;border-radius:18px;background:rgba(150,80,255,0.22);color:#c89fff;border:1px solid rgba(150,80,255,0.45);letter-spacing:0.5px;text-transform:uppercase;white-space:nowrap;font-weight:600;}
.izcard.fr .iztag{background:rgba(255,51,102,0.22);color:#b794f6;border-color:rgba(255,51,102,0.45);}
.izcard.cy .iztag{background:rgba(0,210,255,0.22);color:#7ce0ff;border-color:rgba(0,210,255,0.45);}
.izdesc{font-size:11px;color:#9a9aaa;line-height:1.55;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:400;}
.izmeta{display:flex;gap:10px;}
.izm{font-size:11px;color:#8a8a9a;display:flex;align-items:center;gap:4px;font-weight:500;}
.izm i{font-size:12px;color:#9650ff;}
.izcard.fr .izm i{color:#7c3aed;}
.izcard.cy .izm i{color:#00d2ff;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* GET AROUND CARDS */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.gacard{border-radius:16px;margin-bottom:10px;border:1px solid rgba(255,170,0,0.28);background:rgba(255,170,0,0.07);cursor:pointer;transition:transform 0.22s cubic-bezier(0.4,0,0.2,1),border-color 0.22s,box-shadow 0.22s,filter 0.15s;position:relative;display:flex;align-items:center;gap:14px;padding:14px;animation:slideRight 0.35s ease forwards;opacity:0;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);}
.gacard:active{transform:scale(0.97);filter:brightness(1.1);}
.gacard:nth-child(2){animation-delay:0.06s;}.gacard:nth-child(3){animation-delay:0.12s;}.gacard:nth-child(4){animation-delay:0.18s;}.gacard:nth-child(5){animation-delay:0.24s;}.gacard:nth-child(6){animation-delay:0.30s;}
.gacard:hover{transform:translateX(4px);border-color:rgba(255,170,0,0.55);box-shadow:0 4px 16px rgba(255,170,0,0.25),inset 0 1px 0 rgba(255,255,255,0.08);}
.ga-icon{font-size:32px;flex-shrink:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:rgba(255,170,0,0.12);border:1px solid rgba(255,170,0,0.28);border-radius:14px;}
.ga-body{flex:1;min-width:0;}
.ga-name{font-size:14px;font-weight:600;color:#ffd28f;margin-bottom:3px;}
.ga-name .gk{color:#7a7a8a;font-size:11px;margin-left:5px;font-weight:400;}
.ga-short{font-size:11px;color:#a0a0b0;line-height:1.5;font-weight:400;}
.ga-arr{font-size:14px;color:rgba(255,170,0,0.55);transition:all 0.2s;flex-shrink:0;}
.gacard:hover .ga-arr{color:#ffaa00;transform:translate(2px,-2px);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* GET AROUND DETAIL */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.gad{padding:18px 16px 24px;animation:slideRight 0.35s ease forwards;opacity:0;}
.gad-hero{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:16px;border-radius:18px;background:rgba(255,170,0,0.12);border:1px solid rgba(255,170,0,0.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.gad-icon-big{font-size:42px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(255,170,0,0.18);border:1px solid rgba(255,170,0,0.35);border-radius:16px;flex-shrink:0;}
.gad-titles{flex:1;min-width:0;}
.gad-kanji{font-size:11px;color:#ffaa00;letter-spacing:3px;font-weight:600;}
.gad-name{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:1.5px;color:#fff;line-height:1;margin-top:2px;}

.section-block{margin-bottom:11px;padding:13px 14px;border-radius:14px;background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.08);}
.section-title{font-size:12px;font-weight:600;color:#ffd28f;letter-spacing:0.5px;margin-bottom:7px;}
.section-body{font-size:12px;color:#b0b0c0;line-height:1.65;font-weight:400;}
.section-body b{color:#fff;font-weight:600;}

.subsec-title{font-family:'Bebas Neue',sans-serif;font-size:18px;color:#ffd28f;letter-spacing:1px;margin-top:18px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,170,0,0.25);}

.facts-grid{display:grid;gap:5px;margin:8px 0;}
.fact-row{display:flex;justify-content:space-between;align-items:center;padding:9px 13px;border-radius:11px;background:rgba(255,170,0,0.08);font-size:12px;}
.fact-label{color:#9a9aaa;}
.fact-value{color:#ffd28f;font-weight:600;text-align:right;max-width:60%;}

.option-card{margin-bottom:11px;padding:13px 14px;border-radius:14px;background:rgba(255,170,0,0.08);border:1px solid rgba(255,170,0,0.28);}
.option-name{font-size:14px;font-weight:600;color:#ffd28f;margin-bottom:3px;}
.option-area{font-size:10px;color:#8a8a9a;margin-bottom:7px;text-transform:uppercase;letter-spacing:1px;font-weight:500;}
.option-price{display:inline-block;font-size:11px;padding:4px 11px;border-radius:14px;background:rgba(255,170,0,0.22);color:#ffc266;border:1px solid rgba(255,170,0,0.4);margin-bottom:8px;font-weight:600;}
.option-desc{font-size:12px;color:#a8a8b8;line-height:1.6;margin-bottom:8px;font-weight:400;}
.option-desc b{color:#fff;font-weight:600;}

.tips-block{margin-top:14px;padding:13px 14px;border-radius:14px;background:rgba(0,210,255,0.08);border:1px solid rgba(0,210,255,0.25);}
.tips-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#7ce0ff;margin-bottom:8px;display:flex;align-items:center;gap:5px;font-weight:600;}
.tips-list{list-style:none;padding:0;margin:0;}
.tips-list li{font-size:12px;color:#a8a8b8;line-height:1.55;padding-left:14px;position:relative;margin-bottom:6px;font-weight:400;}
.tips-list li::before{content:'→';position:absolute;left:0;color:#00d2ff;font-weight:bold;}
.tips-list li b{color:#fff;font-weight:600;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* DETAIL PAGES */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.det{padding:18px 16px 24px;animation:slideRight 0.35s ease forwards;opacity:0;}
.det-hero{width:100%;height:170px;border-radius:18px;background-size:cover;background-position:center;margin-bottom:14px;position:relative;overflow:hidden;border:1px solid rgba(150,80,255,0.3);box-shadow:0 8px 24px rgba(0,0,0,0.3);}
.det-hero.fr{border-color:rgba(255,51,102,0.3);}
.det-hero.cy{border-color:rgba(0,210,255,0.3);}
.det-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,14,0.85) 0%,transparent 50%);}
.det-hero-overlay{position:absolute;bottom:12px;left:14px;right:14px;z-index:2;}
.det-kanji{font-size:11px;color:#9650ff;letter-spacing:3px;font-weight:600;}
.det-hero.fr .det-hero-overlay .det-kanji{color:#7c3aed;}
.det-hero.cy .det-hero-overlay .det-kanji{color:#00d2ff;}
.det-name{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:2px;color:#fff;line-height:1;}
.det-badge{display:inline-block;font-size:9px;padding:3px 11px;border-radius:18px;background:rgba(150,80,255,0.3);color:#fff;border:1px solid rgba(150,80,255,0.55);letter-spacing:1px;text-transform:uppercase;margin-top:5px;font-weight:600;}
.det-badge.fr{background:rgba(255,51,102,0.3);color:#fff;border-color:rgba(255,51,102,0.55);}
.det-badge.cy{background:rgba(0,210,255,0.3);color:#fff;border-color:rgba(0,210,255,0.55);}
.det-desc{font-size:12px;color:#a8a8b8;line-height:1.7;margin-bottom:13px;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.08);font-weight:400;}
.det-pbox{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px 15px;border-radius:14px;background:rgba(150,80,255,0.12);border:1px solid rgba(150,80,255,0.28);}
.det-pbox.fr{background:rgba(255,51,102,0.12);border-color:rgba(255,51,102,0.28);}
.det-pbox.cy{background:rgba(0,210,255,0.12);border-color:rgba(0,210,255,0.28);}
.det-plabel{font-size:9px;color:#8a8a9a;text-transform:uppercase;letter-spacing:1px;font-weight:600;}
.det-pval{font-family:'Bebas Neue',sans-serif;font-size:24px;color:#c89fff;letter-spacing:1px;}
.det-pbox.fr .det-pval{color:#b794f6;}
.det-pbox.cy .det-pval{color:#7ce0ff;}
.hrs-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#7a7a8a;margin-bottom:7px;font-weight:600;}
.hrs-grid{display:grid;gap:1px;}
.hr-row{display:flex;justify-content:space-between;padding:8px 13px;border-radius:9px;font-size:12px;}
.hr-row:nth-child(odd){background:rgba(255,255,255,0.03);}
.hr-day{color:#9a9aaa;font-weight:500;}
.hr-time{color:#d0d0d8;font-weight:500;}
.hr-time.late{color:#c89fff;font-weight:600;}
.hr-time.closed{color:#6a4a5a;font-style:italic;}
.fr-hours .hr-time.late{color:#b794f6;font-weight:600;}
.addr-row{margin-top:11px;display:flex;align-items:flex-start;gap:8px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.08);}
.addr-row i{font-size:14px;color:#c89fff;margin-top:1px;flex-shrink:0;}
.addr-row.fr i{color:#b794f6;}
.addr-row.cy i{color:#7ce0ff;}
.addr-text{font-size:11px;color:#a8a8b8;line-height:1.5;font-weight:400;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* LINK BUTTONS - iOS premium */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.link-group{margin-top:11px;display:flex;flex-direction:column;gap:6px;}
.link-btn{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;background:rgba(0,210,255,0.1);border:1px solid rgba(0,210,255,0.3);color:#a8e9ff;font-size:12px;text-decoration:none;font-family:inherit;cursor:pointer;transition:all 0.2s;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.link-btn:hover{background:rgba(0,210,255,0.18);border-color:rgba(0,210,255,0.55);transform:translateX(2px);}
.link-btn:active{transform:scale(0.98);}
.link-btn i{font-size:15px;flex-shrink:0;}
.link-btn-text{flex:1;}
.link-btn-arr{font-size:13px;opacity:0.6;}
.link-btn.am{background:rgba(255,170,0,0.1);border-color:rgba(255,170,0,0.3);color:#ffd28f;}
.link-btn.am:hover{background:rgba(255,170,0,0.18);border-color:rgba(255,170,0,0.55);}
.link-btn.fr{background:rgba(255,51,102,0.1);border-color:rgba(255,51,102,0.3);color:#cbb2f7;}
.link-btn.fr:hover{background:rgba(255,51,102,0.18);border-color:rgba(255,51,102,0.55);}
.link-btn.pp{background:rgba(150,80,255,0.1);border-color:rgba(150,80,255,0.3);color:#d8b8ff;}
.link-btn.pp:hover{background:rgba(150,80,255,0.18);border-color:rgba(150,80,255,0.55);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* SUBMENU CARDS */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.ecard{border-radius:16px;padding:15px;margin-bottom:9px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);cursor:pointer;transition:transform 0.18s cubic-bezier(0.4,0,0.2,1),box-shadow 0.18s,filter 0.15s;position:relative;animation:slideRight 0.35s ease forwards;opacity:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.ecard:active{transform:scale(0.97);filter:brightness(1.1);}
.ecard:nth-child(2){animation-delay:0.08s;}.ecard:nth-child(3){animation-delay:0.16s;}.ecard:nth-child(4){animation-delay:0.24s;}
.ecard:hover{transform:translateX(4px);}
.ecard-name{font-size:14px;font-weight:600;margin-bottom:4px;color:#fff;}
.ecard-desc{font-size:11px;color:#9a9aaa;line-height:1.55;margin-bottom:8px;font-weight:400;}
.ecard-meta{display:flex;gap:10px;flex-wrap:wrap;}
.em{font-size:11px;color:#8a8a9a;display:flex;align-items:center;gap:4px;font-weight:500;}
.em i{font-size:12px;}
.ecarr{position:absolute;bottom:14px;right:14px;font-size:14px;opacity:0.4;transition:all 0.2s;}

/* Illustrated section cards (Eat & Drink / Explore) — opt-in via .illus */
.ecard.illus{display:flex;align-items:center;gap:13px;overflow:hidden;}
.ecard.illus .ec-body{flex:1;min-width:0;padding-right:18px;position:relative;z-index:2;}
.ec-ico{flex-shrink:0;width:56px;height:56px;border-radius:15px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);}
.ec-ico svg{width:40px;height:40px;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4));}
.ecard.illus::after{content:'';position:absolute;top:-55%;right:-25%;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,var(--ec-glow,rgba(255,255,255,0.05)) 0%,transparent 70%);pointer-events:none;opacity:0.55;transition:opacity 0.25s;z-index:1;}
.ecard.illus:hover::after{opacity:1;}
.ecard.illus:hover .ec-ico{transform:scale(1.05);}
.ec-ico{transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1);}
.ec-fr{--ec-glow:rgba(255,51,102,0.16);}
.ec-fr .ec-ico{background:rgba(255,51,102,0.16);border-color:rgba(255,51,102,0.38);}
.ec-iz{--ec-glow:rgba(150,80,255,0.16);}
.ec-iz .ec-ico{background:rgba(150,80,255,0.16);border-color:rgba(150,80,255,0.38);}
.ec-vg{--ec-glow:rgba(0,255,140,0.14);}
.ec-vg .ec-ico{background:rgba(0,255,140,0.13);border-color:rgba(0,255,140,0.32);}
.ec-cy{--ec-glow:rgba(0,210,255,0.16);}
.ec-cy .ec-ico{background:rgba(0,210,255,0.15);border-color:rgba(0,210,255,0.38);}
.ec-am{--ec-glow:rgba(255,170,0,0.16);}
.ec-am .ec-ico{background:rgba(255,170,0,0.15);border-color:rgba(255,170,0,0.38);}
.ec-mut .ec-ico{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.12);}
.ec-ac{--ec-glow:rgba(206,92,224,0.16);}
.ec-ac .ec-ico{background:rgba(206,92,224,0.16);border-color:rgba(206,92,224,0.4);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* MONEY screen — live FX converter + info cards */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.fx-box{margin-top:16px;border-radius:18px;padding:16px;border:1px solid rgba(255,205,70,0.32);background:linear-gradient(135deg,rgba(255,205,70,0.11),rgba(0,200,120,0.06));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden;}
.fx-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;}
.fx-title{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#ffd98a;font-weight:700;}
.fx-live{display:inline-flex;align-items:center;gap:6px;}
.fx-livedot{width:6px;height:6px;border-radius:50%;background:#00ff8c;box-shadow:0 0 6px #00ff8c;animation:pulseRing 2s infinite;}
.fx-refresh{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#ffe0a0;border-radius:9px;padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;font-family:inherit;}
.fx-refresh:active{transform:scale(0.94);}
.fx-conv{display:flex;align-items:flex-end;gap:9px;}
.fx-field{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0;}
.fx-flabel{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#9a9aaa;font-weight:600;}
.fx-input,.fx-select{background:rgba(0,0,0,0.32);border:1px solid rgba(255,255,255,0.14);border-radius:11px;padding:11px 12px;color:#fff;font-size:16px;font-weight:600;font-family:inherit;width:100%;outline:none;-webkit-appearance:none;appearance:none;}
.fx-input:focus,.fx-select:focus{border-color:rgba(255,205,70,0.6);}
.fx-select{font-size:14px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffe0a0' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px;}
.fx-flip{flex-shrink:0;background:rgba(255,205,70,0.16);border:1px solid rgba(255,205,70,0.4);color:#ffcd46;width:40px;height:40px;border-radius:11px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:transform 0.25s;}
.fx-flip:active{transform:scale(0.9) rotate(180deg);}
.fx-out{margin-top:13px;text-align:center;padding:13px;border-radius:13px;background:rgba(0,0,0,0.28);border:1px solid rgba(255,205,70,0.18);}
.fx-outval{font-family:'Bebas Neue',sans-serif;font-size:32px;color:#fff;letter-spacing:1px;line-height:1;}
.fx-outsub{font-size:11px;color:#9a9aaa;margin-top:6px;}
.fx-quick{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;}
.fx-chip{flex:1;min-width:64px;background:rgba(0,0,0,0.22);border:1px solid rgba(255,255,255,0.1);border-radius:11px;padding:9px 6px;text-align:center;}
.fx-chip-cur{font-size:10px;color:#9a9aaa;font-weight:600;}
.fx-chip-val{font-size:13px;color:#ffe0a0;font-weight:700;margin-top:3px;}
.fx-foot{font-size:9.5px;color:#7a7a8a;margin-top:12px;text-align:center;line-height:1.5;}
.fx-foot a{color:#9a9aaa;}
.fx-loading,.fx-err{font-size:12px;color:#b8b8c4;text-align:center;padding:18px 0;}
.fx-err .fx-refresh{display:inline-flex;margin-top:9px;}
.money-card{margin-top:14px;border-radius:16px;padding:15px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.money-card h3{font-size:14px;color:#fff;margin-bottom:8px;display:flex;align-items:center;gap:9px;font-weight:600;}
.money-card h3 i{color:#ffcd46;font-size:18px;}
.money-card p{font-size:12px;color:#b8b8c4;line-height:1.6;}
.money-card p strong{color:#fff;font-weight:600;}
.money-li{display:flex;gap:9px;font-size:12px;color:#b8b8c4;line-height:1.55;margin-top:10px;}
.money-li i{color:#00ff8c;font-size:15px;margin-top:1px;flex-shrink:0;}
.money-li strong{color:#fff;font-weight:600;}
.money-li.warn i{color:#ff9a6c;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* TOKYO AI ASSISTANT — chat UI */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.ai-screen{display:flex;flex-direction:column;min-height:100%;}
.ai-msgs{flex:1;display:flex;flex-direction:column;gap:11px;margin-top:8px;padding-bottom:6px;}
.ai-row{display:flex;gap:9px;max-width:90%;}
.ai-row.me{align-self:flex-end;flex-direction:row-reverse;}
.ai-av{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(150,80,255,0.3),rgba(0,210,255,0.2));border:1px solid rgba(180,160,255,0.4);}
.ai-av svg{width:22px;height:22px;}
.ai-bubble{padding:11px 13px;border-radius:14px;font-size:13px;line-height:1.55;color:#e6e6ee;word-wrap:break-word;overflow-wrap:anywhere;}
.ai-row.ai .ai-bubble{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-top-left-radius:4px;}
.ai-row.me .ai-bubble{background:linear-gradient(135deg,rgba(150,80,255,0.32),rgba(0,150,255,0.22));border:1px solid rgba(150,120,255,0.4);border-top-right-radius:4px;color:#fff;}
.ai-bubble strong{color:#fff;font-weight:600;}
.ai-bubble a{color:#7ce0ff;}
.ai-typing{display:flex;gap:4px;padding:3px 1px;}
.ai-typing span{width:7px;height:7px;border-radius:50%;background:#b9a8ff;animation:aiBlink 1.2s infinite;}
.ai-typing span:nth-child(2){animation-delay:0.2s;}
.ai-typing span:nth-child(3){animation-delay:0.4s;}
@keyframes aiBlink{0%,60%,100%{opacity:0.25;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}
.ai-sugg{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px;margin-left:39px;}
.ai-chip{background:rgba(150,80,255,0.12);border:1px solid rgba(150,120,255,0.32);color:#cbbcff;border-radius:20px;padding:7px 12px;font-size:11.5px;cursor:pointer;font-family:inherit;text-align:left;}
.ai-chip:active{transform:scale(0.96);}
.ai-inbar{position:sticky;bottom:0;display:flex;gap:8px;align-items:flex-end;padding:10px 0 6px;background:linear-gradient(to top,#0d0718 72%,rgba(10,10,18,0));}
.ai-input{flex:1;background:rgba(0,0,0,0.38);border:1px solid rgba(255,255,255,0.15);border-radius:14px;padding:11px 13px;color:#fff;font-size:14px;font-family:inherit;resize:none;outline:none;max-height:104px;line-height:1.4;}
.ai-input:focus{border-color:rgba(150,120,255,0.55);}
.ai-input:disabled{opacity:0.6;}
.ai-send{flex-shrink:0;width:42px;height:42px;border-radius:13px;border:none;background:linear-gradient(135deg,#9650ff,#00a4ff);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ai-send:active{transform:scale(0.92);}
.ai-send:disabled{opacity:0.4;cursor:default;}
.ai-note{font-size:12px;color:#c4c4cc;line-height:1.65;background:rgba(255,170,0,0.08);border:1px solid rgba(255,170,0,0.28);border-radius:13px;padding:14px;}
.ai-note strong{color:#ffd28f;}
.ai-note code{background:rgba(0,0,0,0.4);padding:1px 6px;border-radius:5px;font-size:11px;color:#ffe0a0;}
.ai-disc{font-size:9.5px;color:#6a6a7a;text-align:center;padding-bottom:2px;}
.ai-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;margin-left:39px;}
.ai-act{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(150,80,255,0.2),rgba(0,210,255,0.13));border:1px solid rgba(150,120,255,0.42);color:#d2c6ff;border-radius:11px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.ai-act:active{transform:scale(0.96);}
.ai-act i{font-size:15px;color:#b9a8ff;}
.ecard:hover .ecarr{opacity:1;transform:translate(2px,-2px);}

.coming{text-align:center;padding:60px 20px;color:#5a5a6a;}
.coming i{font-size:38px;display:block;margin-bottom:12px;}
.coming p{font-size:12px;line-height:1.8;color:#7a7a8a;font-weight:400;}
.coming strong{color:#a8a8b8;font-weight:600;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* SEASONAL ELEMENTS */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.season-layer{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;}
.fall-elem{position:absolute;pointer-events:none;will-change:transform;}
@keyframes seasonFall{0%{transform:translateY(-30px) rotate(0deg);opacity:0;}10%{opacity:1;}90%{opacity:0.9;}100%{transform:translateY(800px) rotate(360deg);opacity:0;}}
@keyframes craneGlide{0%{transform:translate(40px,0) rotate(-8deg);opacity:0;}8%{opacity:0.85;}92%{opacity:0.85;}100%{transform:translate(-420px,180px) rotate(-8deg);opacity:0;}}
@keyframes craneGlide2{0%{transform:translate(40px,0) rotate(5deg);opacity:0;}8%{opacity:0.85;}92%{opacity:0.85;}100%{transform:translate(-420px,260px) rotate(5deg);opacity:0;}}
@keyframes wingFlap{0%,100%{transform:scaleY(1);}50%{transform:scaleY(0.85);}}
.fall-elem.sakura,.fall-elem.autumn{animation:seasonFall linear infinite;}
.fall-elem.crane{animation:craneGlide linear infinite;}
.fall-elem.crane.alt{animation:craneGlide2 linear infinite;}
.fall-elem .wing{transform-origin:center;animation:wingFlap 2s ease-in-out infinite;}
.fall-elem svg{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4));}
