:root{--bg-deep:#04060d;--bg-page:#0b0f1a;--text-primary:#fff;--text-secondary:#ffffffb3;--text-tertiary:#ffffff73;--accent:#85b7eb;--accent-soft:#85b7eb2e;--accent-border:#85b7eb99;--warm:#ffd68f;--radius-md:8px;--radius-lg:12px}*{box-sizing:border-box}html,body{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;overflow:hidden}button,input,textarea{font-family:inherit}.app-root{width:100vw;height:100dvh;position:relative;overflow:hidden}.scene{opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:24px;transition:opacity .5s;display:flex;position:absolute;inset:0}.scene.active{opacity:1;pointer-events:auto}@media (min-width:640px){.scene{padding:50px}}.scene-input{flex-direction:column}.input-center{width:100%;max-width:580px}.greet{text-align:center;margin-bottom:24px}.greet .h{margin-bottom:10px;font-size:20px;font-weight:500;line-height:1.3}.greet .sub{color:var(--text-tertiary);font-size:13px;line-height:1.6}@media (min-width:640px){.greet .h{font-size:24px}}.task-input{border-radius:var(--radius-md);color:#fff;-webkit-appearance:none;background:#ffffff0f;border:.5px solid #ffffff2e;width:100%;padding:14px 16px;font-size:15px}.task-input::placeholder{color:#ffffff59}.task-input:focus{border-color:var(--accent-border);background:#ffffff1a;outline:none}.choice-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.choice-btn{border-radius:var(--radius-md);color:#ffffffd9;cursor:pointer;background:0 0;border:.5px solid #ffffff40;flex:1;min-width:140px;padding:11px 22px;font-size:13px}.choice-btn:hover{background:#ffffff14}.choice-btn.primary{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.choice-btn:disabled{opacity:.5;cursor:not-allowed}@media (min-width:640px){.choice-btn{flex:none}}.foot{color:var(--text-tertiary);text-align:center;width:calc(100% - 40px);font-size:11px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.scene-dialogue{flex-direction:column}.dialogue-wrap{width:100%;max-width:580px}.task-bar{border-radius:var(--radius-md);color:var(--text-secondary);word-break:break-word;background:#ffffff0f;margin-bottom:14px;padding:9px 14px;font-size:12px}.task-bar .lbl{color:#fff6;margin-right:6px}.progress{color:var(--text-tertiary);text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:10px}.msgs{flex-direction:column;gap:10px;min-height:130px;margin-bottom:14px;display:flex}.msg{border-radius:var(--radius-md);max-width:90%;padding:10px 14px;font-size:13px;line-height:1.55;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg.ai{background:#ffffff12;align-self:flex-start}.msg.you{background:var(--accent-soft);color:var(--accent);align-self:flex-end}.quick-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.quick-btn{color:#ffffffd9;cursor:pointer;background:0 0;border:.5px solid #ffffff40;border-radius:14px;padding:6px 12px;font-size:11px}.quick-btn:hover{border-color:var(--accent-border);color:var(--accent)}.skip{text-align:center;margin-top:10px}.skip-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:11px}.canvas-wrap{position:absolute;inset:0}.build-text{text-align:center;color:#ffffffd9;pointer-events:none;z-index:5;width:480px;max-width:90%;padding:0 16px;font-size:13px;line-height:1.6;transition:opacity .6s;position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.build-text .h{margin-bottom:6px;font-size:14px;font-weight:500}.build-text .sub{color:#ffffff8c;font-size:12px}.bottom-hint{color:var(--text-tertiary);pointer-events:none;z-index:5;text-align:center;width:calc(100% - 32px);font-size:10px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@media (min-width:640px){.bottom-hint{font-size:11px}}.tip{pointer-events:none;color:#fff;white-space:nowrap;opacity:0;z-index:7;background:#0f1426f2;border-radius:6px;padding:6px 10px;font-size:11px;transition:opacity .12s;position:absolute;transform:translate(-50%,-130%)}.motion-indicator{color:#ffffff8c;z-index:9;pointer-events:none;background:#141e3799;border:.5px solid #ffffff0f;border-radius:12px;align-items:center;gap:7px;padding:5px 10px;font-size:10px;transition:opacity .3s;display:flex;position:absolute;bottom:14px;right:14px}.motion-indicator .pulse{background:#fff6;border-radius:50%;width:6px;height:6px;transition:background .3s,box-shadow .3s}.motion-indicator.mode-active .pulse{background:#85b7ebd9;box-shadow:0 0 6px #85b7eb80}.motion-indicator.mode-aiming .pulse{background:#96e1c8;box-shadow:0 0 8px #96e1c899}.motion-indicator.mode-quiet .pulse{background:#afa9ec;box-shadow:0 0 8px #afa9ec99}.star-card{z-index:12;background:#0f1426f7;border-left:.5px solid #ffffff1a;flex-direction:column;width:100%;max-width:380px;padding:20px 22px;transition:transform .35s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.star-card.open{transform:translate(0)}@media (max-width:640px){.star-card{border-top:.5px solid #ffffff1a;border-left:none;border-radius:16px 16px 0 0;max-width:none;height:auto;max-height:75vh;inset:auto 0 0;transform:translateY(100%)}.star-card.open{transform:translateY(0)}}.star-card .close-btn{cursor:pointer;width:28px;height:28px;color:var(--text-secondary);background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:14px;right:14px}.star-card .star-type-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:#ffffff14;border-radius:8px;margin-bottom:10px;padding:3px 8px;font-size:10px;display:inline-block}.star-card h2{margin:0 0 6px;padding-right:32px;font-size:22px;font-weight:500;line-height:1.2}.star-card .subtitle{color:var(--text-secondary);margin-bottom:18px;font-size:13px;line-height:1.5}.star-card .rationale-block{border-radius:var(--radius-md);background:#ffffff0a;margin-bottom:18px;padding:12px 14px}.star-card .rationale-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:6px;font-size:10px}.star-card .rationale-text{color:var(--text-primary);font-size:13px;line-height:1.6}.star-card .recommended-badge{color:var(--warm);background:#ffd68f1f;border:.5px solid #ffd68f4d;border-radius:6px;align-items:center;gap:4px;margin-bottom:12px;padding:4px 8px;font-size:11px;display:inline-flex}.star-card .actions-block{gap:8px;margin-top:auto;padding-top:16px;display:flex}.star-card .actions-block button{border-radius:var(--radius-md);cursor:pointer;flex:1;padding:11px 14px;font-size:13px;font-weight:500}.star-card .btn-enter{background:var(--accent-soft);color:var(--accent);border:.5px solid var(--accent-border)}.star-card .btn-cancel{color:var(--text-secondary);background:0 0;border:.5px solid #fff3}.star-view{flex-direction:column;gap:8px;padding:8px;display:flex;position:absolute;inset:0}@media (min-width:900px){.star-view{grid-template-columns:1fr 360px;gap:12px;padding:12px;display:grid}}.star-view .canvas-side{background:var(--bg-deep);border-radius:var(--radius-lg);flex:1;min-height:0;position:relative;overflow:hidden}.back-bar{z-index:10;border-radius:var(--radius-md);color:#ffffffd9;cursor:pointer;background:#141e37d9;border:.5px solid #ffffff1f;padding:7px 14px;font-size:12px;position:absolute;top:12px;left:12px}.star-info-overlay{color:#fffc;z-index:10;background:#141e37b3;border:.5px solid #ffffff14;border-radius:8px;max-width:200px;padding:8px 12px;font-size:11px;line-height:1.5;position:absolute;top:12px;right:12px}.star-info-overlay .name{color:#fff;margin-bottom:2px;font-size:12px;font-weight:500}@media (max-width:640px){.star-info-overlay{max-width:130px;padding:6px 9px;font-size:10px}.star-info-overlay .name{font-size:11px}}.rail{border-radius:var(--radius-lg);background:#0f142699;border:.5px solid #ffffff14;flex-direction:column;flex-shrink:0;height:42%;min-height:0;padding:12px;display:flex}@media (min-width:900px){.rail{height:auto;padding:14px}}.rail-tabs{-webkit-overflow-scrolling:touch;border-bottom:.5px solid #ffffff1a;flex-shrink:0;gap:2px;margin-bottom:8px;display:flex;overflow-x:auto}.rail-tabs::-webkit-scrollbar{display:none}.rail-tab{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:7px 10px;font-size:11px}.rail-tab.active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:500}.rail-tab .tab-count{color:var(--text-secondary);background:#ffffff1a;border-radius:8px;margin-left:4px;padding:1px 5px;font-size:9px}.rail-tab.active .tab-count{background:var(--accent-soft);color:var(--accent)}.rail-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.write-prompt{color:var(--text-tertiary);margin-bottom:8px;font-size:11px;line-height:1.5}.write-prompt strong{color:var(--text-primary);font-weight:500}.textarea{border-radius:var(--radius-md);width:100%;min-height:120px;color:var(--text-primary);resize:vertical;-webkit-appearance:none;background:#ffffff0a;border:.5px solid #ffffff2e;padding:10px 12px;font-size:13px;line-height:1.6}.textarea:focus{border-color:var(--accent-border);outline:none}@media (min-width:900px){.textarea{min-height:200px}}.write-tools{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tool-btn{border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:0 0;border:.5px solid #fff3;padding:6px 10px;font-size:11px}.tool-btn:hover{color:var(--text-primary);background:#ffffff0d}.tool-btn.primary{border-color:var(--accent-border);color:var(--accent)}.publish-row{border-top:.5px solid #ffffff1a;gap:6px;margin-top:12px;padding-top:12px;display:flex}.publish-row button{border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);background:0 0;border:.5px solid #fff3;flex:1;padding:9px 12px;font-size:12px}.publish-row button.primary{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border);font-weight:500}.publish-row button:disabled{opacity:.5;cursor:not-allowed}.bookmark-add{gap:6px;margin-bottom:10px;display:flex}.bookmark-add input{border-radius:var(--radius-md);color:var(--text-primary);-webkit-appearance:none;background:#ffffff0a;border:.5px solid #ffffff2e;flex:1;padding:8px 10px;font-size:12px}.bookmark-add input:focus{border-color:var(--accent-border);outline:none}.bookmark-add button{background:var(--accent-soft);color:var(--accent);border:.5px solid var(--accent-border);border-radius:var(--radius-md);cursor:pointer;padding:8px 12px;font-size:11px}.bookmark-add button:disabled{opacity:.4;cursor:not-allowed}.target-select{border-radius:var(--radius-md);background:#ffffff08;align-items:center;gap:8px;margin-bottom:12px;padding:6px 10px;display:flex}.target-select-lbl{color:var(--text-tertiary);flex-shrink:0;font-size:11px}.target-select-input{color:var(--text-primary);cursor:pointer;background:#ffffff0a;border:.5px solid #ffffff1f;border-radius:6px;flex:1;padding:5px 8px;font-family:inherit;font-size:11px}.target-select-input:focus{border-color:var(--accent-border);outline:none}.target-select-input option{color:var(--text-primary);background:#0b0f1a}.bookmark-item{border-radius:var(--radius-md);border-left:2px solid var(--accent);background:#ffffff0a;gap:8px;margin-bottom:8px;padding:10px 12px;font-size:12px;display:flex}.bookmark-item .bm-text{word-break:break-word;flex:1;line-height:1.5}.bookmark-item .bm-meta{color:var(--text-tertiary);gap:6px;margin-top:4px;font-size:10px;display:flex}.bookmark-item .bm-planet-tag{color:var(--text-secondary);font-family:inherit;font-size:inherit;background:#ffffff0f;border:none;border-radius:6px;padding:1px 6px}.bookmark-item .bm-planet-tag.clickable{cursor:pointer;transition:background .15s,color .15s}.bookmark-item .bm-planet-tag.clickable:hover{background:var(--accent-soft);color:var(--accent)}.bookmark-item .bm-remove{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0 4px;font-size:14px}.bookmark-item .bm-remove:hover{color:var(--text-primary)}.empty-msg{color:var(--text-tertiary);text-align:center;padding:24px 12px;font-size:12px;line-height:1.6}.question-add{border-bottom:.5px solid #ffffff14;flex-direction:column;gap:6px;margin-bottom:12px;padding-bottom:12px;display:flex}.question-add textarea{border-radius:var(--radius-md);width:100%;min-height:50px;color:var(--text-primary);resize:vertical;background:#ffffff0a;border:.5px solid #ffffff2e;padding:8px 10px;font-size:12px;line-height:1.5}.question-add textarea:focus{border-color:var(--accent-border);outline:none}.question-add button{background:var(--accent-soft);color:var(--accent);border:.5px solid var(--accent-border);border-radius:var(--radius-md);cursor:pointer;align-self:flex-end;padding:7px 14px;font-size:11px}.question-add button:disabled{opacity:.4;cursor:not-allowed}.question-item{border-radius:var(--radius-md);background:#ffffff0a;margin-bottom:8px;padding:10px 12px;font-size:12px}.question-item .q-text{margin-bottom:6px;font-weight:500;line-height:1.5}.question-item .q-meta{color:var(--text-tertiary);gap:6px;margin-bottom:8px;font-size:10px;display:flex}.question-item .q-planet-tag{color:var(--text-secondary);font-family:inherit;font-size:inherit;background:#ffffff0f;border:none;border-radius:6px;padding:1px 6px}.question-item .q-planet-tag.clickable{cursor:pointer;transition:background .15s,color .15s}.question-item .q-planet-tag.clickable:hover{background:var(--accent-soft);color:var(--accent)}.question-item .q-actions{gap:6px;margin-bottom:6px;display:flex}.question-item .q-action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:.5px solid #fff3;border-radius:6px;padding:4px 8px;font-size:10px}.question-item .q-action-btn.primary{border-color:var(--accent-border);color:var(--accent)}.question-item .q-action-btn:disabled{opacity:.5;cursor:not-allowed}.question-item .q-answer{border-left:2px solid var(--accent-border);color:var(--text-secondary);white-space:pre-wrap;background:#85b7eb14;border-radius:4px;margin-top:8px;padding:8px 10px;font-size:11px;line-height:1.5}.question-item .q-answer-label{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:9px}.artifact-item{border-radius:var(--radius-md);white-space:pre-wrap;background:#ffffff0a;margin-bottom:8px;padding:10px 12px;font-size:12px;line-height:1.55}.artifact-item .ts{color:var(--text-tertiary);margin-bottom:4px;font-size:10px}.artifact-item .grow-from-other-btn{color:var(--text-tertiary);cursor:not-allowed;text-align:center;background:0 0;border:.5px dashed #fff3;border-radius:6px;width:100%;margin-top:8px;padding:6px 10px;font-size:10px;display:block}.planet-card{border-radius:var(--radius-md);z-index:11;background:#0f1426f7;border:.5px solid #ffffff1f;width:calc(100% - 24px);max-width:360px;padding:14px 16px;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;top:12px;left:50%;transform:translate(-50%)translateY(-200%)}.planet-card.open{transform:translate(-50%)translateY(0)}.planet-card .pc-close{cursor:pointer;width:22px;height:22px;color:var(--text-tertiary);background:0 0;border:none;font-size:14px;position:absolute;top:8px;right:8px}.planet-card .pc-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:4px;font-size:10px}.planet-card .pc-name{margin-bottom:4px;padding-right:24px;font-size:15px;font-weight:500}.planet-card .pc-subtitle{color:var(--text-secondary);margin-bottom:10px;font-size:12px;line-height:1.5}.planet-card .pc-aspects{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.planet-card .pc-aspect{color:var(--text-secondary);background:#ffffff0f;border-radius:10px;padding:3px 8px;font-size:10px}.planet-card .pc-actions{flex-wrap:wrap;gap:6px;display:flex}.planet-card .pc-action-btn{background:var(--accent-soft);color:var(--accent);border:.5px solid var(--accent-border);border-radius:var(--radius-md);cursor:pointer;padding:6px 12px;font-size:11px}.planet-card .pc-action-btn.subtle{color:var(--text-secondary);background:0 0;border-color:#fff3}.ai-panel{border-radius:var(--radius-lg);z-index:13;background:#0f1426f7;border:.5px solid #ffffff1a;flex-direction:column;max-height:60%;padding:12px 14px;transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;bottom:12px;left:12px;right:12px;transform:translateY(calc(100% + 16px))}.ai-panel.open{transform:translateY(0)}.ai-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ai-header .h{flex:1;font-size:13px;font-weight:500}.ai-header .ctx{color:var(--text-tertiary);font-size:11px;display:none}@media (min-width:600px){.ai-header .ctx{display:block}}.ai-close{cursor:pointer;width:24px;height:24px;color:var(--text-secondary);background:#ffffff14;border:none;border-radius:50%}.ai-msgs{-webkit-overflow-scrolling:touch;flex:1;max-height:200px;padding:4px 0;overflow-y:auto}.ai-msg{border-radius:var(--radius-md);margin-bottom:6px;padding:8px 10px;font-size:12px;line-height:1.55}.ai-msg.ai{background:#ffffff0f}.ai-msg.you{background:var(--accent-soft);color:var(--accent);margin-left:24px}.ai-input-row{gap:6px;margin-top:6px;display:flex}.ai-input{border-radius:var(--radius-md);color:#fff;-webkit-appearance:none;background:#ffffff0a;border:.5px solid #ffffff2e;flex:1;padding:9px 12px;font-size:13px}.ai-input:focus{border-color:var(--accent-border);outline:none}.ai-send{border:.5px solid var(--accent-border);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-md);cursor:pointer;padding:9px 14px;font-size:14px}.ai-send:disabled{opacity:.5;cursor:not-allowed}.loading-overlay{background:var(--bg-deep);z-index:100;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.loading-overlay .spinner{border:2px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin-bottom:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay .label{color:var(--text-secondary);text-align:center;font-size:13px}.error-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.error-panel .icon{margin-bottom:12px;font-size:28px}.error-panel .h{margin-bottom:8px;font-size:16px;font-weight:500}.error-panel .msg{color:var(--text-secondary);word-break:break-word;max-width:460px;margin-bottom:16px;font-size:13px;line-height:1.6}.reset-btn{color:#fff9;cursor:pointer;z-index:10;background:#ffffff0f;border:.5px solid #ffffff26;border-radius:8px;padding:6px 12px;font-size:11px;position:absolute;top:12px;right:12px}.portal-task-label{text-align:center;pointer-events:none;z-index:5;opacity:.95;width:360px;max-width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(80px - 50%))}.portal-task-label-tag{text-transform:uppercase;letter-spacing:1.2px;color:#ffffff80;margin-bottom:4px;font-size:9px}.portal-task-label-text{color:#ffffffe6;text-shadow:0 0 12px #0f1428f2;word-break:break-word;font-size:14px;font-weight:500;line-height:1.4}@media (max-width:640px){.portal-task-label{width:80%;transform:translate(-50%,calc(70px - 50%))}.portal-task-label-text{font-size:12px}}.resources-panel{border-radius:var(--radius-lg);z-index:14;background:#0f1426f7;border:.5px solid #ffffff1a;flex-direction:column;max-height:70%;padding:12px 14px;transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;bottom:12px;left:12px;right:12px;transform:translateY(calc(100% + 16px))}.resources-panel.open{transform:translateY(0)}.resources-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.resources-header .rh-titles{flex:1;min-width:0}.resources-header .rh-h{font-size:13px;font-weight:500}.resources-header .rh-ctx{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.resources-tabs{border-bottom:.5px solid #ffffff1a;gap:2px;margin-bottom:10px;display:flex}.r-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;padding:7px 12px;font-family:inherit;font-size:11px}.r-tab.active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:500}.resources-body{-webkit-overflow-scrolling:touch;flex:1;max-height:360px;overflow-y:auto}.resources-loading{color:var(--text-secondary);align-items:center;gap:10px;padding:16px;font-size:12px;display:flex}.spinner-small{border:1.5px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.resources-error{border-radius:var(--radius-md);color:var(--text-secondary);background:#ef9f271a;border:.5px solid #ef9f274d;padding:14px;font-size:12px;line-height:1.5}.r-retry{color:var(--text-primary);cursor:pointer;background:0 0;border:.5px solid #fff3;border-radius:6px;margin-top:8px;padding:5px 10px;font-family:inherit;font-size:11px;display:block}.resources-disclaimer{color:var(--text-tertiary);background:#ffd68f0f;border-left:2px solid #ffd68f4d;border-radius:4px;margin-bottom:10px;padding:6px 10px;font-size:10px;line-height:1.4}.resource-item{border-radius:var(--radius-md);background:#ffffff08;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.resource-item .r-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px;line-height:1.2}.resource-item .r-content{flex:1;min-width:0}.resource-item .r-title{word-break:break-word;margin-bottom:2px;font-size:13px;font-weight:500;line-height:1.4}.resource-item .r-author{color:var(--text-secondary);margin-bottom:4px;font-size:11px}.resource-item .r-type-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);background:#ffffff0f;border-radius:8px;margin-bottom:6px;padding:2px 6px;font-size:9px;display:inline-block}.resource-item .r-why{color:var(--text-secondary);margin-bottom:6px;font-size:12px;line-height:1.5}.resource-item .r-link{color:var(--accent);word-break:break-all;font-size:11px;text-decoration:none;display:inline-block}.resource-item .r-link:hover{text-decoration:underline}.r-regenerate{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:.5px solid #ffffff2e;margin-top:12px;padding:8px 12px;font-family:inherit;font-size:11px;display:block}.r-regenerate:hover{border-color:var(--accent-border);color:var(--accent)}.planet-card .pc-action-btn.primary-action{color:var(--warm);background:#ffd68f2e;border-color:#ffd68f80;flex-basis:100%;font-weight:500}.related-tasks-btn{color:var(--warm);cursor:pointer;z-index:10;background:#ffd68f26;border:.5px solid #ffd68f66;border-radius:18px;padding:8px 16px;font-family:inherit;font-size:12px;font-weight:500;transition:background .2s;position:absolute;top:12px;left:50%;transform:translate(-50%)}.related-tasks-btn:hover{background:#ffd68f40}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04060db3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-window{border-radius:var(--radius-lg);background:#0f1426fa;border:.5px solid #ffffff1f;flex-direction:column;width:100%;max-width:580px;max-height:90vh;display:flex;position:relative;overflow:hidden}.modal-close{cursor:pointer;width:28px;height:28px;color:var(--text-secondary);z-index:1;background:#ffffff0f;border:none;border-radius:50%;font-size:16px;position:absolute;top:12px;right:12px}.modal-header{border-bottom:.5px solid #ffffff14;padding:24px 24px 16px}.modal-header h3{margin:0 0 6px;font-size:18px;font-weight:500}.modal-header p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.modal-body{flex:1;padding:16px 24px;overflow-y:auto}.modal-loading{color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:40px 0;font-size:13px;display:flex}.modal-error{border-radius:var(--radius-md);color:var(--text-secondary);background:#ef9f271a;border:.5px solid #ef9f274d;padding:14px;font-size:13px;line-height:1.5}.modal-footer{border-top:.5px solid #ffffff14;gap:8px;padding:16px 24px;display:flex}.modal-btn{border-radius:var(--radius-md);cursor:pointer;flex:1;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:500}.modal-btn-cancel{color:var(--text-secondary);background:0 0;border:.5px solid #fff3}.modal-btn-primary{background:var(--accent-soft);color:var(--accent);border:.5px solid var(--accent-border)}.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.suggestion-card{border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;border:.5px solid #ffffff14;border-left:3px solid;margin-bottom:10px;padding:14px 16px;transition:background .2s}.suggestion-card:hover{background:#ffffff0f}.suggestion-card.selected{background:#85b7eb14}.suggestion-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.suggestion-kind{text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.suggestion-kind-desc{color:var(--text-tertiary);text-transform:none;letter-spacing:0;font-weight:400}.suggestion-checkbox{color:#fff;border:1.5px solid #ffffff40;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:flex}.suggestion-checkbox.checked{background:var(--accent);border-color:var(--accent)}.suggestion-task{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:500;line-height:1.4}.suggestion-why{color:var(--text-secondary);font-size:12px;line-height:1.5}@media (max-width:640px){.related-tasks-btn{padding:7px 12px;font-size:11px;top:10px}.reset-btn{font-size:10px;top:10px;right:10px}}.star-card .btn-related{color:var(--warm);background:#ffd68f1f;border:.5px solid #ffd68f66;flex:1.2;padding:11px 8px;font-size:12px}.star-card .btn-related:hover{background:#ffd68f33}@media (max-width:640px){.star-card .actions-block{flex-direction:column}.star-card .btn-related{order:-1}}.scene-mode-btn{color:var(--accent);cursor:pointer;z-index:10;background:#85b7eb1f;border:.5px solid #85b7eb59;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:11px;transition:background .2s;position:absolute;top:12px;right:145px}.scene-mode-btn:hover{background:#85b7eb33}@media (max-width:640px){.scene-mode-btn{padding:5px 9px;font-size:10px;right:110px}}.legend{z-index:10;position:absolute;bottom:14px;left:14px}.legend-toggle{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:.5px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:13px;transition:background .2s;display:flex}.legend-toggle:hover{color:var(--text-primary);background:#ffffff1f}.legend-body{border-radius:var(--radius-md);background:#0f1426f7;border:.5px solid #ffffff1f;width:240px;padding:12px 14px;position:absolute;bottom:36px;left:0}.legend-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-tertiary);margin-bottom:10px;font-size:10px}.legend-row{align-items:flex-start;gap:9px;margin-bottom:9px;display:flex}.legend-row:last-child{margin-bottom:0}.legend-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-top:3px}.legend-text{flex:1;min-width:0}.legend-label{color:var(--text-primary);font-size:12px;font-weight:500}.legend-desc{color:var(--text-tertiary);margin-top:1px;font-size:10px;line-height:1.3}@media (max-width:640px){.legend-body{width:200px}}.portal-card-pane h2{word-break:break-word;line-height:1.3}.portal-stars-block{margin-top:16px;margin-bottom:12px}.portal-stars-group{margin-bottom:12px}.portal-stars-group:last-child{margin-bottom:0}.portal-stars-group-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-tertiary);margin:10px 0 6px;padding-left:2px;font-size:9px}.portal-star-item{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:#ffffff08;border:.5px solid #ffffff12;align-items:baseline;gap:8px;margin-bottom:4px;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.4;transition:background .15s,border-color .15s;display:flex}.portal-star-item:hover{background:#ffffff12;border-color:#ffffff2e}.portal-star-dot{border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}.portal-star-item.type-hard .portal-star-dot{background:#ef9f27}.portal-star-item.type-language .portal-star-dot{background:#5dcaa5}.portal-star-item.type-soft .portal-star-dot{background:#afa9ec}.portal-star-item.type-perf .portal-star-dot{background:#f0997b}.portal-star-name{color:var(--text-primary);flex-shrink:0;font-weight:500}.portal-star-subtitle{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}
