:root{
  color-scheme:dark;
  --bg:#0b0d18;
  --panel:#121625;
  --panel-raised:#171b2c;
  --panel-deep:#090c16;
  --line:#ffffff17;
  --text:#f3f1fa;
  --muted:#a09caf;
  --accent:#b493ff;
  --accent-strong:#9470ef;
  --accent-soft:#b493ff1c;
  --green:#84e3c1;
  --red:#ff9ba9;
  --radius-card:18px;
  --radius-control:10px;
  --shadow-card:0 18px 48px #03040b55;
}
*{box-sizing:border-box}
html{scrollbar-color:#5a4b79 #0b0d18;scrollbar-width:thin}
body{min-height:100vh;background-color:var(--bg)!important;color:var(--text);font-family:Inter,"Microsoft Yahei",system-ui,sans-serif}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #c3a8ff;outline-offset:3px}
::selection{background:#9b7ae766;color:#fff}

/* Shared page frame and navigation */
.account-topbar,.journey-topbar{height:72px;border-bottom:1px solid var(--line);background:#0a0c16e8;backdrop-filter:blur(14px)}
.account-layout,.admin-shell{border-color:var(--line)}
.account-sidebar,.admin-sidebar{background:#090b15;border-color:var(--line)}
.account-user,.account-sidebar .sidebar-bottom a,.account-sidebar .sidebar-bottom button{border-radius:11px}
.account-sidebar .side-nav button,.admin-sidebar .admin-nav button{border-radius:10px;transition:background .18s ease,color .18s ease}
.account-sidebar .side-nav button.active,.admin-sidebar .admin-nav button.active{background:#a987f51e;box-shadow:inset 2px 0 var(--accent)}
.account-main,.admin-main{color:var(--text)}
.view-heading,.admin-topbar{border-color:var(--line)}
.view-heading h1,.admin-topbar h1{letter-spacing:-.025em}

/* Consistent surfaces */
.panel,.auth-card,.login-card,.content-card,.welcome-card,.trip-card,.info-card,
.detail-section,.dialogue-column,.video-stage,.journey-detail-section{
  border-color:var(--line);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-card);
}
.panel,.auth-card,.login-card,.content-card,.trip-card,.info-card,.dialogue-column,.video-stage{
  background:linear-gradient(145deg,#171b2c,#111523 72%);
}
.detail-section,.journey-detail-section{background:linear-gradient(145deg,#15192a,#111523 78%)}
.metric-card,.detail-media,.detail-setting,.future-grid div,.transcript,.chat,.quick-links button{
  border-color:var(--line);
  border-radius:12px;
}
.detail-media,.metric-card,.future-grid div,.transcript,.chat{background:#090c16}
.empty-state{border-color:#ffffff25;border-radius:14px;background:#ffffff04}

/* Form controls */
input[type=text],input[type=number],input[type=email],input[type=password],select,textarea,
.auth-form input,.settings-form input,.settings-form select,.dialogue-editor input{
  border:1px solid #ffffff20;
  border-radius:var(--radius-control);
  background:#090c16;
  color:var(--text);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,
select:focus,textarea:focus,.auth-form input:focus,.settings-form input:focus,.settings-form select:focus{
  border-color:#ae91ff;
  box-shadow:0 0 0 3px #a987f522;
}
label{color:#bdb9ce}
.upload{border-color:#9d84d477;border-radius:14px;background:#a987f50b;transition:border-color .18s ease,background .18s ease}
.upload:hover{border-color:#c5adff;background:#a987f514}

/* Buttons and selected choices */
.primary-button,.go,.send-answer,.stage-actions button,.dialogue-actions>button,
.synthesize-journey-button,.shake{
  border:1px solid #ffffff14;
  border-radius:11px;
  background:linear-gradient(110deg,#795bd1,#a875df 58%,#8d76e8);
  box-shadow:0 9px 24px #795bd133;
  color:#fff;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.primary-button:hover,.go:hover,.send-answer:hover,.stage-actions button:hover,
.dialogue-actions>button:hover,.synthesize-journey-button:hover,.shake:hover{
  filter:brightness(1.08);box-shadow:0 12px 30px #795bd14a;transform:translateY(-1px)
}
.quiet-button,.home-link,.top-actions a,.back-link,.detail-top-actions button,
.pagination button,.trip-open,.retry-button,.detail-retry,.media-actions a,.media-actions button{
  border-color:#ffffff20;border-radius:10px;background:#171b2a;color:#d8d3e5;transition:border-color .18s ease,background .18s ease,color .18s ease
}
.quiet-button:hover,.home-link:hover,.top-actions a:hover,.back-link:hover,.detail-top-actions button:hover,
.pagination button:hover,.trip-open:hover,.retry-button:hover,.detail-retry:hover,.media-actions a:hover,.media-actions button:hover{
  border-color:#b493ff88;background:#a987f51c;color:#fff
}
.choice,.vehicle,.meeting-option,.auth-tabs button{border-radius:11px;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.choice.active,.vehicle.active,.meeting-option.active,.auth-tabs button.active{border-color:#b493ff;background:#a987f526;color:#f2eaff;box-shadow:inset 0 0 0 1px #b493ff30}
.choice:hover,.vehicle:hover,.meeting-option:hover{transform:translateY(-1px);border-color:#b493ff88}

/* Shared title, status and media rhythm */
.trip-card h2,.detail-media h4,.detail-section h3,.card-heading h2,.dialogue-title h2{letter-spacing:-.015em}
.trip-status,.admin-badge,.service-state,.coming-pill,.trip-id,.round-count{border-color:#b493ff55;background:#a987f514;color:#d8c7ff}
.media-status,.trip-meta,.trip-age,.detail-subtitle,.stage-hint,.form-hint{color:var(--muted)}
.detail-media img,.detail-media video,.trip-media img,.trip-media video{border-radius:10px}
.detail-media-grid{gap:14px}

/* Landing hero keeps its time-portal artwork while sharing the site frame. */
.wrap{max-width:1380px}
.wrap>header{border-color:var(--line)}
.panel,.visual{border-color:var(--line)}
.visual{box-shadow:var(--shadow-card)}
.hero h1{letter-spacing:-.04em}
.tag{border-color:var(--line);background:#ffffff05}
.footnote{color:#88859a}

@media(max-width:760px){
  .account-topbar,.journey-topbar{height:66px}
  .account-layout{border-inline:0}
  .account-sidebar .side-nav{scrollbar-width:none}
  .account-sidebar .side-nav::-webkit-scrollbar{display:none}
  .account-main,.admin-main{padding-top:22px}
  .detail-section,.journey-detail-section{border-radius:15px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
