/* STARFIELD */
#tungmath-starfield { position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:0;pointer-events:none;display:block; }
body.tungmath-theme { background:#010204;color:#f5f7fb;margin:0; }
body.tungmath-theme #root { position:relative;z-index:1;min-height:100vh; }
body.tungmath-theme #root > div { position:relative;z-index:1;background:transparent!important; }

/* WORDMARK */
.tungmath-wordmark { background:linear-gradient(90deg,#fff,rgba(200,210,255,.9));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;letter-spacing:-.02em; }

/* TAB DOCK */
.tungmath-tab-dock { display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08); }
.tungmath-tab { background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(245,247,251,.55);font-size:.95rem;font-weight:600;cursor:pointer;padding:.6rem 1.6rem;border-radius:2rem;transition:all 200ms; }
.tungmath-tab:hover { color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12); }
.tungmath-tab.is-active { background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55);color:#fff;box-shadow:0 0 12px rgba(255,255,255,.45),0 0 28px rgba(255,255,255,.2),0 0 56px rgba(255,255,255,.08);text-shadow:0 0 10px rgba(255,255,255,.7); }

/* DROPDOWN */
.tm-movies-wrap { position:relative; }
.tm-dropdown {
  position:absolute;top:calc(100% + .5rem);left:50%;transform:translateX(-50%);
  background:#0e1018;border:1px solid rgba(255,255,255,.15);border-radius:.75rem;
  padding:.4rem;min-width:180px;z-index:9000;
  opacity:0;pointer-events:none;visibility:hidden;
  transform:translateX(-50%) translateY(-8px) scale(.96);
  transition:all 180ms cubic-bezier(.23,1,.32,1);
  box-shadow:0 8px 32px rgba(0,0,0,.6);
}
.tm-dropdown.is-open { opacity:1;pointer-events:auto;visibility:visible;transform:translateX(-50%) translateY(0) scale(1); }
.tm-dropdown-item {
  width:100%;padding:.6rem 1rem;background:none;border:none;color:#f5f7fb;
  font-size:.9rem;font-weight:500;cursor:pointer;text-align:left;border-radius:.5rem;
  transition:background 130ms;display:block;
}
.tm-dropdown-item:hover { background:rgba(255,255,255,.1); }

/* OVERLAY */
#tm-overlay { position:fixed;inset:0;z-index:998;display:none;flex-direction:column;background:#000;opacity:0;transition:opacity 200ms ease; }
#tm-overlay.is-open { opacity:1; }
.tm-overlay-bar { flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:rgba(0,0,0,.85);border-bottom:1px solid rgba(255,255,255,.08); }
.tm-overlay-title { font-size:.95rem;font-weight:700;color:#f5f7fb; }
.tm-overlay-close { background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#f5f7fb;padding:.4rem .75rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all 150ms; }
.tm-overlay-close:hover { background:rgba(255,255,255,.14); }
.tm-overlay-frame { flex:1;overflow:hidden;position:relative; }
.tm-overlay-frame iframe { position:absolute;inset:0;width:100%;height:100%;border:none;display:block; }

/* MY MOVIES */
.tm-mymovies { display:flex;flex-direction:column;height:100%;background:#080a10; }
.tm-mymovies-search { padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.07); }
.tm-mymovies-search input { width:100%;padding:.65rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:2rem;color:#f5f7fb;font-size:.9rem;box-sizing:border-box;transition:all 150ms; }
.tm-mymovies-search input::placeholder { color:rgba(245,247,251,.35); }
.tm-mymovies-search input:focus { outline:none;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.3); }
.tm-mymovies-grid { flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem; }
.tm-mymovies-grid::-webkit-scrollbar { width:6px; }
.tm-mymovies-grid::-webkit-scrollbar-thumb { background:rgba(255,255,255,.15);border-radius:3px; }
.tm-mv-card { cursor:pointer;outline:none;transition:transform 200ms cubic-bezier(.23,1,.32,1); }
.tm-mv-card:hover { transform:translateY(-6px); }
.tm-mv-poster { position:relative;aspect-ratio:2/3;border-radius:.65rem;overflow:hidden;background:#1a1c24;border:1px solid rgba(255,255,255,.08);margin-bottom:.5rem;transition:box-shadow 200ms; }
.tm-mv-card:hover .tm-mv-poster { box-shadow:0 8px 24px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.2); }
.tm-mv-poster img { width:100%;height:100%;object-fit:cover;display:block; }
.tm-mv-play { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;opacity:0;transition:opacity 250ms;backdrop-filter:blur(4px); }
.tm-mv-card:hover .tm-mv-play { opacity:1; }
.tm-mv-title { font-size:.82rem;font-weight:600;color:#e8eaf0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.tm-mv-year { font-size:.7rem;color:rgba(245,247,251,.4);margin-top:.1rem; }
.tm-mv-empty { padding:3rem;text-align:center;color:rgba(245,247,251,.4);grid-column:1/-1; }

/* DRIVE PLAYER */
#tm-drive-player { position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity 200ms; }
#tm-drive-player.is-open { opacity:1;pointer-events:auto; }
.tm-player-bar { flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:rgba(0,0,0,.85);border-bottom:1px solid rgba(255,255,255,.06); }
.tm-player-title { font-size:.95rem;font-weight:700;color:#f5f7fb;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.tm-player-btns { display:flex;gap:.4rem;flex-shrink:0;margin-left:1rem; }
.tm-player-btn { background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#f5f7fb;width:38px;height:38px;border-radius:6px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all 130ms; }
.tm-player-btn:hover { background:rgba(255,255,255,.18); }
.tm-player-frame { flex:1;overflow:hidden;background:#000; }
.tm-player-frame iframe { width:100%;height:100%;border:none;display:block; }

/* CHAT */
#tm-chat-btn { position:fixed;bottom:1.5rem;right:1.5rem;z-index:9000;width:52px;height:52px;border-radius:50%;background:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 4px 24px rgba(0,0,0,.5),0 0 28px rgba(255,255,255,.15);transition:all 200ms; }
#tm-chat-btn:hover { transform:scale(1.1); }
#tm-chat-panel { position:fixed;bottom:5.5rem;right:1.5rem;z-index:8999;width:320px;height:420px;background:#0e1018;border:1px solid rgba(255,255,255,.12);border-radius:1rem;overflow:hidden;box-shadow:0 8px 48px rgba(0,0,0,.7);display:flex;flex-direction:column;opacity:0;pointer-events:none;visibility:hidden;transform:translateY(12px) scale(.97);transform-origin:bottom right;transition:opacity 220ms cubic-bezier(.23,1,.32,1),transform 220ms cubic-bezier(.23,1,.32,1),visibility 0ms 220ms; }
#tm-chat-panel.is-open { opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0) scale(1);transition:opacity 220ms cubic-bezier(.23,1,.32,1),transform 220ms cubic-bezier(.23,1,.32,1),visibility 0ms 0ms; }
.tm-chat-panel-header { display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#0a0c12;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0; }
.tm-chat-panel-title { display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:700;color:#f5f7fb; }
.tm-chat-live-dot { width:8px;height:8px;border-radius:50%;background:#22c55e;animation:tm-pulse 2s infinite; }
@keyframes tm-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(.85)} }
.tm-chat-close { background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;font-size:1rem;padding:.1rem .3rem;transition:color 150ms; }
.tm-chat-close:hover { color:#fff; }
.tm-chat-iframe-wrap { flex:1;overflow:hidden;position:relative; }
.tm-chat-iframe-wrap iframe { position:absolute;inset:0;width:100%;height:100%;border:none;display:block; }

/* SPLASH */
#tm-splash { position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(1,2,4,.88);backdrop-filter:blur(12px);animation:tm-splash-in 350ms ease forwards; }
#tm-splash.is-closing { animation:tm-splash-out 300ms ease forwards;pointer-events:none; }
@keyframes tm-splash-in { from{opacity:0} to{opacity:1} }
@keyframes tm-splash-out { from{opacity:1} to{opacity:0} }
.tm-splash-box { background:linear-gradient(160deg,#0e1018,#080a10);border:1px solid rgba(255,255,255,.12);border-radius:1.25rem;padding:2.25rem 2rem 1.75rem;width:min(480px,calc(100vw - 2.5rem));box-shadow:0 8px 60px rgba(0,0,0,.7);animation:tm-box-in 400ms cubic-bezier(.23,1,.32,1) forwards; }
@keyframes tm-box-in { from{transform:scale(.88) translateY(20px);opacity:0} to{transform:scale(1) translateY(0);opacity:1} }
#tm-splash.is-closing .tm-splash-box { animation:tm-box-out 280ms ease forwards; }
@keyframes tm-box-out { from{transform:scale(1);opacity:1} to{transform:scale(.92) translateY(10px);opacity:0} }
.tm-splash-top { display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.07); }
.tm-splash-logo { font-family:Impact,Arial Black,sans-serif;font-size:1.65rem;font-weight:900;background:linear-gradient(90deg,#fff,rgba(200,210,255,.85));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.tm-splash-badge { background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:.3rem .75rem;border-radius:2rem; }
.tm-splash-heading { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.35);margin:0 0 .85rem; }
.tm-splash-list { list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.6rem; }
.tm-splash-list li { display:flex;align-items:flex-start;gap:.65rem;font-size:.9rem;color:rgba(245,247,251,.85);line-height:1.35; }
.tm-splash-icon { font-size:1rem;flex-shrink:0;width:1.5rem;text-align:center;margin-top:.05rem; }
.tm-splash-enjoy { font-size:.88rem;color:rgba(255,255,255,.4);text-align:center;margin:0 0 1.5rem;font-style:italic; }
.tm-splash-launch { width:100%;padding:.85rem 1rem;background:#fff;border:none;border-radius:.65rem;color:#050810;font-size:1rem;font-weight:800;cursor:pointer;transition:all 150ms;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 0 24px rgba(255,255,255,.2); }
.tm-splash-launch:hover { background:#e8edff;box-shadow:0 0 36px rgba(255,255,255,.35);transform:translateY(-1px); }

@media(max-width:480px){
  .tm-dropdown { min-width:160px; }
  .tm-mymovies-grid { grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:1rem; }
  #tm-chat-panel { right:.75rem;left:.75rem;width:auto;bottom:5rem; }
}
