*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{margin:0;font-family:system-ui,Georgia,Times New Roman,Times,serif}#root{display:flex;align-items:center;justify-content:center}:root{--app-bg-color: #e9e9e9;--background-color: #f3f3f3;--text-color: #222;--card-bg-color: #f7f7f7;--button-bg-color: #f3e6b9;--button-on-hover-bg-color: lightgrey;--timer-warning-color: #c1121f;--input-bg-color: white;--padding-size: 16px;--border-radius: 10px;--border-setting: 1px solid #d6d6d6;--timer-gap-size: 8px;--timer-padding-size: 30px;--title-font-size: 24px;--team-name-font-size: 32px;--content-font-size: 18px;--timer-font-size: 22px;--timer-countdown-font-size: 32px;--font-weight-large: 700;--button-font-size: 16px;--button-width: 200px;--button-height: 60px;--input-height: 40px;--input-width: 80px;--team-unpresented-color: #f3e6b9;--team-presented-color: lightgray;--team-text-color: #222}body{background:var(--background-color);color:var(--text-color)}.app{width:min(1200px,92vw);margin:0;background:var(--app-bg-color);border:var(--border-setting);border-radius:var(--border-radius);height:min(900px,92vh);display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--padding-size);background:var(--card-bg-color);border-bottom:var(--border-setting)}.topbar-title{margin:0;font-size:var(--title-font-size);font-weight:var(--font-weight-large)}.topbar-actions{display:flex;align-items:center}.layout{display:grid;grid-template-columns:1fr 320px;grid-template-rows:1fr;gap:var(--padding-size);padding:var(--padding-size);flex:1;align-items:stretch}.main{display:grid;gap:var(--padding-size);height:100%;grid-template-rows:1fr 1fr}.card{background:var(--card-bg-color);border:var(--border-setting);border-radius:var(--border-radius);padding:var(--padding-size);display:flex;flex-direction:column}.card-title{margin:0 0 8px;font-size:var(--title-font-size)}.card-content{display:flex;flex-direction:column;font-size:var(--content-font-size);align-items:center;text-align:center;justify-content:center;flex:1}.team-name{font-size:var(--team-name-font-size);font-weight:var(--font-weight-large)}.team-name-empty{padding:4px 0}.team-status{margin-top:6px;font-size:16px;color:#444}.team-members{display:flex;gap:var(--padding-size);list-style:none;padding:16px var(--padding-size);margin:0}.team-members li{white-space:nowrap}.btn{width:var(--button-width);height:var(--button-height);background-color:var(--button-bg-color);border:var(--border-setting);border-radius:var(--border-radius);padding:12px 16px;font-weight:var(--font-weight-large);font-size:var(--button-font-size);cursor:pointer}.btn--small{width:auto;height:auto;padding:6px 12px;font-size:14px}.btn:hover{background-color:var(--button-on-hover-bg-color)}.btn:disabled{background-color:var(--team-presented-color);cursor:not-allowed}#timer-mode{font-size:var(--title-font-size)}.timer-input{display:flex;align-items:center;gap:var(--timer-gap-size);padding:var(--timer-padding-size);font-size:var(--timer-font-size)}.timer-input .input{height:var(--input-height);width:var(--input-width);font-size:var(--timer-font-size);padding:6px 8px}.timer-countdown{font-size:var(--timer-countdown-font-size);font-weight:var(--font-weight-large)}.timer-countdown.alert{color:var(--timer-warning-color)}.input{border:var(--border-setting);border-radius:var(--border-radius);padding:8px;background:var(--input-bg-color)}.team-list{display:grid;gap:10px}.team-tag{text-align:center;padding:var(--padding-size);border-radius:var(--border-radius);border:var(--border-setting);background:var(--team-unpresented-color);color:var(--text-color);font-size:var(--content-font-size);font-weight:var(--font-weight-large)}.team-tag.presented{background:var(--team-presented-color);color:var(--team-text-color)}.team-tag.proposed{background:#2196f3;color:#fff;border-color:#1976d2;box-shadow:0 0 10px #2196f380;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 10px #2196f380}50%{box-shadow:0 0 20px #2196f3cc}}@media (max-width: 900px){.layout{grid-template-columns:1fr}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--background-color)}.login-card{width:min(400px,90vw);text-align:center}.login-title{font-size:28px;margin:0 0 var(--padding-size) 0;font-weight:var(--font-weight-large)}.login-form{display:flex;flex-direction:column;gap:var(--padding-size);margin-top:var(--padding-size)}.login-field{display:flex;flex-direction:column;text-align:left;gap:6px}.login-label{font-size:16px;font-weight:600}.login-field .input{width:100%;height:var(--input-height);font-size:16px}.login-btn{width:100%;margin-top:8px}.login-error{background:#ffebee;color:#c62828;padding:12px;border-radius:var(--border-radius);font-size:14px;border:1px solid #ef9a9a}.login-hint{margin-top:var(--padding-size);font-size:14px;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-bg-color);border-radius:var(--border-radius);padding:var(--padding-size);width:min(600px,90vw);max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--padding-size)}.modal-title{font-size:var(--title-font-size);font-weight:var(--font-weight-large);margin:0}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;padding:4px 8px}.team-manager-list{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--padding-size)}.team-item{background:#fff;border:var(--border-setting);border-radius:var(--border-radius);padding:12px}.team-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.team-item-name{font-weight:600;font-size:18px}.team-item-actions{display:flex;gap:8px}.team-item-actions button{padding:4px 12px;font-size:14px;background:var(--button-bg-color);border:var(--border-setting);border-radius:var(--border-radius);cursor:pointer}.team-item-actions button:hover{background:var(--button-on-hover-bg-color)}.team-item-members{font-size:14px;color:#666}.team-form{display:flex;flex-direction:column;gap:12px;margin-top:var(--padding-size);padding-top:var(--padding-size);border-top:var(--border-setting)}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:600;font-size:14px}.form-field input{width:100%;height:var(--input-height);font-size:16px}.members-input{display:flex;flex-direction:column;gap:8px}.member-input-row{display:flex;gap:8px;align-items:center}.member-input-row input{flex:1}.member-input-row button{padding:8px 12px;background:#ffebee;border:1px solid #ef9a9a;border-radius:var(--border-radius);cursor:pointer;font-size:14px}.add-member-btn{padding:8px 12px;background:#e3f2fd;border:1px solid #90caf9;border-radius:var(--border-radius);cursor:pointer;font-size:14px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.form-actions button{padding:10px 20px;font-size:16px;border-radius:var(--border-radius);border:var(--border-setting);cursor:pointer}.form-actions .btn-primary{background:var(--button-bg-color)}.form-actions .btn-secondary{background:#fff}.progress-tracker{padding:var(--padding-size);text-align:center;font-size:var(--content-font-size);font-weight:var(--font-weight-large);border-bottom:var(--border-setting)}.confirmation-message{margin:12px 0;padding:12px 20px;background:#4caf50;color:#fff;border-radius:var(--border-radius);font-size:18px;font-weight:600;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
