:root{--blue:#212274;--blue-deep:#171856;--mint:#adeacc;--mint-soft:#eafaf3;--ink:#1c2140;--muted:#66708b;--line:#dfe3ee;--surface:#f6f7fb;--danger:#a12535;--shadow:0 18px 50px #2122741a}*{box-sizing:border-box}html{background:var(--surface);min-height:100%}body{min-height:100%;color:var(--ink);background:var(--surface);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}h1,h2,h3,p{margin-top:0}.workshop-shell{width:min(1220px,100%);min-height:100vh;margin:0 auto;padding:24px clamp(18px,4vw,56px) 56px}.brand-bar,.admin-topbar{justify-content:space-between;align-items:center;gap:24px;min-height:58px;display:flex}.brand{color:var(--blue);background:0 0;border:0;align-items:center;gap:11px;padding:0;text-decoration:none;display:inline-flex}.brand-mark{background:var(--blue);width:38px;height:38px;color:var(--mint);border-radius:12px;place-items:center;font-size:1.1rem;font-weight:900;display:grid}.large-mark{border-radius:16px;width:54px;height:54px;margin:0 auto 18px}.brand>span:last-child{text-align:left;line-height:1.05;display:grid}.brand strong{letter-spacing:-.02em;font-size:1rem}.brand small{color:var(--muted);margin-top:4px;font-size:.75rem}.process-mini{color:var(--blue);align-items:center;gap:8px;font-size:.75rem;font-weight:800;display:flex}.process-mini i{background:var(--mint);width:18px;height:1px}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px;font-size:.78rem;font-weight:850}h1{color:var(--blue);letter-spacing:-.055em;margin-bottom:18px;font-size:clamp(2.35rem,6vw,5.2rem);line-height:.96}h2{color:var(--blue);letter-spacing:-.035em;font-size:clamp(1.45rem,3vw,2.1rem)}.lead{color:var(--muted);font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.6}.lead.compact{max-width:720px;font-size:1rem}.welcome-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(44px,8vw,110px);min-height:calc(100vh - 110px);padding:60px 0 90px;display:grid}.welcome-copy h1{max-width:760px}.welcome-copy .lead{max-width:670px}.choice-stack{gap:14px;display:grid}.choice-card{border:1px solid var(--line);width:100%;color:var(--ink);box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:18px;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:22px;display:grid}.static-choice{cursor:default}.choice-number{color:var(--blue);font-size:.75rem;font-weight:850}.choice-card>span:nth-child(2){gap:7px;display:grid}.choice-card strong{color:var(--blue);font-size:1.05rem}.choice-card small{color:var(--muted);font-size:.88rem;line-height:1.45}.home-admin-link{justify-content:center;text-decoration:none;display:inline-flex}.process-large{align-items:center;gap:11px;margin:32px 0;display:flex}.process-large span{border:1px solid var(--line);width:58px;height:58px;color:var(--blue);background:#fff;border-radius:50%;place-items:center;font-weight:850;display:grid}.process-large span:not(:last-child):after{content:"";background:var(--mint);width:12px;height:1px;position:absolute;transform:translate(35px)}.process-large .is-final{background:var(--blue);color:var(--mint);border-color:var(--blue)}.button{border:1px solid #0000;border-radius:999px;min-height:48px;padding:12px 22px;font-weight:780;transition:all .2s}.button-primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px #2122742e}.button-primary:hover{background:var(--blue-deep);transform:translateY(-1px)}.button-quiet{border-color:var(--line);color:var(--blue);background:0 0}.button-quiet:hover{border-color:var(--blue);background:#fff}.session-welcome{align-content:center;justify-items:start;max-width:880px;min-height:calc(100vh - 120px);padding:60px 0;display:grid}.session-welcome h1{font-size:clamp(2.1rem,5vw,4.5rem)}.session-name{background:var(--mint-soft);color:var(--blue);border-radius:999px;margin-bottom:22px;padding:7px 11px;font-size:.86rem;font-weight:800}.time-note{color:var(--muted);margin-bottom:28px;font-size:.9rem}.exercise-screen{padding:36px 0 80px}.exercise-screen.narrow{width:min(850px,100%);margin:0 auto}.exercise-screen h1{font-size:clamp(2rem,5vw,3.8rem)}.progress-wrap{gap:8px;margin-bottom:46px;display:grid}.progress-copy{color:var(--muted);justify-content:space-between;font-size:.78rem;font-weight:750;display:flex}.progress-track{background:#e5e8f0;border-radius:999px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), #5556aa);height:100%;transition:width .25s;display:block}.question-banner{border-left:4px solid var(--mint);background:#fff;border-radius:0 12px 12px 0;gap:6px;margin:24px 0;padding:18px 20px;display:grid}.question-banner span{color:var(--muted);font-size:.75rem;font-weight:750}.question-banner strong{color:var(--blue);font-size:1.05rem;line-height:1.45}.word-grid,.starter-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:28px 0;display:grid}.numbered-field,.starter-grid label{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:42px 1fr;align-items:center;display:grid;overflow:hidden}.numbered-field span,.starter-grid label span{color:var(--blue);text-align:center;font-size:.72rem;font-weight:850}.numbered-field input,.starter-grid input{border:0;border-left:1px solid var(--line);min-width:0;color:var(--ink);background:0 0;outline:0;padding:13px}.numbered-field:focus-within,.starter-grid label:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #21227414}.action-row{align-items:center;gap:12px;margin-top:24px;display:flex}.action-row.split{justify-content:space-between}.action-row.end{justify-content:flex-end}.error{color:#9d2638;font-size:.9rem;font-weight:700}.prompt{color:var(--muted);font-size:1rem;line-height:1.5}.prompt.centered,.reduction-screen>h1,.reduction-screen>.eyebrow{text-align:center}.pairing{grid-template-columns:1fr 32px 1fr;align-items:stretch;gap:14px;margin:36px 0 24px;display:grid}.term-card{border:1px solid var(--line);min-height:150px;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;align-content:center;justify-items:center;gap:12px;padding:24px;display:grid}.term-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.term-card strong{color:var(--blue);overflow-wrap:anywhere;font-size:clamp(1.3rem,3vw,2rem)}.plus{color:var(--blue);text-align:center;align-self:center;font-size:1.6rem}.connection-field{gap:8px;max-width:560px;margin:0 auto;display:grid}.connection-field span,.field span{color:var(--blue);font-size:.82rem;font-weight:780}.connection-field input{border:2px solid var(--blue);width:100%;color:var(--ink);text-align:center;background:#fff;border-radius:14px;outline:0;padding:16px;font-size:1.1rem}.review-intro{justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px;display:flex}.review-intro h1{margin:0}.review-intro>p{max-width:440px;color:var(--muted);line-height:1.55}.tree-review{gap:12px;display:grid}.tree-stage{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px}.tree-stage header{justify-content:space-between;margin-bottom:12px;display:flex}.tree-stage header span{color:var(--blue);font-weight:800}.tree-stage header small{color:var(--muted)}.tree-stage>div{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.tree-stage.stage-1>div,.tree-stage.stage-2>div{grid-template-columns:repeat(4,1fr)}.tree-stage.stage-3>div{grid-template-columns:repeat(2,1fr)}.tree-stage.stage-4>div{grid-template-columns:1fr}.tree-stage label{border:1px solid var(--line);border-radius:8px;grid-template-columns:26px 1fr;align-items:center;display:grid;overflow:hidden}.tree-stage label span{color:var(--muted);text-align:center;font-size:.7rem}.tree-stage input{border:0;border-left:1px solid var(--line);background:0 0;outline:0;min-width:0;padding:9px}.tree-stage input[readonly]{color:var(--muted);background:#f8f9fc}.submit-panel{background:var(--mint);border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:24px;padding:24px;display:grid}.submit-panel .action-row{margin:0}.final-word{color:var(--blue);font-size:clamp(1.8rem,4vw,3rem)}.completion-screen,.center-state{text-align:center;place-items:center;min-height:calc(100vh - 80px);display:grid}.completion-screen{align-content:center}.completion-screen>*{max-width:720px}.completion-screen h1{font-size:clamp(1.8rem,4vw,3rem)}.success-ring{background:var(--mint);width:74px;height:74px;color:var(--blue);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:2rem;font-weight:900;display:grid}.result-word{color:var(--blue);letter-spacing:-.05em;overflow-wrap:anywhere;font-size:clamp(3rem,9vw,7rem);line-height:1}.participant-id{border:1px solid var(--line);background:#fff;border-radius:14px;gap:5px;margin:28px auto;padding:14px 22px;display:grid}.participant-id span{color:var(--muted);font-size:.78rem}.participant-id strong{color:var(--blue);letter-spacing:.08em;font-size:1.5rem}.spinner{border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:20px clamp(16px,3vw,42px) 60px}.admin-topbar{border-bottom:1px solid var(--line);padding-bottom:16px}.admin-actions button{color:var(--muted);background:0 0;border:0;font-size:.86rem}.admin-heading{justify-content:space-between;align-items:end;gap:24px;padding:34px 0 24px;display:flex}.admin-heading h1{margin-bottom:8px;font-size:clamp(2.3rem,5vw,4.2rem)}.admin-heading p:last-child{color:var(--muted);margin:0;font-size:1rem}.admin-notice{background:var(--mint-soft);color:var(--blue);border:1px solid #bfe6d2;border-radius:11px;margin-bottom:16px;padding:12px 15px;font-size:.9rem}.admin-notice.is-error{color:var(--danger);background:#fff7f8;border-color:#edcbd0}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:34px}.login-card .brand{margin-bottom:42px}.login-card h1{font-size:2.5rem}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.login-card form{gap:13px;display:grid}.login-card form .button{width:100%}.field{gap:8px;display:grid}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:0;padding:12px 13px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #21227414}.session-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;margin-bottom:22px;padding:clamp(20px,3vw,30px)}.session-form>header{justify-content:space-between;gap:18px;margin-bottom:22px;display:flex}.session-form h2{margin:0}.session-form header>span{color:var(--muted);font-size:.82rem}.form-grid,.edit-session-form{grid-template-columns:1fr 220px;gap:14px;display:grid}.form-grid .full,.edit-session-form .full{grid-column:1/-1}.mode-picker{border:0;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0 0;padding:0;display:grid}.mode-picker legend{color:var(--blue);margin-bottom:9px;font-size:.82rem;font-weight:780}.mode-picker label{border:1px solid var(--line);cursor:pointer;border-radius:13px;grid-template-columns:auto 1fr;align-items:start;gap:3px 10px;padding:16px;display:grid}.mode-picker label.is-selected{border-color:var(--blue);background:var(--mint-soft)}.mode-picker input{grid-row:1/3}.mode-picker strong{color:var(--blue)}.mode-picker span{color:var(--muted);font-size:.84rem;line-height:1.4}.starter-grid{margin-bottom:0}.session-layout{grid-template-columns:300px 1fr;align-items:start;gap:18px;display:grid}.session-sidebar{border:1px solid var(--line);background:#fff;border-radius:16px;gap:7px;padding:10px;display:grid;position:sticky;top:18px}.session-sidebar>header{color:var(--blue);justify-content:space-between;padding:8px 8px 12px;display:flex}.session-sidebar>header span{background:var(--mint-soft);border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:.75rem;display:grid}.session-sidebar>p{color:var(--muted);padding:8px;font-size:.86rem;line-height:1.5}.session-sidebar>button{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.session-sidebar>button:hover{background:var(--surface)}.session-sidebar>button.is-active{border-color:var(--blue);background:var(--mint-soft)}.session-sidebar button>span{gap:5px;min-width:0;display:grid}.session-sidebar button strong{color:var(--blue);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.session-sidebar button small{color:var(--muted);font-size:.72rem}.session-sidebar button b{color:var(--blue);white-space:nowrap;font-size:.78rem}.session-detail{gap:14px;min-width:0;display:grid}.session-detail>*{border:1px solid var(--line);background:#fff;border-radius:16px}.session-detail-head{justify-content:space-between;align-items:start;gap:22px;padding:24px;display:flex}.session-detail-head h2{margin:7px 0 8px}.session-detail-head p{max-width:820px;color:var(--ink);margin:0;font-size:1.05rem;line-height:1.5}.session-code{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.edit-session-form{padding:20px}.edit-session-form .button{justify-self:start}.session-stat-strip{grid-template-columns:repeat(3,1fr);display:grid}.session-stat-strip>div{border-right:1px solid var(--line);gap:7px;padding:20px;display:grid}.session-stat-strip>div:last-child{border:0}.session-stat-strip span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.session-stat-strip strong{color:var(--blue);font-size:2.3rem}.session-stat-strip strong small{font-size:.95rem}.session-stat-strip .text-stat{font-size:1rem}.share-panel{grid-template-columns:1fr auto auto auto;align-items:center;gap:9px;padding:16px;display:grid}.share-panel>div{gap:4px;min-width:0;display:grid}.share-panel span{color:var(--muted);font-size:.72rem}.share-panel code{color:var(--blue);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.share-panel button,.share-panel a,.data-toolbar button{border:1px solid var(--line);color:var(--blue);background:#fff;border-radius:8px;padding:9px 11px;font-size:.76rem;font-weight:760;text-decoration:none}.data-toolbar{align-items:center;gap:9px;padding:16px;display:flex}.data-toolbar>div{gap:4px;margin-right:auto;display:grid}.data-toolbar strong{color:var(--blue)}.data-toolbar span{color:var(--muted);font-size:.78rem}.response-list{overflow:hidden}.response-list>header{justify-content:space-between;align-items:center;padding:20px;display:flex}.response-list h3{color:var(--blue);margin:0;font-size:1.25rem}.response-list details{border-top:1px solid var(--line)}.response-list summary{cursor:pointer;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding:16px 20px;list-style:none;display:grid}.participant-badge{background:var(--mint);width:54px;height:34px;color:var(--blue);border-radius:999px;place-items:center;font-weight:850;display:grid}.response-list summary>div{gap:4px;display:grid}.response-list summary strong{color:var(--blue)}.response-list summary small,.response-list summary>b{color:var(--muted);font-size:.75rem}.mini-tree{border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(5,1fr);gap:8px;padding:16px;display:grid;overflow-x:auto}.mini-tree section{min-width:150px}.mini-tree section>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.68rem;display:block}.mini-tree section>div{gap:5px;display:grid}.mini-tree i{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;font-size:.75rem;font-style:normal}.mini-tree section:last-child i{background:var(--mint);color:var(--blue);font-weight:850}.tree-actions{background:var(--surface);justify-content:flex-end;align-items:center;gap:12px;padding:0 16px 16px;display:flex}.tree-actions span{color:var(--muted);margin-right:auto;font-size:.7rem}.danger-button{color:var(--danger);background:#fff7f8;border:1px solid #e9c8ce;border-radius:8px;padding:9px 11px;font-size:.76rem;font-weight:760}.danger-button:hover{border-color:var(--danger);background:var(--danger);color:#fff}.empty-state{text-align:center;padding:60px 24px}.empty-state p{color:var(--muted)}.compact-state{min-height:300px}@media (width<=900px){.welcome-grid{grid-template-columns:1fr;align-content:center}.session-layout{grid-template-columns:1fr}.session-sidebar{display:flex;position:static;overflow-x:auto}.session-sidebar>header{align-items:center;min-width:90px}.session-sidebar>button,.session-sidebar>p{min-width:230px}.mini-tree{grid-template-columns:repeat(5,minmax(150px,1fr))}}@media (width<=680px){.workshop-shell,.admin-shell{padding-left:16px;padding-right:16px}.process-mini{display:none}.welcome-grid{padding-top:30px}.process-large{gap:7px}.process-large span{width:48px;height:48px}.word-grid,.starter-grid,.pairing{grid-template-columns:1fr}.plus{line-height:1}.term-card{min-height:112px}.review-intro,.admin-heading{flex-direction:column;align-items:flex-start}.tree-stage>div,.tree-stage.stage-1>div,.tree-stage.stage-2>div{grid-template-columns:repeat(2,1fr)}.submit-panel{grid-template-columns:1fr}.submit-panel .action-row{width:100%}.form-grid,.edit-session-form{grid-template-columns:1fr}.form-grid .full,.edit-session-form .full{grid-column:auto}.mode-picker,.session-stat-strip{grid-template-columns:1fr}.session-stat-strip>div{border-right:0;border-bottom:1px solid var(--line)}.share-panel{grid-template-columns:repeat(3,1fr)}.share-panel>div{grid-column:1/-1}.share-panel button,.share-panel a{text-align:center}.data-toolbar{flex-wrap:wrap}.data-toolbar>div{flex-basis:100%}.response-list summary{grid-template-columns:66px 1fr}.response-list summary>b{grid-column:2}.tree-actions{flex-direction:column;align-items:stretch}.tree-actions span{margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
