.celtic-engine-wrapper{width:100%;max-width:1080px;margin-inline:auto;padding:1.5rem 1rem 3rem;box-sizing:border-box}@media(max-width:640px){.celtic-engine-wrapper{padding:.25rem .25rem 1.5rem}.celtic-controls-bar{padding:.5rem .75rem;margin-bottom:1rem;gap:.5rem;justify-content:center}.celtic-title-lockup{display:none}.btn-celtic-shuffle{width:100%;justify-content:center;padding:.65rem 1rem}}.celtic-controls-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;background:hsl(var(--bg-surface-1, 234 40% 14%) / .7);padding:1rem 1.5rem;border-radius:1rem;border:1px solid hsl(var(--border-subtle, 234 30% 22%));box-sizing:border-box}.celtic-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;color:hsl(var(--primary, 42 95% 55%));letter-spacing:.08em}.celtic-headline{font-family:var(--font-heading, "Cinzel", serif);font-size:1.25rem;color:hsl(var(--text-primary));margin:.15rem 0 0}.btn-celtic-shuffle{display:inline-flex;align-items:center;gap:.5rem;background:hsl(var(--primary));color:hsl(var(--bg-canvas));font-weight:700;font-size:.9rem;padding:.75rem 1.4rem;border-radius:9999px;border:none;cursor:pointer;box-shadow:0 4px 16px -2px hsl(var(--primary) / .4);transition:all .2s ease}.btn-celtic-shuffle:hover{background:hsl(var(--primary-hover));transform:translateY(-2px)}.celtic-board-layout{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2.5rem;width:100%;max-width:100%;box-sizing:border-box}@media(min-width:860px){.celtic-board-layout{grid-template-columns:1fr 340px}}.celtic-cross-cluster,.celtic-staff-cluster{width:100%;max-width:100%;box-sizing:border-box}.cross-subheading{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--text-muted));margin-bottom:1rem;text-align:center}.cross-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,110px);gap:.5rem;max-width:480px;width:100%;margin-inline:auto;align-items:center;justify-items:center;box-sizing:border-box}@media(max-width:480px){.cross-grid{grid-template-rows:repeat(3,90px);gap:.35rem}}.slot-top{grid-column:2;grid-row:1}.slot-left{grid-column:1;grid-row:2}.slot-center-group{grid-column:2;grid-row:2;position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.slot-right{grid-column:3;grid-row:2}.slot-bottom{grid-column:2;grid-row:3}.celtic-slot-card{width:100%;max-width:135px;min-width:0;height:100px;box-sizing:border-box;background:hsl(var(--bg-surface-1, 234 40% 14%));border:1px solid hsl(var(--border-subtle, 234 30% 22%));border-radius:.75rem;padding:.5rem;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .2s ease;text-align:left;color:inherit}@media(max-width:480px){.celtic-slot-card{height:86px;padding:.35rem .25rem;border-radius:.5rem}}.celtic-slot-card:hover,.celtic-slot-card.active{border-color:hsl(var(--primary));background:hsl(var(--bg-surface-2));box-shadow:0 4px 14px -2px hsl(var(--primary) / .25);transform:translateY(-2px)}.slot-center-base{position:absolute;width:100%;height:100%;z-index:1}.slot-center-cross{position:absolute;width:90%;height:90%;z-index:2;transform:rotate(90deg) scale(.9);border-color:hsl(var(--primary) / .5);background:hsl(var(--bg-elevated) / .95)}.slot-center-cross:hover,.slot-center-cross.active{transform:rotate(90deg) scale(.95)}.slot-num{font-family:var(--font-heading, "Cinzel", serif);font-size:.75rem;font-weight:700;color:hsl(var(--primary))}.slot-label{font-size:.68rem;color:hsl(var(--text-muted));text-transform:uppercase}.slot-card-name{font-size:.76rem;font-weight:600;color:hsl(var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-column{display:flex;flex-direction:column;gap:.75rem}.slot-staff{max-width:100%;height:72px}.staff-slot-meta{display:flex;align-items:center;gap:.5rem}.celtic-inspector-card{background:hsl(var(--bg-surface-1, 234 40% 14%) / .85);border:1px solid hsl(var(--border-subtle));border-radius:1.25rem;padding:1.5rem;backdrop-filter:blur(16px)}.inspector-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid hsl(var(--border-subtle));padding-bottom:1rem;margin-bottom:1.25rem;flex-wrap:wrap;gap:.5rem}.pos-badge{font-size:.75rem;font-weight:700;color:hsl(var(--primary));text-transform:uppercase}.pos-title{font-family:var(--font-heading, "Cinzel", serif);font-size:1.2rem;color:hsl(var(--text-primary));margin:.2rem 0 0}.insp-orientation-pill{font-size:.75rem;font-weight:600;padding:.25rem .7rem;background:hsl(var(--bg-surface-2));border-radius:9999px;color:hsl(var(--text-secondary))}.inspector-body-grid{display:flex;gap:1.5rem;align-items:center;margin-bottom:1.5rem;flex-direction:column}@media(min-width:640px){.inspector-body-grid{flex-direction:row}}.insp-symbol-box{width:80px;height:80px;border-radius:1rem;background:hsl(var(--bg-surface-2));display:flex;align-items:center;justify-content:center;color:hsl(var(--primary));flex-shrink:0}.insp-symbol-box svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.75}.insp-card-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.insp-card-name{font-family:var(--font-heading, "Cinzel", serif);font-size:1.35rem;color:hsl(var(--text-primary));margin:0}.insp-element{font-size:.75rem;color:hsl(var(--text-muted));text-transform:uppercase}.insp-position-interpretation{font-size:.95rem;line-height:1.6;color:hsl(var(--text-secondary));margin:0}.inspector-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid hsl(var(--border-subtle));padding-top:1rem;flex-wrap:wrap;gap:1rem}.synth-label{font-size:.8rem;color:hsl(var(--text-muted))}.synth-val{font-size:.85rem;font-weight:700;color:hsl(var(--primary));margin-left:.35rem}.btn-copy-celtic{display:inline-flex;align-items:center;gap:.4rem;background:hsl(var(--bg-surface-2));border:1px solid hsl(var(--border-subtle));color:hsl(var(--text-primary));font-size:.82rem;font-weight:600;padding:.5rem .9rem;border-radius:9999px;cursor:pointer;transition:all .2s ease}.btn-copy-celtic:hover{border-color:hsl(var(--primary) / .5)}
