:root{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-width:320px;background:#01020a}.universe-app{--bg-layer-a: rgba(48, 74, 132, .35);--bg-layer-b: rgba(119, 86, 180, .26);--bg-base: #01020a;--caption-border: rgba(165, 195, 255, .32);--caption-bg: rgba(4, 9, 27, .52);--caption-text: #e8f1ff;--switch-border: rgba(174, 205, 255, .38);--switch-bg: rgba(8, 16, 40, .6);--switch-title: #c7d9ff;--switch-option-bg: rgba(126, 156, 236, .12);--switch-option-border: rgba(152, 181, 255, .24);--switch-option-active-bg: linear-gradient(160deg, #8eb3ff, #7d9df4);--switch-option-active-text: #081126;--dialog-border: rgba(174, 205, 255, .48);--dialog-bg: linear-gradient(140deg, rgba(16, 24, 51, .86), rgba(8, 14, 34, .9));--dialog-text: #e7efff;--dialog-meta: #b7c7ec;--dialog-backdrop: radial-gradient(circle at center, rgba(23, 41, 85, .35), rgba(0, 0, 0, .74));--close-border: rgba(177, 203, 255, .45);--close-bg: rgba(129, 159, 236, .16);--close-color: #dfeaff;--close-hover-bg: rgba(162, 188, 255, .24);--close-hover-border: rgba(197, 219, 255, .64);position:relative;width:100vw;height:100vh;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:radial-gradient(circle at 20% 20%,var(--bg-layer-a),transparent 35%),radial-gradient(circle at 80% 80%,var(--bg-layer-b),transparent 40%),var(--bg-base)}.universe-app.theme-nebula{--bg-layer-a: rgba(53, 91, 167, .38);--bg-layer-b: rgba(123, 89, 188, .3);--bg-base: #01020a}.universe-app.theme-spiral{--bg-layer-a: rgba(206, 110, 61, .34);--bg-layer-b: rgba(210, 86, 159, .3);--bg-base: #13070f;--caption-border: rgba(255, 191, 155, .4);--caption-bg: rgba(36, 12, 28, .55);--switch-border: rgba(255, 188, 153, .38);--switch-bg: rgba(46, 15, 35, .62);--switch-title: #ffd7c2;--switch-option-bg: rgba(255, 169, 126, .13);--switch-option-border: rgba(255, 184, 151, .25);--switch-option-active-bg: linear-gradient(160deg, #ffbe90, #ff8ca8);--switch-option-active-text: #2f090c;--dialog-border: rgba(255, 189, 154, .55);--dialog-bg: linear-gradient(140deg, rgba(49, 18, 26, .9), rgba(28, 10, 23, .93));--dialog-text: #ffe8dd;--dialog-meta: #ffccbe;--dialog-backdrop: radial-gradient(circle at center, rgba(92, 28, 47, .36), rgba(0, 0, 0, .76));--close-border: rgba(255, 198, 163, .5);--close-bg: rgba(255, 158, 130, .18);--close-color: #ffe7da;--close-hover-bg: rgba(255, 195, 170, .27);--close-hover-border: rgba(255, 218, 196, .66)}.universe-canvas{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.universe-caption{position:absolute;top:20px;left:50%;transform:translate(-50%);padding:10px 16px;border:1px solid var(--caption-border);border-radius:999px;font-size:.9rem;color:var(--caption-text);background:var(--caption-bg);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:0 8px 30px #00000057;pointer-events:none}.theme-switcher{position:absolute;top:18px;right:18px;width:auto;min-width:128px;padding:10px;border:1px solid var(--switch-border);border-radius:14px;background:var(--switch-bg);box-shadow:0 12px 30px #00000057;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.auth-toolbar{position:absolute;top:18px;left:18px;display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--switch-border);border-radius:12px;background:var(--switch-bg);box-shadow:0 12px 30px #00000057;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-user{color:var(--caption-text);font-size:.85rem}.auth-toolbar-button{border:1px solid var(--switch-option-border);border-radius:10px;padding:6px 10px;background:var(--switch-option-bg);color:var(--caption-text);font-size:.82rem;cursor:pointer;transition:transform .13s ease,border-color .13s ease,filter .13s ease}.auth-toolbar-button:hover{transform:translateY(-1px);filter:brightness(1.05)}.theme-switcher-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.theme-switcher-current{color:var(--switch-title);font-size:.9rem;font-weight:600}.theme-switcher-toggle{width:32px;height:32px;border:1px solid var(--switch-option-border);border-radius:10px;background:var(--switch-option-bg);color:var(--caption-text);font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .13s ease,border-color .13s ease,filter .13s ease}.theme-switcher-toggle:hover{transform:translateY(-1px);filter:brightness(1.05)}.theme-switcher-options{display:flex;flex-direction:column;gap:8px}.theme-switcher-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:170px;padding:10px;border:1px solid var(--switch-border);border-radius:12px;background:var(--switch-bg);box-shadow:0 12px 30px #00000057;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-switcher-dropdown .theme-switcher-options{display:flex;flex-direction:column}.theme-option{width:100%;border:1px solid var(--switch-option-border);border-radius:10px;padding:8px 10px;background:var(--switch-option-bg);color:var(--caption-text);font-size:.83rem;cursor:pointer;transition:transform .13s ease,border-color .13s ease,filter .13s ease}.theme-option:hover{transform:translateY(-1px);filter:brightness(1.05)}.theme-option.active{border-color:transparent;background:var(--switch-option-active-bg);color:var(--switch-option-active-text);font-weight:700}.memory-dialog{width:min(460px,calc(100vw - 32px));margin:auto;padding:0;border:none;background:transparent;color:var(--dialog-text)}.memory-dialog::backdrop{background:var(--dialog-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.auth-dialog{width:min(420px,calc(100vw - 32px));margin:auto;padding:0;border:none;background:transparent;color:var(--dialog-text)}.auth-dialog::backdrop{background:var(--dialog-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.auth-dialog-content{padding:20px;border-radius:16px;border:1px solid var(--dialog-border);background:var(--dialog-bg);box-shadow:0 24px 60px #00000073;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-tabs{display:flex;gap:8px}.auth-tab{flex:1;border:1px solid var(--switch-option-border);border-radius:10px;padding:8px 10px;background:var(--switch-option-bg);color:var(--caption-text);font-size:.85rem;cursor:pointer}.auth-tab.active{border-color:transparent;background:var(--switch-option-active-bg);color:var(--switch-option-active-text);font-weight:700}.auth-subtitle{margin:12px 2px 14px;color:var(--dialog-meta);font-size:.9rem}.auth-error{margin:0 0 12px;color:#ffb7b7;font-size:.88rem}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-label{display:flex;flex-direction:column;gap:6px;color:var(--caption-text);font-size:.86rem}.auth-input{border:1px solid var(--switch-option-border);border-radius:10px;padding:10px 12px;background:#0c143099;color:var(--caption-text);outline:none}.auth-input:focus{border-color:var(--close-hover-border)}.auth-submit{margin-top:4px;border:none;border-radius:10px;padding:10px 12px;background:var(--switch-option-active-bg);color:var(--switch-option-active-text);font-weight:700;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.memory-dialog-content{position:relative;padding:20px 20px 18px;border-radius:16px;border:1px solid var(--dialog-border);background:var(--dialog-bg);box-shadow:0 24px 60px #00000073;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.memory-dialog-content h2{margin:0 0 8px;font-size:1.3rem;letter-spacing:.02em}.memory-meta{margin:0;font-size:.9rem;color:var(--dialog-meta)}.memory-dialog-content p{margin-top:0;margin-bottom:10px;line-height:1.45}.memory-dialog-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:1px solid var(--close-border);border-radius:999px;background:var(--close-bg);color:var(--close-color);font-size:1.15rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .14s ease,background-color .14s ease,border-color .14s ease}.memory-dialog-close:hover{transform:scale(1.04);background-color:var(--close-hover-bg);border-color:var(--close-hover-border)}@media(max-width:800px){.auth-toolbar{top:12px;left:12px}.theme-switcher{inset:12px 12px auto auto}.theme-switcher-dropdown{width:160px}.memory-dialog{width:calc(100vw - 24px)}.memory-dialog-content{padding:18px 16px 16px}.universe-caption{top:12px;font-size:.82rem;max-width:calc(100vw - 32px);text-align:center}}
