.header{padding:var(--gap-1);display:flex;align-items:center;gap:var(--gap-1)}.back-button{color:var(--color-text-inverse);opacity:.7;transition:opacity var(--transition-base);display:flex;align-items:center;padding:var(--gap-0)}.back-button:hover{opacity:1}.header h1{font-size:var(--font-size-large);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtitle{font-weight:var(--font-weight-normal);opacity:.8}.meta-info{display:flex;align-items:center;gap:var(--gap-0);margin-top:.5em;opacity:.9;white-space:nowrap}body{height:100vh;width:100vw;overflow:hidden}main{min-height:0;display:flex;overflow:hidden;padding:var(--gap-1) var(--gap-0)}.main-container{display:grid;flex:1;grid-template-columns:3.9fr 3.55fr 1.1fr 4.45fr;grid-template-rows:1.9fr 1.1fr;gap:var(--gap-1);height:100%}.real-space{grid-area:1/1/2/2}.momentum-space{grid-area:1/2/2/4}.orbital-list{grid-area:1/4/2/5}.info-tabs{grid-area:2/1/3/3}.energy-spectrum{grid-area:2/3/3/5}.panel{background:var(--color-surface);border:var(--panel-border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0;position:relative}.panel.maximized{position:fixed;inset:var(--gap-1);z-index:500;width:auto;height:auto;margin:0;box-shadow:var(--shadow-lg)}.panel-maximize{position:absolute;right:var(--gap-0);bottom:var(--gap-0);z-index:10;display:flex;padding:4px;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-base),color var(--transition-base)}.panel-maximize:focus-visible,.panel.maximized .panel-maximize,.panel:hover .panel-maximize{opacity:.8}.panel-maximize:hover{color:var(--color-brand);opacity:1}.panel-maximize .icon-shrink,.panel.maximized .panel-maximize .icon-expand{display:none}.panel.maximized .panel-maximize .icon-shrink{display:block}.panel-title{display:flex;align-items:center;gap:var(--gap-1);flex-shrink:0;font-size:var(--font-size-medium);font-weight:var(--font-weight-bold);letter-spacing:.03em;color:var(--color-text-inverse);background-color:var(--color-brand);padding:calc(var(--gap-1)/2) var(--gap-1);margin:var(--panel-inset);margin-bottom:0;border-radius:calc(var(--radius-lg) - var(--panel-border-width) - var(--panel-inset));box-shadow:var(--shadow-sm)}.panel-title-name{flex-shrink:0;white-space:nowrap;position:relative}.panel-title-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small);font-weight:var(--font-weight-normal);opacity:.85}.panel-title-actions{display:flex;align-items:center;gap:var(--gap-0);flex-shrink:0;margin-left:auto}.header-toggle{font-size:.75rem;font-weight:var(--font-weight-bold);color:var(--color-text-inverse);background:var(--color-badge-background);padding:2px 8px;border-radius:var(--radius-sm);transition:background-color var(--transition-base)}.header-toggle:hover{background:var(--color-accent)}.header-toggle:disabled{opacity:.5;cursor:not-allowed}.header-toggle:disabled:hover{background:var(--color-badge-background)}[hidden]{display:none!important}#momentum-3d,#real-space-3d{flex:1;min-height:0;position:relative;overflow:hidden}#momentum-3d canvas,#real-space-3d canvas{display:block}#momentum-2d{flex:1;min-height:0;position:relative;padding:2px}#band-plot,#main-plot{position:absolute;top:0;left:0}.colorbar{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;gap:4px;height:70%;width:3.2rem}.colorbar-gradient{position:relative;flex:1;width:14px;background:linear-gradient(to top,#440154,#482878,#3e4989,#31688e,#26828e,#1f9e89,#35b779,#6ece58,#b5de2b,#fde725);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.colorbar-stops{position:absolute;inset:0;pointer-events:none}.colorbar-stops.editable{pointer-events:auto;cursor:copy}.colorbar-stop{position:absolute;left:50%;width:13px;height:13px;padding:0;transform:translate(-50%,50%);border:2px solid var(--color-surface);border-radius:50%;box-shadow:0 0 0 1px var(--color-border-strong);cursor:grab;opacity:.75;pointer-events:auto;user-select:none;touch-action:none;transition:opacity var(--transition-base),width var(--transition-base),height var(--transition-base)}.colorbar-stop:focus-visible,.colorbar:hover .colorbar-stop{opacity:1}.colorbar-stop:hover{width:17px;height:17px}.colorbar-stop:active{cursor:grabbing}.colorbar-stop-picker{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.colorbar-label{font-size:var(--font-size-small);font-weight:var(--font-weight-bold);color:var(--color-text-muted);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.colorbar-zero{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--color-border-strong);pointer-events:none}.colorbar-cursor{position:absolute;right:100%;margin-right:4px;transform:translateY(50%);display:none;z-index:100;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:2px 5px;font-family:monospace;font-size:11px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm)}.plot-tooltip{position:absolute;display:none;z-index:100;background:rgba(16,40,58,.85);color:var(--color-text-inverse);padding:4px 8px;border-radius:var(--radius-sm);font-family:monospace;font-size:12px;pointer-events:none;transform:translate(15px,15px);box-shadow:var(--shadow-sm)}.plot-axis-tick{position:absolute;display:none;z-index:100;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:2px 5px;font-family:monospace;font-size:11px;pointer-events:none;box-shadow:var(--shadow-sm)}.plot-axis-tick.x{transform:translateX(-50%)}.plot-axis-tick.y{transform:translate(-100%,-50%)}.plot-axis-title{position:absolute;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);line-height:1;color:var(--color-text);white-space:nowrap;pointer-events:none}.plot-axis-title.x{transform:translateX(-50%)}.plot-axis-title.y{transform-origin:0 0;transform:rotate(-90deg) translate(-50%,-100%)}.homo-dot{color:var(--color-homo)}.lumo-dot{color:var(--color-lumo)}.panel-title .badge-anchor{margin-left:auto}.spin-toggle{display:flex;background:var(--color-badge-background);border-radius:var(--radius-sm);overflow:hidden}.spin-toggle-button{padding:0 var(--gap-0);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);opacity:.6;transition:opacity var(--transition-base),background-color var(--transition-base)}.spin-toggle-button:hover{opacity:1}.spin-toggle-button.active{background:var(--color-accent);opacity:1}#orbital-list-container{overflow-y:auto;min-height:0}#orbital-list-table tr.spin-hidden{display:none}.load-more-row td{padding:calc(var(--gap-0)/ 2);text-align:center}.load-more-row button{width:100%;padding:calc(var(--gap-0)/ 2);font-size:var(--font-size-small);color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);transition:color var(--transition-base),border-color var(--transition-base)}.load-more-row button:hover{color:var(--color-brand);border-color:var(--color-border-strong)}#orbital-list-table tr.selected{background-color:var(--color-brand);color:var(--color-text-inverse);font-weight:var(--font-weight-bold)}#orbital-list-table tr.selected-secondary{background-color:var(--color-brand-soft);color:var(--color-text-inverse)}#orbital-list-table tr.selected-secondary td:first-child::before{background-color:var(--color-brand-soft);width:5px}#orbital-list-table tr.selected-secondary .orbital-list-name{font-weight:var(--font-weight-bold)}.orbital-list-plot-column{width:16%}.orbital-list-name-column{width:22%}.orbital-list-weight-column{width:13%}.orbital-list-symmetry-column{width:15%}.orbital-list-occupation-column{width:10%}.orbital-list-energy-column{width:24%}#orbital-list-table .orbital-weight{visibility:hidden;width:4em;text-align:center;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm)}#orbital-list-table.weighted tr.selected .orbital-weight,#orbital-list-table.weighted tr.selected-secondary .orbital-weight{visibility:visible}.weight-reset{visibility:hidden}.orbital-list:has(#orbital-list-table.weighted) .weight-reset{visibility:visible}#orbital-list-table td{padding:calc(var(--gap-0)/ 2);text-align:center}#orbital-list-table .orbital-list-plot{width:50px;height:50px}#orbital-list-table .orbital-list-plot-cell{padding-left:var(--gap-1)}#orbital-list-table .orbital-list-name{text-align:left}#orbital-list-table .orbital-list-occupation{opacity:.7;font-variant-numeric:tabular-nums}#orbital-list-table .orbital-list-energy{text-align:right;padding-right:var(--gap-1);font-variant-numeric:tabular-nums}#energy-plot,#line-profile-plot{flex:1;min-height:0;padding:var(--gap-0)}.info-tabs{flex-direction:row}.tab-sidebar{min-width:3em;background:var(--color-brand-strong);display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow-sm);border-radius:calc(var(--radius-lg) - var(--panel-border-width) - var(--panel-inset));margin:var(--panel-inset);margin-right:0}.tab-link{width:100%;flex:1;min-height:3em;display:flex;align-items:center;justify-content:center;opacity:.7;border-left:3px solid transparent;transition:all var(--transition-slow)}.tab-link:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.tab-link:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.tab-link:hover{background:rgba(255,255,255,.1);opacity:1}.tab-link.active{background:var(--color-brand);border-left-color:var(--color-accent);opacity:1}.tab-link svg{width:26px;height:26px;filter:brightness(0) invert(1)}.tab-content{flex:1;overflow-y:auto;padding:calc(var(--gap-0)/ 2) var(--gap-1) var(--gap-0) var(--gap-1)}@keyframes fade-in{from{opacity:0}to{opacity:1}}.tab-pane{display:none}.tab-pane.active{display:flex;flex-direction:column;gap:var(--gap-0);height:100%;animation:fade-in var(--transition-base)}.tab-pane .label{font-weight:var(--font-weight-normal);color:var(--color-text-muted);text-align:left;margin-right:var(--gap-1);position:relative}.divider{border:0;border-top:1px solid var(--color-border);margin:0}.group-title{grid-column:1/-1;width:fit-content;font-size:var(--font-size-medium);font-weight:var(--font-weight-bold);letter-spacing:.03em;color:var(--color-brand);margin:4px 0 0;position:relative}.group-title:first-child{margin-top:0}.placeholder{color:var(--color-text-muted);font-style:italic;padding:var(--gap-0) 0}#tab-controls.active{display:flex;flex-direction:column;gap:var(--gap-0);height:100%}.pane-tabs{display:flex;flex-wrap:wrap;gap:4px;flex-shrink:0;border-bottom:1px solid var(--color-border-strong);padding-top:calc(var(--gap-0)/ 2);padding-bottom:4px}.pane-tab{font-size:var(--font-size-small);font-weight:var(--font-weight-bold);letter-spacing:.03em;color:var(--color-text-muted);background:0 0;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 7px;cursor:pointer;white-space:nowrap;transition:background var(--transition-base),color var(--transition-base)}.pane-tab:hover{background:var(--color-surface-hover);color:var(--color-brand)}.pane-tab.active{background:var(--color-brand);color:var(--color-text-inverse)}.pane-group{display:none}.pane-group.active{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));grid-auto-rows:min-content;align-content:flex-start;gap:3px var(--gap-1);overflow-y:auto;flex:1;min-height:0;padding-top:calc(var(--gap-0)/ 2);padding-right:calc(var(--gap-0) + 2px)}.help-mode .pane-group.active{padding-top:.75rem}.export-row{grid-column:1/-1}#pane-group-export.active{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.pane-group p{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gap-1);line-height:1.2;min-width:0}.pane-group p .label{white-space:nowrap}.pane-group.active.list{display:flex;align-items:flex-start;gap:var(--gap-2);overflow-y:auto;flex:1;min-height:0}.list-column{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:3px}.list-column .control-item{max-width:none;width:100%}.list-column .control-item:has(input[type=number]),.list-column .control-item:has(select){flex-direction:row;align-items:center;gap:var(--gap-1)}.list-column .control-item:has(input[type=number]) .label,.list-column .control-item:has(select) .label{font-size:inherit;white-space:nowrap}.pane-group p .info{text-align:right;overflow-wrap:anywhere}.control-hint{font-size:var(--font-size-small);color:var(--color-text-muted);line-height:1.3;font-style:italic}.control-item.disabled{opacity:.45}.control-item{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-1)}.control-item .label{flex:1;min-width:0;white-space:nowrap}.control-item:has(input[type=number]),.control-item:has(select){flex-direction:column;align-items:flex-start;gap:2px}.control-item:has(input[type=number]) .label,.control-item:has(select) .label{font-size:var(--font-size-small);color:var(--color-text-muted);white-space:nowrap}.control-item input[type=number]{width:5em;text-align:left}.control-item select{width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-item input[type=checkbox]{margin-left:auto;flex-shrink:0}.control-item input[type=color]{width:2.2rem;height:1.4rem;padding:0;flex-shrink:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:0 0;cursor:pointer}.value-group{display:flex;align-items:center;gap:var(--gap-0);flex-shrink:0}.control-reset{flex-shrink:0;padding:0 var(--gap-0);font-size:var(--font-size-small);color:var(--color-brand);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.control-reset:hover{background-color:var(--color-brand);color:var(--color-text-inverse);border-color:var(--color-brand)}.slider-item input[type=range]{flex:0 1 7.5rem;min-width:0}.segmented{display:flex;flex-shrink:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden}.segmented label{position:relative;text-align:center;font-size:var(--font-size-small);padding:3px 9px;cursor:pointer;white-space:nowrap;user-select:none}.segmented label:not(:last-child){border-right:1px solid var(--color-border)}.segmented input[type=radio]{position:absolute;inset:0;opacity:0;pointer-events:none}.segmented label:has(input:checked){background:var(--color-brand);color:var(--color-text-inverse)}.segmented label:has(input:focus-visible){outline:2px solid var(--color-brand);outline-offset:-2px}.element-row{gap:var(--gap-0)}.element-row .element-symbol{flex:0 0 1.6rem;font-family:monospace}.element-row input[type=range]{flex:1 1 3rem;min-width:0}#pane-group-calculations.active{display:block;overflow-y:auto}#pane-group-calculations table{width:100%;border-collapse:collapse;table-layout:fixed}#pane-group-calculations td,#pane-group-calculations th{padding:calc(var(--gap-0)/ 2) calc(var(--gap-0)/ 2)}#pane-group-calculations th{text-align:left;font-size:var(--font-size-small);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-strong);letter-spacing:.05em;white-space:nowrap;overflow:visible;text-overflow:ellipsis}#pane-group-calculations td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#pane-group-calculations .numeric{text-align:right;font-variant-numeric:tabular-nums}#pane-group-calculations .centered{text-align:center}.calculations-id-column{width:7%}.calculations-xc-column{width:22%}.calculations-basis-column{width:19%}.calculations-code-column{width:14%}.calculations-number-column{width:11%}.calculations-casida-column{width:12%}#calculations th{position:relative}#calculations tr.group-start td{border-top:1px solid var(--color-border)}#calculations tr.current{box-shadow:inset 3px 0 0 var(--color-accent);font-weight:var(--font-weight-medium)}.export-row{align-items:center;padding:3px var(--gap-0);border-radius:var(--radius-sm)}.export-row:nth-of-type(odd){background-color:var(--color-surface-alt)}.export-buttons{display:flex;flex-wrap:wrap;gap:var(--gap-0);justify-content:flex-end}.export-buttons button{min-width:4em;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding:4px var(--gap-0);background-color:var(--color-surface);color:var(--color-brand);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast)}.export-buttons button:hover:not(:disabled){background-color:var(--color-brand);color:var(--color-text-inverse);border-color:var(--color-brand);box-shadow:var(--shadow-md)}.export-buttons button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.export-buttons button:disabled{color:var(--color-text-muted);opacity:.5;box-shadow:none;cursor:not-allowed}.context-menu{position:fixed;z-index:1000;min-width:12rem;padding:calc(var(--gap-0)/ 2);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.context-menu-item{text-align:left;padding:calc(var(--gap-0)/ 2) var(--gap-0);border-radius:var(--radius-sm);font-size:var(--font-size-small);transition:background-color var(--transition-fast)}.context-menu-item:hover:not(:disabled){background-color:var(--color-brand);color:var(--color-text-inverse)}.context-menu-item:disabled{color:var(--color-text-muted);opacity:.5;cursor:not-allowed}@media (max-width:1100px){.orbital-list-plot-column{width:21%}.orbital-list-symmetry-column{width:12%}.orbital-list-occupation-column{width:8%}#orbital-list-table .orbital-list-plot-cell{padding-left:calc(var(--gap-0)/ 2)}}@media (max-width:1100px) and (min-width:641px){body{height:auto;overflow:auto}main{overflow:visible}.main-container{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,minmax(20rem,26rem));grid-template-areas:"real real" "momentum orbital" "info info" "energy energy";height:auto}.real-space{grid-area:real}.momentum-space{grid-area:momentum}.orbital-list{grid-area:orbital}.info-tabs{grid-area:info}.energy-spectrum{grid-area:energy}}@media (max-width:640px){body{height:auto;overflow:auto}main{overflow:visible}.main-container{display:flex;flex-direction:column;height:auto;min-width:0}.panel{height:22rem;min-width:0}.info-tabs{flex-direction:column;height:auto;min-height:0}.tab-sidebar{flex-direction:row;margin:var(--panel-inset);margin-bottom:0}.tab-link{min-height:2.75em;border-left:none;border-bottom:3px solid transparent}.tab-link.active{border-bottom-color:var(--color-accent)}.tab-link:first-child{border-top-right-radius:0;border-bottom-left-radius:inherit}.tab-link:last-child{border-bottom-left-radius:0;border-top-right-radius:inherit}.pane-group.active.list{flex-direction:column;align-items:stretch}.list-column{flex:0 0 auto}.meta-info{flex-wrap:wrap}#pane-group-calculations table{min-width:34rem}}.papers-dialog{width:min(44rem,calc(100vw - 2rem));max-height:calc(100vh - 4rem);overflow-y:auto;margin:auto;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--gap-2)}.papers-dialog::backdrop{background:rgba(22,53,74,.45)}.papers-dialog h2{font-size:var(--font-size-large);border-bottom:1px solid var(--color-border-strong);padding-bottom:var(--gap-0);margin-bottom:var(--gap-1)}.papers-dialog-system{color:var(--color-text-muted);font-size:var(--font-size-medium);font-weight:400}.papers-list{display:flex;flex-direction:column;gap:var(--gap-0);margin:0 0 var(--gap-1);padding-left:var(--gap-1)}.paper-title{font-weight:var(--font-weight-bold)}.paper-authors,.paper-reference{color:var(--color-text-muted);font-size:var(--font-size-small)}.paper-links{display:flex;align-items:center;gap:var(--gap-0);flex-wrap:wrap;font-size:var(--font-size-small)}.paper-links a{color:var(--color-link)}.paper-links a:hover{text-decoration:underline}.paper-copy{margin-left:auto;color:var(--color-text-muted);text-decoration:underline}.paper-copy:hover{color:var(--color-text)}