[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .6; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid #6ad3fa; outline-offset: 4px; }
.ic-app { min-width: 0; }
.ic-main { min-width: 0; padding:0; }
.ic-strip { top:var(--hub-header-height,66px); }
.ic-bar { display:flex; align-items:center; justify-content:center; gap:20px; min-width:0; }
.ic-title { max-width:calc(100% - 160px); overflow-wrap:anywhere; white-space:normal; text-align:center; }
.ic-me { flex-shrink:0; }
.ic-face { border:1px solid var(--ic-line4); color:var(--ic-ink); cursor:pointer; }
.ic-face img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.ic-state { padding:28px; border:1px solid var(--ic-line); border-radius:16px; color:var(--ic-ink3); line-height:1.7; }
.ic-action { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid #445e82; border-radius:30px; background:linear-gradient(120deg,#142133,#172838); color:#bce8ff; padding:13px 24px; font-weight:700; text-decoration:none; }
.ic-action:hover { border-color:#7ccafa; }
.ic-action-secondary { background:transparent; }
.ic-auth { position:fixed; inset:0; display:grid; place-items:center; overflow:auto; padding:28px 18px; background:radial-gradient(ellipse at 50% 5%,#182636,#090e16 65%); color:#edf3fc; z-index:20; }
.ic-auth-card { box-sizing:border-box; width:100%; max-width:430px; padding:36px; border:1px solid #2b374b; border-radius:22px; background:rgba(15,22,33,.94); }
.ic-auth-logo { width:45px; height:45px; object-fit:contain; }
.ic-eyebrow { color:#67d6ff; font-size:11px; letter-spacing:2px; margin:18px 0; }
.ic-auth h1 { font-size:28px; margin:15px 0; }
.ic-auth p { line-height:1.6; color:#a5b5ce; }
.ic-auth label { display:block; margin:18px 0 7px; font-size:13px; }
.ic-auth input { box-sizing:border-box; width:100%; min-height:46px; border-radius:9px; border:1px solid #34445b; background:#0a111c; padding:10px 13px; color:#edf3fc; }
.ic-auth .ic-action { width:100%; }
.ic-auth-links { display:grid; gap:12px; margin-top:22px; }
.ic-auth-links button { color:#a9d8f6; background:none; border:0; font-size:13px; padding:4px; }
#authStatus { font-size:13px; min-height:20px; }
.ic-dialog-overlay { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; z-index:200; background:rgba(3,7,13,.86); padding:24px; backdrop-filter:blur(8px); }
.ic-dialog { box-sizing:border-box; display:flex; flex-direction:column; width:min(960px,100%); max-height:calc(100dvh - 48px); background:#101823; border:1px solid #354155; border-radius:20px; color:#eaf1fd; box-shadow:0 24px 100px #0009; }
.ic-dialog-head { display:flex; align-items:center; gap:18px; justify-content:space-between; padding:22px 26px; border-bottom:1px solid #2b3546; }
.ic-dialog-head h2 { margin:0; font-size:20px; line-height:1.4; overflow-wrap:anywhere; }
.ic-dialog-close { flex:0 0 38px; width:38px; height:38px; font-size:28px; color:inherit; background:transparent; border:1px solid #3c4b60; border-radius:50%; line-height:1; }
.ic-dialog-content { padding:26px; overflow:auto; line-height:1.65; min-height:0; }
.ic-dialog-content a { color:#88d5ff; }
.ic-dialog-content img { max-width:100%; height:auto; }
.ic-dialog-content iframe { display:block; width:100%; max-width:100%; border:0; }
.ic-dialog-content input, .ic-dialog-content textarea, .ic-dialog-content select { box-sizing:border-box; max-width:100%; color:inherit; background:#0b131f; border:1px solid #3d4c62; border-radius:8px; padding:11px 13px; }
.ic-dialog-content textarea { width:100%; min-height:130px; }
.ic-notices { position:fixed; z-index:250; bottom:24px; right:24px; display:grid; gap:10px; max-width:min(420px,calc(100vw - 40px)); }
.ic-notice { background:#182c3c; border:1px solid #477791; border-radius:12px; color:#e0f3ff; box-shadow:0 8px 24px #0005; padding:15px 20px; line-height:1.5; font-size:14px; }
.ic-notice-error { background:#35212c; border-color:#986175; }
.ic-light .ic-dialog { background:#f7f9fd; color:#182433; border-color:#c4d0e0; }
.ic-light .ic-dialog-content a { color:#17669e; }
.ic-light .ic-dialog-content input, .ic-light .ic-dialog-content textarea, .ic-light .ic-dialog-content select { background:white; color:#182433; border-color:#bccadd; }
.ic-light .ic-dialog-head { border-color:#d3dce8; }
.ic-light .ic-action { background:#edf5ff; color:#154e75; border-color:#8db3cd; }
@media(max-width:700px) {
  .ic-bar { padding:16px 18px; justify-content:space-between; gap:12px; min-height:72px; height:auto; }
  .ic-title { position:static; transform:none; max-width:none; min-width:0; flex:1; text-align:left; font-size:11px; line-height:1.6; letter-spacing:1.2px; }
  .ic-me { position:static; margin-left:auto; gap:8px; }
  .ic-content { padding:24px 18px 102px !important; }
  .ic-strip.ic-bare { padding-left:18px; padding-right:18px; }
  .ic-rail .ic-tab { flex:0 0 90px; min-width:90px; padding-left:6px; padding-right:6px; }
  .ic-rail .ic-tab span { font-size:10px; line-height:1.3; white-space:nowrap; }
  .ic-dialog-overlay { padding:10px; }
  .ic-dialog { max-height:calc(100dvh - 20px); border-radius:15px; }
  .ic-dialog-head { padding:15px 17px; }
  .ic-dialog-head h2 { font-size:18px; }
  .ic-dialog-content { padding:18px; }
  .ic-notices { bottom:88px; right:16px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
