:root{color-scheme:light;--bg: #f4f4f0;--bg-panel: rgba(255, 255, 255, .88);--bg-panel-strong: #ffffff;--bg-dark: #1a1a1a;--border: rgba(26, 26, 26, .08);--border-strong: rgba(236, 72, 153, .28);--text: #1a1a1a;--text-soft: #666666;--text-faint: #959595;--accent: #ec4899;--accent-dark: #be185d;--accent-soft: #fce7f3;--success: #4caf50;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background:radial-gradient(circle at top left,rgba(236,72,153,.12),transparent 28rem),linear-gradient(180deg,#faf8f4 0%,var(--bg) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,select{font:inherit}button{border:0}input,select{width:100%;border:1px solid rgba(26,26,26,.12);border-radius:14px;background:#fffffff5;color:var(--text);padding:.9rem 1rem;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ec489924}input::placeholder{color:#b1b1b1}.app-shell{min-height:100vh;padding:1.5rem}.page-header{max-width:1280px;margin:0 auto 1.5rem}.page-header h1{margin:0;font-size:clamp(2rem,3vw,3.2rem);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;color:var(--accent)}.eyebrow{margin:0 0 .4rem;color:var(--text-soft);font-size:.8rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.planner-layout{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1.5rem;align-items:start}.panel,.set-card,.submit-card{border:1px solid var(--border);background:var(--bg-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 22px 50px #14141412}.panel{position:sticky;top:1rem;border-radius:28px;padding:1.4rem}.panel-title{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;color:var(--accent)}.panel-title h2{margin:0;font-size:1.15rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.panel-title--dark{color:var(--text)}.crate-list{display:grid;gap:.75rem;max-height:430px;overflow-y:auto;padding-right:.25rem;margin-bottom:1.25rem}.crate-list::-webkit-scrollbar{width:6px}.crate-list::-webkit-scrollbar-thumb{background:#1a1a1a26;border-radius:999px}.track-card{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.75rem;align-items:center;padding:.85rem .9rem;border:1px solid rgba(26,26,26,.08);border-radius:18px;background:var(--bg-panel-strong);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.track-card:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:0 12px 26px #1a1a1a14}.drag-handle{color:silver;display:flex;align-items:center}.track-copy{min-width:0}.track-copy strong,.track-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-copy strong{font-size:.94rem}.track-copy span{color:var(--text-soft);font-size:.8rem}.play-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:999px;background:#1a1a1a0f;color:var(--text);cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease}.play-button:hover,.icon-button:hover{transform:translateY(-1px);background:var(--accent);color:#fff}.icon-button--muted:hover{background:var(--success)}.add-track-card{padding:1rem;border-radius:20px;border:1px dashed rgba(26,26,26,.16);background:#f9f9f9e6}.add-track-card h3,.submit-card h3{margin:0 0 .9rem;font-size:.92rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.field-stack{display:grid;gap:.7rem}.secondary-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:16px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease}.secondary-button{padding:.85rem 1rem;background:#1a1a1a14;color:var(--text-soft)}.secondary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--accent);color:#fff}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.set-column,.set-stack{display:grid;gap:1rem}.set-card{overflow:hidden;border-radius:26px}.set-card--empty{min-height:220px;display:grid;place-items:center;gap:.45rem;padding:2rem;color:var(--text-faint);border:2px dashed rgba(26,26,26,.14);background:#ffffff8c;text-align:center}.set-card--empty strong{color:var(--text-soft);font-size:1rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.set-card--empty span{font-size:.94rem}.set-card__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem;background:var(--bg-dark);color:#fff}.set-card__label-group{display:flex;align-items:center;gap:.95rem;min-width:0}.set-card__label-group h3{margin:0;font-size:1.05rem}.set-card__label-group p{margin:.15rem 0 0;color:#ffffffb8;font-size:.9rem}.set-card__actions{display:flex;gap:.55rem}.set-card__actions .icon-button{background:#ffffff1a;color:#fff}.slot-pill{display:inline-flex;align-items:center;padding:.4rem .6rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.analysis-grid{display:grid;grid-template-columns:110px minmax(0,1fr)}.analysis-label{display:grid;place-items:center;padding:1rem;border-right:1px solid rgba(26,26,26,.06);border-bottom:1px solid rgba(26,26,26,.06);background:#1a1a1a09;color:var(--text-faint);font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.analysis-field{display:grid;grid-template-columns:110px minmax(0,1fr);border-bottom:1px solid rgba(26,26,26,.06)}.analysis-field--wide{grid-column:2}.analysis-field label{display:flex;align-items:center;padding:1rem;border-right:1px solid rgba(26,26,26,.06);background:#f9f9f9c7;color:var(--text-soft);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.analysis-field input,.analysis-field select{border:0;border-radius:0;background:transparent;padding:1rem}.analysis-field input:focus,.analysis-field select:focus{box-shadow:inset 0 0 0 1px #ec489940}.submit-card{border-top:4px solid var(--accent);border-radius:26px;padding:1.4rem}.submit-row{display:flex;gap:1rem;align-items:end}.student-field{flex:1;display:grid;gap:.45rem}.student-field span{color:var(--text-faint);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.student-field__input{display:flex;align-items:center;gap:.75rem;padding:0 1rem;border:1px solid rgba(26,26,26,.12);border-radius:16px;background:#fffffff5}.student-field__input svg{color:var(--text-faint);flex-shrink:0}.student-field__input input{border:0;background:transparent;padding:1rem 0}.student-field__input input:focus{box-shadow:none}.primary-button{padding:1rem 1.3rem;background:var(--accent);color:#fff;box-shadow:0 14px 28px #ec48993d}.primary-button:hover{transform:translateY(-1px);background:var(--accent-dark)}.primary-button:disabled{cursor:wait;opacity:.8;transform:none}.submit-note{margin:.75rem 0 0;color:var(--text-faint);font-size:.86rem}.floating-player{position:fixed;right:1.25rem;bottom:1.25rem;z-index:20;width:min(320px,calc(100vw - 2rem));border-radius:18px;overflow:hidden;background:#0f0f0f;box-shadow:0 20px 36px #00000052;border:1px solid rgba(255,255,255,.12)}.floating-player__frame{position:relative;padding-bottom:56.25%}.floating-player__frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.floating-player__close{width:100%;padding:.8rem 1rem;background:#ffffff14;color:#fff;cursor:pointer}.floating-player__close:hover{background:#ffffff24}@media (max-width: 980px){.planner-layout{grid-template-columns:1fr}.panel{position:static}.submit-row{flex-direction:column;align-items:stretch}.primary-button{width:100%}}@media (max-width: 720px){.app-shell{padding:1rem}.panel,.submit-card,.set-card{border-radius:22px}.analysis-grid{grid-template-columns:1fr}.analysis-label{border-right:0}.analysis-field,.analysis-field--wide{grid-column:auto;grid-template-columns:1fr}.analysis-field label{border-right:0;border-bottom:1px solid rgba(26,26,26,.06);padding-bottom:.7rem}.set-card__header{flex-direction:column;align-items:start}}
