.fourier-config-error{border-left:3px solid var(--orange);background:color-mix(in srgb,var(--orange) 10%,transparent);color:var(--ink);margin:0;padding:.55rem .7rem;font-size:.82rem}.fourier-table{overscroll-behavior:contain;max-height:28rem;overflow:auto}.fourier-playground-plots{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=700px){.fourier-playground-plots{grid-template-columns:1fr}.fourier-table{max-height:22rem}}.fourier-lab{max-width:1440px;color:var(--ink);margin:auto}.fourier-page{max-width:1500px;margin:auto;padding:1.5rem clamp(1rem,3vw,3rem) 4rem}.fourier-page .line-page-intro h1{margin:.6rem 0;font-size:clamp(1.5rem,3vw,2.3rem)}.fourier-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.fourier-heading h2{margin:1rem 0 .3rem;font-size:1.3rem}.fourier-heading p{color:var(--muted);margin:0 0 1rem}.fourier-status{border:1px solid var(--line);white-space:nowrap;border-radius:2rem;padding:.4rem .7rem;font-size:.75rem}.fourier-toolbar,.fourier-view-controls,.playground-controls{flex-wrap:wrap;align-items:center;gap:.45rem;margin:.7rem 0;display:flex}.fourier-lab button,.fourier-lab select,.fourier-lab input[type=number]{font:inherit;color:var(--ink);background:var(--surface-elevated);border:1px solid var(--line);border-radius:.5rem;max-width:100%;min-height:40px;padding:.5rem .65rem}.fourier-lab button{cursor:pointer}.fourier-lab button:hover{border-color:var(--blue)}.fourier-lab input[type=range]{width:100%;accent-color:var(--blue);min-height:32px}.fourier-lab input[type=checkbox]{accent-color:var(--blue);margin-right:.4rem}.fourier-layout{grid-template-columns:minmax(0,1fr) 270px;gap:1rem;display:grid}.fourier-visual,.fourier-panel,.fourier-card,.fourier-playground{background:var(--surface-elevated);border:1px solid var(--line);border-radius:1rem;min-width:0;padding:1rem}.fourier-visual{padding:.5rem}.fourier-canvas{background:var(--surface-canvas);touch-action:none;cursor:crosshair;border-radius:.6rem;width:100%;height:auto;max-height:65vh;display:block}.fourier-axis{stroke:var(--line);stroke-width:1px}.fourier-circle{fill:none;stroke:var(--muted);stroke-width:.7px;opacity:.55}.fourier-vector{stroke:var(--orange);stroke-width:1.5px}.fourier-original{stroke:var(--muted);stroke-width:1.2px;stroke-dasharray:4 4}.fourier-reconstructed{stroke:var(--blue);stroke-width:1.6px}.fourier-trace{stroke:var(--green);stroke-width:2.4px}.fourier-endpoint{fill:var(--orange);stroke:var(--surface-canvas);stroke-width:1px}.fourier-hint,.fourier-note{color:var(--muted);margin:.6rem;font-size:.78rem;line-height:1.5}.fourier-panel{flex-direction:column;gap:.65rem;font-size:.86rem;display:flex}.fourier-panel label{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.fourier-panel label:has(input[type=range]){grid-template-columns:1fr auto;display:grid}.fourier-panel label input[type=range]{grid-column:1/-1}.fourier-panel select{margin-left:auto}.fourier-error{background:var(--surface-canvas);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;border-radius:.5rem;gap:.5rem;margin-top:auto;padding:.7rem;display:grid}.fourier-lower{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin:1rem 0;display:grid}.fourier-card h3{margin:0 0 .7rem;font-size:1rem}.fourier-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.8rem;display:grid}.fourier-row label{min-width:0}.fourier-row input[type=number]{font-variant-numeric:tabular-nums;width:100%}.fourier-playground summary{cursor:pointer;font-weight:650}.playground-controls label{flex:1;gap:.25rem;min-width:120px;display:grid}.fourier-lab :focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media (width<=850px){.fourier-layout{grid-template-columns:minmax(0,1fr)}.fourier-panel{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fourier-error{grid-column:1/-1}.fourier-lower{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.fourier-toolbar button{min-height:44px;font-size:.8rem}.fourier-heading p{font-size:.8rem}.fourier-panel{padding:.7rem}.fourier-status{display:none}.fourier-page{padding:.8rem}.fourier-lab select{width:100%}.fourier-row{grid-template-columns:75px minmax(0,1fr) minmax(0,1fr)}}.fourier-fullscreen,.fourier-visual:fullscreen{z-index:1000;background:var(--surface-canvas);border-radius:0;flex-direction:column;padding:1rem;display:flex;position:fixed;inset:0;overflow:auto}.fourier-fullscreen .fourier-canvas{flex:1;height:75vh;min-height:0;max-height:none}.fourier-fullscreen .fourier-view-controls{flex:none}
