.workspace{grid-template-columns:310px minmax(0,1fr);gap:2rem}.setup{padding-right:1.5rem}.setup>label{margin:.8rem 0 .25rem}.setup h2{font-size:1.4rem}.room-heading{margin-top:1.8rem!important}details{margin:1.2rem 0;border-top:1px solid var(--rule);padding-top:.85rem}summary{cursor:pointer;font-weight:600}details .hint{margin:.6rem 0}details label{margin:.7rem 0}details button{margin-top:.5rem}.option-grid{margin:.7rem 0}#capacity{margin:.7rem 0}.chart-heading{display:flex;gap:1rem;align-items:baseline;justify-content:space-between}.chart-heading h2{overflow-wrap:anywhere}#notice{margin:1rem 0;line-height:1.4;color:var(--green);min-height:2.8em}#notice.error{color:#a0211d}#instructions{margin-bottom:1rem}.chart-scroll{overflow:auto;border:1px solid var(--rule);background:#f8f8f6;padding:1.1rem}#room{min-width:440px}.board{width:70%;margin:0 auto 1.3rem;text-align:center;border-bottom:5px solid #525960;padding:.6rem;font:500 .75rem var(--mono);letter-spacing:.05em}#seats{position:relative;height:400px}.seat{position:absolute;padding:.3rem .4rem;border:1px solid #989e9f;background:white;border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;overflow:hidden;font-weight:600;box-shadow:0 3px 0 #dfe1df}.seat .number{font:500 .65rem var(--mono);color:var(--muted)}.seat .student{font-size:clamp(.75rem,1.35vw,1rem);overflow-wrap:anywhere;line-height:1.15}.seat.empty{background:transparent;border-style:dashed;box-shadow:none;color:var(--muted)}.seat[aria-pressed=true]{outline:3px solid #1261a0;outline-offset:1px;background:#eef5fc}.seat.locked{border:2px solid var(--green)}#seat-tools{padding:1rem 0;border-bottom:1px solid var(--rule)}#selected-name{margin-right:auto}.chart-actions{margin:1.2rem 0}.export-options{margin-top:1.5rem}.download{display:flex;align-items:end}.download button{width:100%;margin:0}#rules{padding:0;list-style:none}#rules li{margin:.5rem 0;font-size:.95rem}#rules button{font-size:.85rem;margin-left:.5rem;padding:.25rem .5rem}button,select{min-height:46px}#library{margin:.5rem 0}.setup details>.actions{gap:.4rem}.about{margin-top:2rem} @media(max-width:850px){.workspace{grid-template-columns:275px minmax(0,1fr);gap:1.2rem}main{padding:1.5rem} .setup{padding-right:1rem}}@media(max-width:710px){.workspace{display:flex}.setup{padding:0}.result{width:100%}.chart-heading{flex-wrap:wrap}.seat .student{font-size:.85rem}main{padding:1.2rem 1rem}.chart-scroll{padding:.7rem}#room{min-width:440px}}
.mobile-hint{display:none}@media(max-width:710px){.mobile-hint{display:block;margin:.6rem 0}}
.room-mode{margin-top:1rem}.room-mode [aria-pressed=true]{background:var(--ink);color:white}.editing{background-image:linear-gradient(to right,#d9dddf 1px,transparent 1px),linear-gradient(to bottom,#d9dddf 1px,transparent 1px)}.editing .seat{touch-action:none;cursor:grab;user-select:none;z-index:1}.editing .seat:active{cursor:grabbing;z-index:3}#desk-tools{margin:1rem 0;padding:1rem;background:var(--soft)}#desk-tools .actions{margin-top:.6rem}#desk-tools button{min-width:46px}#custom-label{border:1px solid var(--rule);padding:.3rem .6rem}

[hidden]{display:none!important}.first-use{padding:2rem;background:#f5f5f3;border:1px solid var(--rule)}.first-use h2{font-size:1.6rem}.first-use p{margin:1rem 0;max-width:38rem}#chart-work>h2{font-size:1.4rem;margin-bottom:.8rem}#preset-options{margin:0 0 1.3rem}#preset-options>label{margin-top:1rem}#preset-options>.option-grid{max-width:24rem}.setup details a{display:block;margin:.75rem 0}.room-mode{margin-bottom:1rem}#notice:empty{display:none}#chart-work .chart-heading h2{font-size:1.5rem}

.room-panel{background:#f5f5f3;border:1px solid var(--rule);padding:1.1rem;margin-bottom:1.5rem!important}.room-panel>p:first-child{margin:0 0 1rem}.room-fields{display:grid;grid-template-columns:minmax(150px,2fr) repeat(2,minmax(75px,1fr));gap:1rem}.room-fields label{margin:0}.room-fields input,.room-fields select{margin-top:.35rem;width:100%}.room-panel .actions{gap:.7rem;align-items:center}.room-panel [aria-pressed=true]{background:var(--ink);color:white}@media(max-width:500px){.room-fields{grid-template-columns:1fr 1fr}.room-fields>label:first-child{grid-column:1/-1}.room-panel{padding:.85rem}}
