.tutor-screen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#000}.tutor-form{width:100%;max-width:600px;padding:2rem}.tutor-input{width:100%;padding:2rem;font-size:4rem;text-align:center;border:none;background:#1a1a1a;color:#fff;border-radius:8px;outline:none}.tutor-input::-webkit-outer-spin-button,.tutor-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tutor-input[type=number]{-moz-appearance:textfield}.tutor-input::placeholder{color:#666}.tutor-input:focus{background:#2a2a2a}.tutor-feedback{position:fixed;top:2rem;left:50%;transform:translate(-50%);padding:1rem 2rem;border-radius:8px;font-size:1.5rem;font-weight:700;z-index:1000}.tutor-feedback.success{background:#22c55e;color:#fff}.tutor-feedback.error{background:#ef4444;color:#fff}.central-screen{width:100vw;height:100vh;background:#000;padding:2rem;display:flex;flex-direction:column;overflow:hidden}.central-header{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#1a1a1a;border-radius:8px}.central-header--with-image{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem;align-items:center;justify-items:center;text-align:center;max-height:30%}.header-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.central-header--with-image .header-content{grid-column:2;justify-self:stretch}.header-objective-image-wrap{grid-column:1;grid-row:1;width:50%;position:relative;height:0;padding-bottom:50%;overflow:hidden;border-radius:6px;background:#111;justify-self:center}.header-objective-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.header-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.header-item .label{font-size:1rem;color:#999;text-transform:uppercase;letter-spacing:1px}.header-item .value{font-size:2rem;font-weight:700;color:#fff}.timer-item{-webkit-user-select:none;user-select:none}.timer-item .value.timer{font-family:Courier New,monospace;font-size:3rem}.timer.running{color:#22c55e}.timer.paused{color:#eab308}.objective-item{width:100%;max-width:600px}.objective{font-size:1.5rem;text-align:center;line-height:1.4}.children-rows{display:flex;flex-direction:column;gap:.5rem;flex:1;width:100%}.children-row{display:inline-grid;grid-template-columns:1fr 6fr;column-gap:.5rem;width:100%;padding:.2rem 0}.row-label{display:flex;align-items:center;justify-content:flex-start;padding:.5rem .75rem;background:#111;color:#fff;font-weight:700;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.children-grid-row{display:inline-grid;grid-template-columns:repeat(6,1fr);column-gap:.5rem}.child-card{border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;height:100%;min-height:60px}.child-number{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:.5rem;z-index:1}.child-card.color-red{background:#c70000}.child-card.color-blue{background:#2076ff}.child-card.color-green{background:#19921f}.child-card.color-yellow{background:#eab308}.child-card.color-orange{background:#f97316}.child-card.color-violet{background:#a855f7}.child-card.color-white{background:#fff}.child-card.color-black{background:#000}.child-card.color-gray{background:#6b7280}.connection-warning{position:fixed;top:2rem;right:2rem;padding:1rem 2rem;background:#ef4444;color:#fff;border-radius:8px;font-weight:700;z-index:1000}@media(max-width:1200px){.children-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.central-header{gap:1rem}.header-item .value{font-size:2rem}.timer-item .value.timer{font-size:2.5rem}.children-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.child-number{font-size:2rem}}@media(max-width:480px){.children-grid{grid-template-columns:repeat(2,1fr)}}.control-screen{width:100vw;height:100vh;background:#000;padding:1rem;display:flex;flex-direction:column;overflow:hidden}.control-screen--main .control-header{margin-bottom:.75rem}.control-header{text-align:center;margin-bottom:2rem;flex-shrink:0}.control-header--compact h1{font-size:1.5rem;margin:0}.control-header h1{color:#fff;font-size:2.5rem;margin:0}.control-layout{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:1rem;flex:1;min-height:0;overflow:hidden}.control-left{display:flex;flex-direction:column;gap:1rem;min-height:0}.control-right{display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:hidden}.control-section{background:#1a1a1a;border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.control-section--time{flex:1;min-height:0;justify-content:center}.control-section--new-game{flex-shrink:0;justify-content:center}.control-section--current{flex-shrink:0}.control-section--upcoming{flex:1;min-height:0;overflow:hidden;align-items:stretch}.control-content{display:flex;flex-direction:column;gap:2rem;max-width:600px;margin:0 auto;flex:1;justify-content:center}.timer-display{display:flex;flex-direction:column;align-items:center;gap:.25rem}.timer-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:1px}.timer-value{font-family:Courier New,monospace;font-size:4rem;font-weight:700;color:#fff}.timer-value--compact{font-size:2.25rem}.timer-value.running{color:#22c55e}.timer-value.paused{color:#eab308}.timer-status{font-size:.75rem;color:#ccc;text-transform:uppercase;letter-spacing:.5px}.control-buttons{display:flex;gap:.5rem}.control-buttons--stacked{flex-direction:column;width:100%;max-width:180px}.control-buttons--stacked .control-button{width:100%;padding:.5rem 1rem;font-size:.95rem}.control-button--full{width:100%}.control-button{padding:1rem 2rem;font-size:1.2rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:1px}.control-button.primary{background:#22c55e;color:#fff}.control-button.primary:hover:not(:disabled){background:#16a34a;transform:translateY(-2px)}.control-button.secondary{background:#3b82f6;color:#fff}.control-button.secondary:hover:not(:disabled){background:#2563eb;transform:translateY(-2px)}.control-button.skip{background:#f59e0b;color:#fff}.control-button.skip:hover:not(:disabled){background:#d97706;transform:translateY(-2px)}.control-button:disabled{opacity:.5;cursor:not-allowed}.objective-display{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.objective-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:1px;align-self:flex-start}.objective-value{font-size:1.5rem;color:#fff;text-align:center;line-height:1.4;padding:1rem;background:#111;border-radius:6px;width:100%}.objective-value--compact{font-size:1rem;padding:.5rem .75rem;text-align:left}.objective-value--progress{position:relative;overflow:hidden;background:#111;padding:0}.objective-value-fill{position:absolute;left:0;top:0;bottom:0;background:#22c55e;opacity:.35;transition:width 1s linear;pointer-events:none}.objective-value-content{position:relative;z-index:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem}.objective-value-text{flex:1;color:#fff}.objective-thumb{width:28px;height:28px;min-width:28px;border-radius:4px;object-fit:cover;display:block}.objective-thumb--current{width:32px;height:32px;min-width:32px}.control-feedback{position:fixed;top:2rem;right:2rem;padding:1rem 2rem;border-radius:8px;font-weight:700;z-index:1000;animation:slideIn .3s ease-out}.control-feedback.success{background:#22c55e;color:#fff}.control-feedback.error{background:#ef4444;color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.control-content--center{justify-content:center}.choice-section{background:#1a1a1a;border-radius:8px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:400px}.choice-prompt{color:#ccc;font-size:1.1rem;margin:0;text-align:center}.choice-buttons{display:flex;flex-direction:column;gap:1rem;width:100%}.choice-buttons .control-button{width:100%}.config-form{background:#1a1a1a;border-radius:8px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:560px}.config-field{display:flex;flex-direction:column;gap:.5rem}.config-fields-group{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-end}.config-group-label{width:100%;color:#999;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:-.25rem}.config-field--inline{flex:0 0 auto;min-width:120px}.config-field--inline input{width:8ch;min-width:3rem}.config-field label{color:#999;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.config-field input{padding:.75rem 1rem;font-size:1.1rem;border-radius:6px;border:1px solid #333;background:#111;color:#fff}.config-actions{display:flex;gap:1rem;margin-top:.5rem}.config-actions .control-button{flex:1}.upcoming-objectives{list-style:none;margin:0;padding:0;width:100%;overflow-y:auto;flex:1;min-height:0}.upcoming-objectives li{padding:.35rem .75rem;background:#111;border-radius:4px;color:#ccc;font-size:.85rem;margin-bottom:.2rem;border-left:3px solid #3b82f6;display:flex;align-items:center;gap:.5rem}.upcoming-objectives__item--pmat{border-left-color:#f59e0b}.upcoming-objectives__empty{color:#666;border-left-color:#333}.connection-warning{position:fixed;top:2rem;left:2rem;padding:1rem 2rem;background:#ef4444;color:#fff;border-radius:8px;font-weight:700;z-index:1000}@media(max-width:768px){.control-layout{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.control-left{flex-direction:row;flex-wrap:wrap;gap:.75rem}.control-section--time{flex:1 1 200px}.control-section--new-game{flex:0 0 auto}.control-header h1{font-size:2rem}.control-header--compact h1{font-size:1.25rem}.timer-value{font-size:3rem}.timer-value--compact{font-size:1.75rem}.control-button{padding:.75rem 1.5rem;font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;color:#fff;overflow-x:hidden}#root{width:100%;min-height:100vh}button{cursor:pointer;border:none;outline:none;font-family:inherit}input{font-family:inherit;outline:none}
