:root{color:#eef3ff;background:#07101a;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;line-height:1.45;font-weight:450;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #07101a;--panel-bg: rgba(9, 18, 29, .82);--panel-bg-strong: rgba(11, 22, 35, .92);--panel-border: rgba(181, 211, 255, .12);--panel-shadow: 0 18px 48px rgba(0, 0, 0, .3);--text-soft: rgba(227, 236, 255, .7);--text-muted: rgba(196, 210, 233, .56);--accent: #7ebeff;--accent-strong: #ff9a4d;--accent-soft: rgba(126, 190, 255, .12)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;padding:12px;background:radial-gradient(circle at top left,rgba(126,190,255,.22),transparent 26%),radial-gradient(circle at 88% 16%,rgba(255,154,77,.16),transparent 22%),linear-gradient(180deg,#0a1420 0%,var(--bg) 60%,#050b12 100%)}button,textarea,input{font:inherit}code{font-family:SFMono-Regular,Menlo,Consolas,monospace}.app-shell{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:16px;align-items:stretch;height:calc(100vh - 24px);min-height:calc(100vh - 24px)}.control-panel,.workspace-panel,.panel,.viewer-panel{border:1px solid var(--panel-border);border-radius:24px;background:var(--panel-bg);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.control-panel{display:grid;align-content:start;gap:16px;height:100%;min-height:0;padding:16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(126,190,255,.22) transparent}.workspace-panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;min-width:0;padding:16px;overflow:hidden}.panel,.viewer-panel{padding:18px}.toolbar-header{background:linear-gradient(180deg,#14273ef0,#0b1724f0)}.toolbar-header h1{margin:0 0 10px;font-size:clamp(1.9rem,2.6vw,3rem);line-height:.98;letter-spacing:-.04em}.toolbar-header p{margin:0;color:var(--text-soft)}.eyebrow{display:inline-flex;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:var(--accent-soft);color:#d5e8ff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-header h2{margin:0 0 6px;font-size:1.04rem}.panel-header p,.panel-empty p,.viewer-empty p,.detail-card p{margin:0;color:var(--text-soft)}.panel-chip,.workspace-chip{display:inline-flex;flex-direction:column;gap:4px;padding:9px 12px;border-radius:16px;background:#ffffff0a;color:#f2f6ff;border:1px solid rgba(255,255,255,.05)}.panel-chip{min-width:104px;justify-content:center;text-align:center;border-radius:999px;padding:9px 14px}.poscar-textarea,.kpath-export-textarea,.kpath-field input{width:100%;border:1px solid rgba(255,255,255,.08);background:#050b12d1;color:#f2f6ff}.poscar-textarea{min-height:300px;padding:16px;border-radius:18px;resize:vertical}.controls-row,.kpath-toolbar,.kpath-row-actions{display:flex;flex-wrap:wrap;gap:10px}.controls-row{align-items:center;margin-top:14px}.primary-button,.ghost-button{border-radius:999px;padding:10px 16px;border:1px solid transparent;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,opacity .12s ease}.primary-button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#08111a;font-weight:700}.ghost-button{background:#ffffff0a;color:#edf4ff;border-color:#ffffff14}.primary-button:hover,.ghost-button:hover,.point-row:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.toggle-row{display:inline-flex;align-items:center;gap:8px;color:var(--text-soft)}.error-banner{margin-top:14px;padding:12px 14px;border-radius:14px;background:#ff63631f;border:1px solid rgba(255,131,131,.18);color:#ffd4d4}.details-grid,.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.details-grid{margin-top:16px}.details-grid>div,.summary-card,.detail-card{border:1px solid rgba(255,255,255,.06);border-radius:16px;background:#ffffff08;padding:14px}.summary-card span,.detail-label,.workspace-chip span{display:block;margin-bottom:4px;color:var(--text-soft);font-size:.82rem}.summary-card strong{font-size:1.8rem;letter-spacing:-.04em}.detail-stack{display:grid;gap:12px;margin-top:12px}.detail-card strong,.details-grid strong,.workspace-chip strong{color:#f8fbff}.compact-empty{margin-top:16px}.panel-empty{padding:14px 0 0}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.workspace-copy{min-width:0}.workspace-label{display:inline-flex;margin-bottom:6px;color:var(--accent-strong);font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workspace-copy h2{margin:0 0 8px;font-size:clamp(1.5rem,2.5vw,2.4rem);letter-spacing:-.03em}.workspace-copy p{margin:0;max-width:70ch;color:var(--text-soft)}.workspace-meta{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;min-width:min(420px,100%)}.workspace-stage{min-height:0;height:100%}.viewer-panel{display:flex;flex-direction:column;min-height:100%;height:100%;padding:0;overflow:hidden;background:var(--panel-bg-strong)}.viewer-canvas-shell{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(126,190,255,.1),transparent 30%),linear-gradient(180deg,#09121eeb,#050a10fa)}.viewer-canvas-shell canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;cursor:grab}.viewer-canvas-shell canvas:active{cursor:grabbing}.viewer-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;pointer-events:none}.point-table{display:grid;gap:10px}.point-table-head,.point-row{display:grid;grid-template-columns:128px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center}.point-table-head{padding:0 12px 8px;color:var(--text-soft);font-size:.86rem}.point-table-body{display:grid;gap:8px;max-height:340px;overflow:auto;padding-right:4px}.point-row{width:100%;padding:12px;text-align:left;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;color:#f0f6ff;cursor:pointer}.point-row code{color:#d8e8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.point-row-active{border-color:#7ebeff7a;background:#7ebeff1f}.notes-list{margin:0;padding-left:18px;color:var(--text-soft)}.notes-list li+li{margin-top:10px}.kpath-status{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;color:var(--text-soft);font-size:.9rem}.kpath-list{display:grid;gap:10px}.kpath-row{display:grid;gap:12px;padding:14px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.kpath-row-invalid{border-color:#ff787847;background:#ff5c5c0f}.kpath-row-head{display:flex;align-items:center;gap:10px}.kpath-index{font-weight:700}.kpath-badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:#7ebeff1f;color:#d7e9ff;font-size:.82rem}.kpath-coordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kpath-field{display:grid;gap:6px}.kpath-field span{color:var(--text-soft);font-size:.82rem}.kpath-field input,.kpath-export-textarea{padding:10px 12px;border-radius:12px}.kpath-error{color:#ffd1d1;font-size:.88rem}.kpath-export{margin-top:18px}.kpath-export-textarea{min-height:128px;resize:vertical}@media (max-width: 1140px){.app-shell{height:auto;grid-template-columns:1fr;min-height:auto}.control-panel,.workspace-panel{height:auto;min-height:auto}.control-panel{overflow:visible}.workspace-panel{grid-template-rows:auto minmax(520px,72vh)}}@media (max-width: 860px){body{padding:10px}.workspace-header,.kpath-status{flex-direction:column}.workspace-meta{width:100%;min-width:0}.details-grid,.summary-grid,.workspace-meta{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.control-panel,.workspace-panel,.panel,.viewer-panel{border-radius:20px}.details-grid,.summary-grid,.workspace-meta,.kpath-coordinates{grid-template-columns:1fr}.point-table-head,.point-row{grid-template-columns:120px 1fr}.point-table-head span:last-child,.point-row code:last-child{display:none}}
