/* SOFU / School Science Fight Tournament Planner Release 01 */
.sfp{--sfp-ink:#24123f;--sfp-purple:#38176c;--sfp-violet:#8560c6;--sfp-gold:#d99b4c;--sfp-soft:#f8f6fc;--sfp-border:#e6e0ef;color:var(--sfp-ink);font-family:inherit;overflow:hidden}
.sfp *{box-sizing:border-box}.sfp button,.sfp input,.sfp select{font:inherit}.sfp button{cursor:pointer}.sfp a{text-decoration:none}.sfp .sofu-container{max-width:1260px}.sfp-hero{position:relative;padding:140px 0 100px;background:radial-gradient(circle at 90% 28%,rgba(117,79,186,.36),transparent 36%),linear-gradient(130deg,#251142 5%,#3b1b6c 66%,#21103c);color:#fff;overflow:hidden}.sfp-hero:after{content:"";position:absolute;right:-14vw;bottom:-30vw;width:65vw;height:65vw;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}.sfp-topline{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.17);padding-bottom:22px;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;font-weight:850;color:#d3c6ee}.sfp-hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.18fr .72fr;gap:8%;align-items:center;margin-top:86px}.sfp-overline{font-size:.65rem;text-transform:uppercase;letter-spacing:.17em;font-weight:900;color:#dac7fa;display:flex;align-items:center;gap:10px}.sfp-signal{display:inline-block;width:9px;height:9px;background:#dfa64e;border-radius:50%;box-shadow:0 0 0 5px rgba(223,166,78,.12)}.sfp-hero h1{font-size:clamp(4rem,6vw,7.4rem);line-height:.84;letter-spacing:-.072em;margin:28px 0 32px;max-width:900px}.sfp-hero h1 em,.sfp-section-head h2 em,.sfp-outro h2 em{font-style:normal;color:#e8ae62}.sfp-hero-lead{max-width:650px;font-size:1.1rem;line-height:1.7;color:#ded6ed}.sfp-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:36px}.sfp-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 21px;border-radius:999px;border:1px solid transparent;font-size:.82rem;font-weight:850;transition:transform .23s ease,box-shadow .23s ease}.sfp-btn:hover{transform:translateY(-2px)}.sfp-btn-bright{background:#f5b85b;color:#261043!important;box-shadow:0 14px 32px rgba(14,4,29,.18)}.sfp-btn-outline{background:transparent;color:white!important;border-color:rgba(255,255,255,.45)}.sfp-btn-dark{color:#fff!important;background:#3c1a70}.sfp-privacy{margin:29px 0 0;color:#bdb0d3;font-size:.76rem}.sfp-privacy span{color:#82dbab;margin-right:8px}.sfp-hero-board{position:relative;min-height:400px;background:linear-gradient(155deg,rgba(255,255,255,.12),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.2);border-radius:34px;padding:29px 33px;box-shadow:0 50px 100px rgba(16,4,34,.26);backdrop-filter:blur(18px)}.sfp-hero-board:before{content:"";width:180px;height:180px;position:absolute;right:-35px;top:75px;border:1px dashed rgba(255,255,255,.19);border-radius:50%}.sfp-hero-board-top{display:flex;justify-content:space-between;gap:15px;color:#cfc0ea;font-size:.62rem;letter-spacing:.13em;font-weight:900}.sfp-board-big{font-size:9rem;line-height:.87;letter-spacing:-.11em;margin-top:52px;font-weight:900}.sfp-board-big span{display:inline-block;font-size:1.16rem;letter-spacing:-.02em;margin-left:18px;color:#edc58a}.sfp-board-rule{font-size:.8rem;color:#ddd0ed;margin-top:16px}.sfp-board-divider{height:1px;background:rgba(255,255,255,.16);margin:26px 0}.sfp-board-alt{display:flex;align-items:center;gap:19px}.sfp-board-alt strong{font-size:3.6rem;line-height:.9;color:#efba73}.sfp-board-alt span{font-size:.79rem;line-height:1.5;color:#dbd1ec}.sfp-board-foot{margin-top:28px;color:#a99ac8;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}
.sfp-section{padding:108px 0}.sfp-section-top{display:flex;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #dfd9e9;font-size:.63rem;text-transform:uppercase;letter-spacing:.14em;color:#705594;font-weight:900}.sfp-section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end;margin:38px 0 44px}.sfp-section-head h2{font-size:clamp(3.2rem,5.8vw,6rem);letter-spacing:-.067em;line-height:.89;margin:0}.sfp-section-head h2 em{color:#7150b2}.sfp-section-head p{max-width:450px;font-size:1.02rem;line-height:1.67;color:#685f76;margin:0 0 7px}.sfp-guide{background:linear-gradient(180deg,#faf9fd,#fff)}.sfp-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sfp-check-grid article{min-height:238px;background:#fff;border:1px solid var(--sfp-border);border-radius:24px;padding:25px;box-shadow:0 18px 45px rgba(35,20,62,.035)}.sfp-check-grid article>span{font-size:.64rem;font-weight:900;letter-spacing:.12em;color:#8b6ac2}.sfp-check-grid h3{font-size:1.35rem;line-height:1.05;margin:35px 0 13px;letter-spacing:-.035em}.sfp-check-grid p{font-size:.84rem;line-height:1.65;color:#6f6779;margin:0}.sfp-guide-ribbon{display:grid;grid-template-columns:.86fr 1fr auto;align-items:center;gap:27px;background:#2e1650;color:white;border-radius:26px;margin-top:16px;padding:26px 29px}.sfp-guide-ribbon span{font-size:.59rem;color:#bbabe5;letter-spacing:.12em;font-weight:900}.sfp-guide-ribbon strong{font-size:1.2rem;display:block;line-height:1.08;margin-top:8px}.sfp-guide-ribbon p{color:#d6cae8;font-size:.8rem;line-height:1.6;margin:0}.sfp-guide-ribbon a{font-size:.8rem;white-space:nowrap;color:#f6c88b;font-weight:850}.sfp-workshop{background:#f4effa}.sfp-workshop-main{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.sfp-workshop-rules,.sfp-workshop-example{background:#fff;border:1px solid #e6daee;border-radius:28px;padding:32px}.sfp-workshop-rules h3{font-size:1.45rem;letter-spacing:-.03em;margin:0 0 25px}.sfp-workshop-rules ol{padding:0 0 0 19px;margin:0;display:grid;gap:16px;color:#62586e;font-size:.88rem;line-height:1.55}.sfp-workshop-rules strong{color:#351d59}.sfp-workshop-label{font-size:.65rem;letter-spacing:.14em;font-weight:900;color:#7e5bb0}.sfp-problem-before,.sfp-problem-after{margin-top:18px;padding:24px;border-radius:20px}.sfp-problem-before{background:#f5f1f8}.sfp-problem-after{background:#2b1848;color:white}.sfp-problem-before small,.sfp-problem-after small{font-size:.64rem;letter-spacing:.1em;font-weight:900}.sfp-problem-before small{color:#72539a}.sfp-problem-after small{color:#dbad68}.sfp-problem-before p,.sfp-problem-after p{font-size:1.12rem;line-height:1.45;font-weight:750;letter-spacing:-.02em;margin:14px 0}.sfp-problem-before span,.sfp-problem-after span{font-size:.79rem;line-height:1.5;color:#857a91}.sfp-problem-after span{color:#d7c6ed}.sfp-subject-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.sfp-subject-examples article{padding:25px;background:rgba(255,255,255,.74);border-radius:21px;border:1px solid #e6daee}.sfp-subject-examples span{color:#8c65bd;letter-spacing:.15em;font-size:.65rem;font-weight:900}.sfp-subject-examples strong{display:block;font-size:1.23rem;margin:13px 0}.sfp-subject-examples p{color:#6d6278;font-size:.85rem;line-height:1.6;margin:0}.sfp-note{color:#7b6c89;font-size:.78rem;margin:23px 0 0}
.sfp-builder{background:#fff}.sfp-app{border:1px solid #e0d9e9;border-radius:29px;background:#f8f6fb;overflow:hidden;box-shadow:0 35px 80px rgba(33,16,57,.08);scroll-margin-top:110px}.sfp-app-top{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#291449;color:white;padding:24px 29px}.sfp-app-kicker{font-size:.59rem;letter-spacing:.14em;text-transform:uppercase;color:#c4acec;display:block;font-weight:900;margin-bottom:7px}.sfp-app-top strong{font-size:1.15rem;letter-spacing:-.02em}.sfp-app-actions{display:flex;flex-wrap:wrap;gap:8px}.sfp-app-actions button,.sfp-import-bar button,.sfp-export-bar button,.sfp-pane-foot>button:not(.sfp-btn),.sfp-generate-controls>button:not(.sfp-btn){border:1px solid #d6cde5;color:#3a215e;background:#fff;border-radius:999px;padding:10px 14px;font-size:.72rem;font-weight:850;transition:transform .22s ease}.sfp-app-actions button{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.17);color:white}.sfp-app-actions button:hover,.sfp-import-bar button:hover,.sfp-export-bar button:hover,.sfp-pane-foot>button:hover,.sfp-generate-controls>button:hover{transform:translateY(-1px)}.sfp-app-nav{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none;background:#ede7f6;border-bottom:1px solid #ded4ea}.sfp-app-nav::-webkit-scrollbar{display:none}.sfp-app-nav button{flex:1 0 auto;min-width:160px;border:0;background:transparent;padding:20px 18px;font-size:.77rem;font-weight:900;color:#827394;border-bottom:3px solid transparent}.sfp-app-nav button.is-active{background:#fff;color:#3c1b71;border-color:#c38a42}.sfp-app-message{display:none;margin:17px 28px 0;padding:12px 18px;background:#e7f4ec;color:#255d3e;border-radius:14px;font-size:.82rem}.sfp-app-message.is-visible{display:block}.sfp-app-message.is-error{background:#ffeaea;color:#8e3030}.sfp-pane{padding:34px 32px 30px}.sfp-pane[hidden]{display:none!important}.sfp-pane-head{max-width:920px}.sfp-pane-head>span{font-size:.62rem;font-weight:900;letter-spacing:.14em;color:#8665ac}.sfp-pane-head h3{font-size:clamp(1.85rem,3.1vw,2.7rem);letter-spacing:-.047em;margin:11px 0 12px;line-height:1.05}.sfp-pane-head p{font-size:.9rem;color:#6f647c;line-height:1.63;margin:0 0 25px}.sfp-format-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:25px 0}.sfp-format-choices label{position:relative;cursor:pointer}.sfp-format-choices input{position:absolute;opacity:0;pointer-events:none}.sfp-format-choices span{height:100%;display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid #ded7e9;padding:22px 18px;border-radius:17px;font-size:.92rem;font-weight:900;transition:.2s}.sfp-format-choices small{font-size:.72rem;color:#82758c;font-weight:500}.sfp-format-choices input:checked+span{border-color:#66439d;background:#f2ebff;box-shadow:0 0 0 2px #bda0e4 inset;color:#3d1d67}.sfp-format-choices input:focus-visible+span{outline:3px solid #e8a94c;outline-offset:2px}.sfp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.sfp-form-grid label{font-size:.75rem;font-weight:850;color:#59466c;display:flex;flex-direction:column;gap:8px}.sfp-form-grid input,.sfp-form-grid select{background:white;border:1px solid #d8d0e2;border-radius:13px;min-height:48px;padding:11px 15px;color:#321f54;max-width:100%;width:100%}.sfp-explain{background:#eee8f8;border-left:3px solid #956cce;border-radius:8px;padding:17px 19px;margin-top:23px;color:#4e3964;font-size:.84rem}.sfp-pane-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:29px;padding-top:24px;border-top:1px solid #e1d8eb}.sfp-pane-foot span{color:#82738f;font-size:.78rem}.sfp-import-bar,.sfp-export-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:17px}.sfp-upload{display:inline-flex;align-items:center;gap:8px;position:relative;background:#3b1b6d;color:white!important;border-radius:999px;padding:11px 17px;font-size:.77rem;font-weight:850;cursor:pointer}.sfp-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.sfp-table-scroll{overflow-x:auto;background:white;border:1px solid #ded7e6;border-radius:19px}.sfp-edit-table{width:100%;border-collapse:collapse}.sfp-edit-table th{padding:14px 14px;text-align:left;background:#f1edf7;color:#745d8e;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.sfp-edit-table td{padding:9px 10px;border-top:1px solid #efeaf4}.sfp-edit-table input{width:100%;min-width:120px;border:1px solid transparent;padding:10px;border-radius:9px;background:#faf8fd;font-size:.8rem;color:#33204e}.sfp-edit-table input:focus{outline:2px solid #9774cd;background:white}.sfp-edit-table button{border:0;background:#f9ebea;color:#9a3b42;border-radius:10px;padding:7px 12px;font-size:1.1rem}.sfp-table-empty{text-align:center;padding:34px!important;color:#82758d;font-size:.85rem}.sfp-status-strip{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border:1px solid #ded7e7;border-radius:13px;margin-top:13px;background:#fff;padding:13px 16px;font-size:.76rem;color:#766785}.sfp-status-strip strong{color:#392356}.sfp-status-strip .sfp-error{color:#af3f3f}.sfp-field-help{font-size:.76rem;color:#786d84;line-height:1.6}.sfp-generate-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 26px}.sfp-generate-controls>span{font-size:.72rem;color:#826f93}.sfp-empty{padding:30px;border:1px dashed #d5c7e2;border-radius:15px;text-align:center;color:#8b7a9a}.sfp-results-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:15px}.sfp-results-summary>div{border:1px solid #e6dff0;border-radius:15px;padding:18px;background:#fff}.sfp-results-summary strong{display:block;font-size:2.5rem;letter-spacing:-.08em;line-height:.9;color:#552b84}.sfp-results-summary span{display:block;margin-top:10px;font-size:.68rem;color:#7c7087}.sfp-results-alert{border-radius:14px;padding:14px 20px;margin-bottom:22px;background:#fff2e1;color:#83501f;font-size:.81rem}.sfp-results-alert.is-clear{background:#e9f5ec;color:#326b46}.sfp-results-alert p{margin:4px 0}.sfp-round{margin-top:30px}.sfp-round-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:1px solid #dfd7e6;margin-bottom:15px;padding-bottom:12px}.sfp-round-header h4{font-size:1.5rem;margin:0;letter-spacing:-.04em}.sfp-round-header span{font-size:.76rem;color:#796b86}.sfp-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sfp-room-card{background:#fff;border:1px solid #e1d9e9;border-radius:19px;padding:18px 18px 14px;min-width:0}.sfp-room-top{display:flex;justify-content:space-between;gap:7px;margin-bottom:14px;font-size:.62rem;font-weight:900;color:#865bb1;letter-spacing:.12em}.sfp-room-top b{color:#a79ab7}.sfp-room-teams{display:grid;gap:10px}.sfp-room-teams>div{padding-bottom:10px;border-bottom:1px solid #eeeaf3}.sfp-room-teams small{display:block;font-size:.62rem;color:#8970a3;text-transform:uppercase;font-weight:900}.sfp-room-teams strong{display:block;font-size:.94rem;margin:3px 0;overflow-wrap:anywhere}.sfp-room-teams em{display:block;font-size:.7rem;color:#7d7485;font-style:normal}.sfp-room-jurors{display:grid;gap:4px;padding-top:13px;font-size:.79rem;overflow-wrap:anywhere}.sfp-room-jurors small{font-size:.6rem;letter-spacing:.1em;color:#8c79a4;font-weight:900}.sfp-room-jurors b{color:#aa5038;font-size:.73rem}.sfp-export-bar{padding:23px;border-radius:17px;background:#e9e2f3;margin-top:25px}.sfp-export-bar[hidden]{display:none!important}.sfp-export-bar strong{flex:1 1 100%;font-size:.9rem;margin-bottom:6px}.sfp-outro{background:#271442;color:#fff;padding:85px 0}.sfp-outro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end}.sfp-outro span{font-size:.68rem;color:#b9a3df;letter-spacing:.14em;font-weight:900}.sfp-outro h2{font-size:clamp(3rem,5vw,5rem);line-height:.9;letter-spacing:-.058em;margin:18px 0 0}.sfp-outro p{color:#d8cdea;line-height:1.7}.sfp-outro a{display:inline-block;color:#f2b763;font-weight:900;margin-top:15px}
@media(max-width:1080px){.sfp-hero-layout{grid-template-columns:1.2fr .85fr;gap:4%}.sfp-hero h1{font-size:clamp(3.6rem,6.5vw,6rem)}.sfp-guide-ribbon{grid-template-columns:1fr 1fr}.sfp-guide-ribbon a{grid-column:1/-1}.sfp-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfp-desktop-academies-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.sfp-hero{padding:112px 0 65px}.sfp-topline{font-size:.57rem}.sfp-topline span:last-child{display:none}.sfp-hero-layout{grid-template-columns:1fr;gap:33px;margin-top:45px}.sfp-hero h1{font-size:clamp(3.8rem,12vw,6rem);margin:20px 0 23px}.sfp-hero-lead{font-size:.96rem}.sfp-hero-board{min-height:auto;padding:24px;display:grid;grid-template-columns:1fr auto;column-gap:10px}.sfp-board-big{font-size:5.5rem;margin-top:22px;grid-column:1/-1}.sfp-board-rule{grid-column:1/-1}.sfp-board-divider{grid-column:1/-1;margin:15px 0}.sfp-board-alt{grid-column:1/-1}.sfp-board-foot{grid-column:1/-1;margin-top:19px}.sfp-section{padding:76px 0}.sfp-section-head{grid-template-columns:1fr;gap:21px;margin:26px 0 32px}.sfp-section-head h2{font-size:clamp(3rem,9vw,5rem)}.sfp-section-head p{font-size:.93rem}.sfp-check-grid,.sfp-subject-examples{grid-template-columns:repeat(2,minmax(0,1fr))}.sfp-guide-ribbon{grid-template-columns:1fr}.sfp-guide-ribbon a{grid-column:auto}.sfp-workshop-main{grid-template-columns:1fr}.sfp-format-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.sfp-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfp-results-summary{grid-template-columns:repeat(3,1fr)}.sfp-outro-grid{grid-template-columns:1fr;gap:23px}}
@media(max-width:580px){.sfp-hero{padding:104px 0 44px}.sfp-hero h1{font-size:clamp(3.45rem,14vw,4.65rem)}.sfp-hero-actions{display:grid;grid-template-columns:1fr 1fr}.sfp-hero-actions .sfp-btn{font-size:.72rem;padding:13px 12px;gap:5px}.sfp-hero-board{border-radius:24px}.sfp-section{padding:64px 0}.sfp-section-head h2{font-size:clamp(2.85rem,12vw,3.75rem)}.sfp-check-grid,.sfp-subject-examples{grid-template-columns:1fr}.sfp-check-grid article{min-height:unset;padding:22px}.sfp-check-grid h3{margin:22px 0 9px}.sfp-guide-ribbon{padding:23px;border-radius:20px}.sfp-workshop-rules,.sfp-workshop-example{padding:23px}.sfp-app{border-radius:22px;margin:0 -3px}.sfp-app-top{padding:20px 18px;flex-direction:column;align-items:flex-start}.sfp-app-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.sfp-app-actions button{font-size:.67rem;padding:10px 7px}.sfp-app-actions button:first-child{grid-column:1}.sfp-app-nav button{min-width:134px;padding:17px 11px;font-size:.72rem}.sfp-pane{padding:25px 17px}.sfp-pane-head h3{font-size:1.98rem}.sfp-pane-head p{font-size:.82rem}.sfp-format-choices span{padding:17px 11px;font-size:.82rem}.sfp-format-choices small{font-size:.66rem}.sfp-form-grid{grid-template-columns:1fr}.sfp-import-bar{display:grid;grid-template-columns:1fr 1fr}.sfp-import-bar .sfp-upload{grid-column:1/-1;justify-content:center}.sfp-import-bar button{font-size:.68rem;padding:11px 8px}.sfp-table-scroll{margin:0 -5px}.sfp-edit-table th,.sfp-edit-table td{white-space:nowrap}.sfp-edit-table input{min-width:130px}.sfp-results-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sfp-results-summary strong{font-size:2.2rem}.sfp-round-header{display:block}.sfp-round-header span{display:block;margin-top:6px}.sfp-room-grid{grid-template-columns:1fr}.sfp-generate-controls .sfp-btn{width:100%}.sfp-export-bar{padding:17px}.sfp-export-bar button{flex:1 1 44%}.sfp-outro h2{font-size:3.4rem}}
@media(prefers-reduced-motion:reduce){.sfp .sfp-btn,.sfp-format-choices span{transition:none}}

/* Release 02 — Tournament execution, scorekeeping, conflict-safe operations. */
.sfp-app-nav{overflow-x:auto;scrollbar-width:none}.sfp-app-nav::-webkit-scrollbar{display:none}.sfp-app-nav button{white-space:nowrap;flex:1 0 auto}
.sfp-execution-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:22px 0 24px}
.sfp-execution-help>div{padding:17px 18px;border:1px solid #e3dbee;border-radius:15px;background:#fff;display:grid;gap:5px}
.sfp-execution-help strong{color:#321754;font-size:.96rem}.sfp-execution-help span{color:#7c6a8e;font-size:.73rem}
.sfp-run-controls{display:flex;gap:13px;align-items:end;flex-wrap:wrap;margin:20px 0}
.sfp-run-controls label,.sfp-change-card label{display:grid;gap:7px;font-size:.73rem;font-weight:850;color:#665276}
.sfp-run-controls select,.sfp-change-card select,.sfp-change-card input,.sfp-live-team select,.sfp-live-team input,.sfp-room-notes-label textarea{border:1px solid #dacfe8;border-radius:11px;padding:12px 13px;min-height:43px;max-width:100%;width:100%;color:#29133d;background:#fff}
.sfp-run-controls select{min-width:150px}.sfp-run-controls button{border:1px solid #d8c9eb;background:#f5f0fb;border-radius:11px;padding:12px 15px;font-weight:850;color:#4a2b74;font-size:.74rem}
.sfp-room-control-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;background:#eee8f7;padding:23px;border-radius:20px;margin:20px 0 13px}
.sfp-room-control-heading span,.sfp-operation-box>div:first-child>span{font-size:.62rem;letter-spacing:.12em;color:#6f468f;font-weight:900}
.sfp-room-control-heading h4{font-size:1.75rem;letter-spacing:-.04em;margin:6px 0}.sfp-room-control-heading p{margin:0;color:#736084;font-size:.8rem}
.sfp-live-status{border-radius:999px;padding:10px 13px;text-align:center;background:#f5e2bc;color:#745122;font-size:.7rem;font-weight:850;flex:0 0 auto}
.sfp-live-status.is-ready{background:#d4f1dd;color:#1c6b40}
.sfp-live-team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sfp-live-team{background:#fff;border:1px solid #e5dbef;border-radius:20px;padding:20px;min-width:0;display:flex;flex-direction:column;gap:14px}
.sfp-live-team-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.sfp-live-team-head>div>span{font-size:.62rem;color:#8556b0;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.sfp-live-team h5{font-size:1.28rem;margin:5px 0 4px;letter-spacing:-.03em;overflow-wrap:anywhere}.sfp-live-team-head small{font-size:.7rem;color:#897a96}
.sfp-live-team-head label{display:grid;gap:4px;font-size:.7rem;color:#73647e;font-weight:850}
.sfp-live-team select{min-height:37px;padding:6px 9px;font-size:.73rem}
.sfp-live-marks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.sfp-live-marks label{display:grid;gap:8px;color:#655372;font-weight:800;font-size:.77rem;min-width:0}
.sfp-live-marks input{font-size:1rem;font-weight:900;max-width:100%}.sfp-live-marks input:disabled{opacity:.45}
.sfp-live-team-actions{margin-top:auto;padding-top:10px;border-top:1px solid #eee7f6;display:grid;gap:7px}
.sfp-live-team-actions button{justify-self:start;background:transparent;color:#975f28;border:0;padding:5px 0;font-size:.72rem;font-weight:850;text-decoration:underline;cursor:pointer}
.sfp-live-team-actions button.is-forfeit{color:#8b3239}.sfp-live-team-actions small{color:#b05c36;font-size:.7rem}
.sfp-forfeit-label{background:#fff0eb;border-radius:10px;padding:12px;color:#883a37;font-weight:850;font-size:.77rem}
.sfp-live-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0}
.sfp-room-notes-label{display:grid;gap:9px;color:#675372;font-size:.77rem;font-weight:850}
.sfp-room-notes-label textarea{resize:vertical;min-height:100px;font-weight:400}
.sfp-live-status-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:start;align-content:start}
.sfp-live-status-actions button,.sfp-operation-actions button,.sfp-change-card button{background:#3d1a6a;color:white;border:0;border-radius:11px;padding:12px 15px;font-size:.76rem;font-weight:850;cursor:pointer}
.sfp-live-status-actions button:disabled,.sfp-change-card button:disabled{opacity:.35;cursor:not-allowed}
.sfp-live-errors{border-left:3px solid #c18b36;background:#fff6e6;padding:16px 20px;border-radius:12px;font-size:.78rem;color:#6d481a}
.sfp-live-errors ul{margin:10px 0 0 18px;padding:0}.sfp-live-errors li{margin:5px 0}
.sfp-operation-box{background:#f7f3fb;border:1px solid #dfd5ec;border-radius:20px;padding:20px;margin-top:22px;display:grid;gap:15px}
.sfp-operation-box h4{font-size:1.35rem;letter-spacing:-.02em;margin:7px 0}
.sfp-operation-box p{max-width:850px;color:#70627e;font-size:.8rem;line-height:1.65;margin:0}
.sfp-operation-actions{display:flex;flex-wrap:wrap;gap:10px}.sfp-operation-actions .sfp-danger-btn{background:#953d48}
#sfp-changes{border-top:1px solid #e2d5ed;padding-top:18px}#sfp-changes[hidden]{display:none}
#sfp-changes>h4{font-size:1.2rem;margin:0 0 9px}
.sfp-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:17px}
.sfp-change-card{background:white;border:1px solid #e5dced;padding:19px;border-radius:16px;display:grid;gap:11px;min-width:0;align-content:start}
.sfp-change-card h5{font-size:1rem;margin:0;letter-spacing:-.02em}.sfp-change-card p{font-size:.72rem}.sfp-change-card select,.sfp-change-card input{font-weight:400;font-size:.8rem}
.sfp-results-status{display:flex;justify-content:space-between;align-items:center;gap:25px;border-radius:20px;background:#fff2de;padding:24px;margin:20px 0}
.sfp-results-status.is-final{background:#e6f5e9}.sfp-results-status>div>span{font-size:.62rem;font-weight:900;letter-spacing:.11em;color:#866038}
.sfp-results-status.is-final>div>span{color:#236743}.sfp-results-status h4{font-size:1.38rem;margin:7px 0}.sfp-results-status p{font-size:.82rem;color:#775f49;line-height:1.6;margin:0}
.sfp-results-status.is-final p{color:#486b52}.sfp-results-status>strong{font-size:3.3rem;white-space:nowrap;letter-spacing:-.09em;color:#513179}
.sfp-final-table{border-collapse:collapse;min-width:680px;width:100%;background:white}.sfp-final-table th{font-size:.65rem;letter-spacing:.07em;text-transform:uppercase;text-align:left;color:#71578b;background:#f1ebf8;padding:13px 12px}
.sfp-final-table td{font-size:.8rem;border-top:1px solid #e6dfed;padding:13px 12px;white-space:nowrap;color:#4a395d}
.sfp-final-table td strong{color:#27143e}.sfp-results-footnote{font-size:.76rem;color:#786885;line-height:1.65;margin:17px 0}
.sfp-results-issues{border:1px solid #eedbbb;background:#fff9ef;padding:15px 18px;border-radius:14px;font-size:.8rem;margin-top:20px}.sfp-results-issues summary{cursor:pointer;font-weight:850}
.sfp-results-issues ul{padding-left:20px}.sfp-results-issues li{padding:4px 0}
.sfp-final-downloads button:disabled{opacity:.45;cursor:not-allowed}
.sfp-problem-lab{margin-top:28px;background:linear-gradient(145deg,#281442,#45216f);color:#fff;border-radius:25px;padding:30px}
.sfp-problem-lab-intro>span{color:#d9b875;font-size:.62rem;letter-spacing:.14em;font-weight:900}
.sfp-problem-lab-intro h3{font-size:clamp(1.7rem,3vw,2.8rem);margin:12px 0;letter-spacing:-.04em;max-width:760px}
.sfp-problem-lab-intro p{color:#dfd2ea;max-width:730px;font-size:.88rem;line-height:1.65}
.sfp-problem-lab-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:25px 0}
.sfp-problem-lab-checks label{display:flex;align-items:start;gap:12px;border:1px solid #655084;border-radius:15px;background:#ffffff10;padding:15px;cursor:pointer}
.sfp-problem-lab-checks input{accent-color:#eab56c;width:19px;height:19px;flex:0 0 auto;margin:4px 0 0}
.sfp-problem-lab-checks span{display:grid;gap:6px}.sfp-problem-lab-checks strong{font-size:.89rem;color:#fff}.sfp-problem-lab-checks small{font-size:.75rem;line-height:1.55;color:#cfc3df}
.sfp-problem-lab-result{background:#ffffff16;border-radius:16px;padding:18px}.sfp-problem-lab-result p{margin:7px 0 0;font-size:.83rem;color:#e1d5e8}
.sfp-problem-lab-extras{margin-top:16px;border:1px solid #76618f;border-radius:15px;padding:15px 18px}.sfp-problem-lab-extras summary{cursor:pointer;font-size:.85rem;font-weight:850}
.sfp-problem-lab-extras summary span{float:right}.sfp-problem-lab-extras p{color:#dccfe5;font-size:.83rem;line-height:1.65}
@media(max-width:900px){.sfp-change-grid{grid-template-columns:1fr 1fr}.sfp-live-team-list{grid-template-columns:1fr}}
@media(max-width:650px){.sfp-execution-help{grid-template-columns:1fr 1fr}.sfp-execution-help>div:last-child{grid-column:1/-1}.sfp-room-control-heading{flex-direction:column}.sfp-run-controls{display:grid;grid-template-columns:1fr 1fr}.sfp-run-controls button{grid-column:1/-1}.sfp-run-controls select{min-width:0}.sfp-live-team-head{flex-wrap:wrap}.sfp-live-team-head label{width:100%}.sfp-live-bottom{grid-template-columns:1fr}.sfp-live-status-actions{display:grid;grid-template-columns:1fr 1fr}.sfp-live-status-actions button{padding:11px}.sfp-change-grid{grid-template-columns:1fr}.sfp-results-status>strong{font-size:2.4rem}.sfp-problem-lab{padding:22px}.sfp-problem-lab-checks{grid-template-columns:1fr}.sfp-results-status{align-items:start}}

.sfp-execution-help>[hidden]{display:none!important}

/* v2.3.24 — Weeks-before-event interactive planning guide. */
.sfp-plan-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:22px;margin:0 0 20px;align-items:stretch}
.sfp-plan-intro-title{position:relative;overflow:hidden;padding:32px 35px;background:linear-gradient(135deg,#30194d,#4c2876);border-radius:26px;color:#fff}
.sfp-plan-intro-title:after{content:"";position:absolute;right:-110px;top:-130px;width:330px;height:330px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.018),0 0 0 120px rgba(255,255,255,.014);pointer-events:none}
.sfp-plan-intro-title>span{display:block;font-size:.63rem;color:#ebbe7e;letter-spacing:.14em;font-weight:900}
.sfp-plan-intro-title h3{position:relative;z-index:1;margin:20px 0 15px;font-size:clamp(1.8rem,3vw,3.05rem);line-height:.99;letter-spacing:-.05em;max-width:690px}
.sfp-plan-intro-title p{position:relative;z-index:1;max-width:670px;color:#e1d9ef;font-size:.86rem;line-height:1.7;margin:0}
.sfp-plan-controls{display:flex;flex-direction:column;gap:12px;padding:25px 27px;border:1px solid #e5deee;background:#fff;border-radius:26px;min-width:0}
.sfp-plan-controls label{display:grid;gap:10px;font-size:.73rem;font-weight:900;color:#58446e}
.sfp-plan-controls select{width:100%;border:1px solid #d6c9e7;background:#f9f6fc;padding:12px 15px;border-radius:12px;color:#351d52;min-height:47px;font-weight:800;font-size:.82rem}
.sfp-plan-date-note{font-size:.74rem;color:#776b84;line-height:1.55;flex:1}
.sfp-plan-print{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-radius:12px;background:#351957;color:#fff;padding:13px 16px;font-size:.79rem;font-weight:900}
.sfp-plan-print:hover{background:#4e2a79}.sfp-plan-print span{color:#efba74;font-size:1.05rem}
.sfp-plan-roadmap{border:1px solid #e5ddec;background:#fff;border-radius:29px;overflow:hidden;box-shadow:0 18px 70px rgba(40,20,68,.05)}
.sfp-plan-progress{display:grid;grid-template-columns:auto minmax(160px,1fr);align-items:center;gap:40px;background:#f2eef8;padding:22px 30px}
.sfp-plan-progress>div:first-child{display:grid;gap:6px}.sfp-plan-progress>div:first-child>span{color:#77549e;font-size:.59rem;letter-spacing:.13em;font-weight:900}
.sfp-plan-progress strong{font-size:1.1rem;color:#371e59}.sfp-plan-progress-meter{height:10px;border-radius:99px;background:#dfd2eb;overflow:hidden;position:relative}
.sfp-plan-progress-meter span{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#6e42ae,#d2a056);transition:width .34s ease}
.sfp-plan-week-selector{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:21px 26px 18px;background:#fff;border-bottom:1px solid #e9e2f1}
.sfp-plan-week-tab{flex:1 0 139px;max-width:260px;scroll-snap-align:start;border:1px solid #e6deee;border-radius:16px;text-align:left;background:#f9f7fc;color:#38214f;display:flex;flex-direction:column;min-height:131px;padding:18px 16px;gap:8px;transition:background .23s,border-color .23s,transform .23s,box-shadow .23s}
.sfp-plan-week-tab:hover{border-color:#a78bc8;transform:translateY(-2px)}.sfp-plan-week-tab.is-active{border-color:#4b2678;background:#3b205d;color:#fff;box-shadow:0 9px 23px rgba(49,23,82,.15)}
.sfp-plan-week-tab small{color:#8162a5;font-size:.62rem;font-weight:900;letter-spacing:.14em}.sfp-plan-week-tab.is-active small{color:#efbf81}
.sfp-plan-week-tab strong{font-size:.87rem;line-height:1.15;letter-spacing:-.01em}.sfp-plan-week-tab span{font-size:.65rem;color:#887995;margin-top:auto;font-weight:800}.sfp-plan-week-tab.is-active span{color:#d7c8eb}.sfp-plan-week-tab.is-complete:not(.is-active){background:#f0faf2;border-color:#b4d8bd}.sfp-plan-week-tab.is-complete:not(.is-active) span{color:#257a45}
.sfp-plan-week-content{padding:30px 31px 26px}.sfp-plan-detail-head{display:flex;gap:35px;justify-content:space-between;align-items:end;margin-bottom:25px}
.sfp-plan-detail-head>div:first-child{min-width:0;flex:1}.sfp-plan-detail-head>div:first-child>span{font-size:.61rem;letter-spacing:.14em;color:#8c66b7;font-weight:900}
.sfp-plan-detail-head h3{margin:11px 0 10px;color:#30174f;font-size:clamp(1.9rem,3.3vw,3.4rem);letter-spacing:-.05em;line-height:.99}
.sfp-plan-detail-head p{color:#736680;font-size:.86rem;line-height:1.6;max-width:600px;margin:0}
.sfp-plan-calendar{display:grid;gap:7px;background:#f4eef9;padding:16px 20px;border-radius:14px;min-width:245px;max-width:330px}
.sfp-plan-calendar span{color:#7c5f9a;font-size:.57rem;letter-spacing:.12em;font-weight:900}.sfp-plan-calendar strong{color:#4d316c;line-height:1.4;font-size:.85rem}
.sfp-plan-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.sfp-plan-task{min-width:0;display:flex;align-items:flex-start;gap:15px;background:#fbf9fd;border:1px solid #e7e0ee;border-radius:18px;padding:19px 19px 17px;transition:border-color .18s,background .18s;cursor:pointer}
.sfp-plan-task:hover{border-color:#b4a0cf}.sfp-plan-task.is-done{background:#f1f8f1;border-color:#b8d9bd}
.sfp-plan-task input{flex:0 0 auto;width:21px;height:21px;margin:2px 0 0;accent-color:#4e2a7c;cursor:pointer}
.sfp-plan-task-copy{display:flex;flex-direction:column;min-width:0;gap:8px}.sfp-plan-task-copy>small{color:#8e5eaf;font-size:.58rem;letter-spacing:.13em;font-weight:900}.sfp-plan-task.is-done .sfp-plan-task-copy>small{color:#4b8e5c}
.sfp-plan-task-copy>strong{font-size:1.01rem;color:#332047;line-height:1.18;letter-spacing:-.018em}.sfp-plan-task-copy>span:not(.sfp-plan-task-meta){font-size:.77rem;line-height:1.57;color:#756c7d}
.sfp-plan-task-meta{display:flex;flex-wrap:wrap;gap:4px 7px;align-items:baseline;margin-top:auto;padding-top:12px;border-top:1px solid #e5deeb;font-size:.65rem;line-height:1.5;color:#675776}
.sfp-plan-task-meta b{font-size:.54rem;color:#8966ab;letter-spacing:.08em;margin-left:5px}.sfp-plan-task-meta b:first-child{margin-left:0}
.sfp-plan-detail-actions{display:flex;justify-content:space-between;gap:15px;margin-top:22px}
.sfp-plan-detail-actions button{border:1px solid #d8cae7;background:#fff;border-radius:99px;padding:12px 20px;font-size:.78rem;font-weight:850;color:#4a286c}
.sfp-plan-detail-actions button:hover:not(:disabled){background:#eee8f6}.sfp-plan-detail-actions button:disabled{opacity:.3;cursor:not-allowed}
.sfp-plan-roadmap-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 29px;background:#f7f4fa;border-top:1px solid #e5ddec}
.sfp-plan-roadmap-foot p{color:#746781;line-height:1.6;font-size:.74rem;max-width:770px;margin:0}.sfp-plan-roadmap-foot strong{color:#442366}
.sfp-plan-roadmap-foot a{display:inline-flex;gap:18px;align-items:center;white-space:nowrap;padding:12px 18px;border-radius:99px;background:#351957;color:#fff;font-size:.74rem;font-weight:850}
.sfp-plan-roadmap-foot a span{color:#efbd80}
@media(max-width:960px){.sfp-plan-intro{grid-template-columns:1fr}.sfp-plan-controls{display:grid;grid-template-columns:1fr 1fr;align-items:end}.sfp-plan-controls label{grid-row:span 2}.sfp-plan-date-note{align-self:end}.sfp-plan-week-tab{flex:0 0 175px}.sfp-plan-detail-head{align-items:stretch;flex-direction:column;gap:17px}.sfp-plan-calendar{max-width:none}}
@media(max-width:680px){.sfp-plan-intro-title{padding:26px 23px}.sfp-plan-intro-title h3{font-size:2rem}.sfp-plan-controls{display:flex;padding:22px}.sfp-plan-progress{grid-template-columns:1fr;gap:12px;padding:21px 22px}.sfp-plan-week-selector{margin:0;padding:18px 17px;gap:8px}.sfp-plan-week-tab{flex:0 0 168px;min-height:126px;padding:17px 15px}.sfp-plan-week-content{padding:25px 18px}.sfp-plan-task-list{grid-template-columns:1fr}.sfp-plan-task{padding:18px 15px}.sfp-plan-detail-head h3{font-size:2.25rem}.sfp-plan-calendar{padding:15px}.sfp-plan-roadmap-foot{flex-direction:column;align-items:stretch;padding:19px 20px}.sfp-plan-roadmap-foot a{justify-content:space-between}.sfp-plan-detail-actions button{font-size:.72rem;padding:12px 15px}}
@media(prefers-reduced-motion:reduce){.sfp-plan-progress-meter span,.sfp-plan-week-tab{transition:none}}
.sfp-plan-week-tab:focus-visible,.sfp-plan-print:focus-visible,.sfp-plan-detail-actions button:focus-visible{outline:3px solid #ce985b;outline-offset:3px}
