:root{--ink:#173e36;--paper:#f4efe3;--gold:#aa712d;--muted:#6b766b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px}button,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #c8caba;border-radius:6px;background:#fffaf0;padding:10px 16px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#e9dfc8;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d48f3a;outline-offset:3px}main{max-width:1250px;margin:auto;padding:0 40px}header{display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-bottom:1px solid #d6d5c7}.brand{letter-spacing:2px;text-decoration:none;font-size:11px;font-weight:750;color:var(--ink)}header button{border:0;background:transparent;padding:8px}header button span{border:1px solid #8c9b8d;border-radius:50%;padding:1px 5px;margin-left:6px}.intro{display:flex;justify-content:space-between;padding:42px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;margin:0 0 12px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:72px;letter-spacing:-3px;margin:0 0 14px;line-height:1}h1 em{font-weight:400;color:#8f652e}p{line-height:1.7}.intro p:last-child{color:var(--muted);margin:0;font-size:15px}.stamp{width:145px;height:145px;border:1px solid #b4b8a3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(9deg);margin:5px 25px}.stamp span{text-align:center;font-size:9px;letter-spacing:2px;line-height:1.5}.stamp b{font-size:40px;line-height:1.3;color:#9a7337}.stamp small{font-family:Georgia,serif;font-style:italic;font-size:12px}#levels{display:flex;gap:8px;margin:0 0 24px}#levels button{width:41px;height:36px;padding:0;font-size:12px;background:transparent;border-color:#cfcebe}#levels button.active{background:var(--ink);color:#fff8df;border-color:var(--ink)}.brief{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cfcebe;padding:23px 0 20px}.brief h2{font-size:28px;margin:0}.brief .eyebrow{margin-bottom:5px;color:var(--gold)}.quorum{text-align:right;display:flex;flex-direction:column;gap:5px}.quorum small{color:var(--muted)}.quorum strong{font-family:Georgia,serif;font-weight:400;font-size:25px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px;align-items:start}.tray{display:flex;justify-content:space-between;align-items:center;border:1px dashed #b6b9a4;border-radius:8px;padding:13px 16px;background:#ede9d9}.tray b{font-size:22px;margin-right:5px}.tray .acorn{font-size:22px;color:#a8752c;margin-right:8px}#moves{font-size:11px;color:var(--muted)}.instruction{font-size:12px;color:#647262;margin:15px 0}#delegates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.delegate{border:1px solid #d5d1bf;border-radius:10px;overflow:hidden;background:#fffbf2;transition:border-color .25s,box-shadow .25s}.delegate.matched{border-color:#a08844;box-shadow:0 0 0 1px #b19b61}.portrait{position:relative;aspect-ratio:1;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;display:block}.portrait span{position:absolute;bottom:8px;left:8px;background:#f8eddbdd;padding:3px 8px;font-size:9px;border-radius:20px;color:#3f4c39}.cardbody{padding:13px 10px;text-align:center}h3{font-size:24px;margin:0 0 10px}.weight{display:flex;align-items:center;justify-content:center;gap:9px}.weight button{padding:0;width:30px;height:32px;font-size:20px}.weight strong{font-family:Georgia,serif;font-size:25px;min-width:16px}.cardbody>small{font-size:8px;letter-spacing:1.5px;color:var(--muted);display:block;margin:7px 0 14px}.power{display:flex;justify-content:space-between;text-align:left;border-top:1px solid #e4dfd1;padding-top:10px;font-size:9px;color:var(--muted);gap:3px}.power b{font-size:22px;font-weight:500;color:var(--ink)}.power span:last-child{text-align:right;color:#946222}.power span:last-child b{color:#946222}.toolbar{display:flex;gap:8px;margin:18px 0 0}.toolbar button{font-size:12px;padding:10px 13px}.toolbar button:last-child{margin-left:auto;background:var(--ink);color:#fff5df;border-color:var(--ink)}#message{font-size:12px;min-height:50px;padding:15px 0;color:var(--muted)}aside{border:1px solid #d4d1bf;background:#edeadd;border-radius:10px;padding:22px}aside .eyebrow{font-size:8px;letter-spacing:1.5px}aside h2{font-size:25px;line-height:1.1;margin:0 0 13px}aside>p{font-size:11px;color:#606e60;line-height:1.7}aside label{display:block;font-size:10px;font-weight:700;margin:15px 0 7px}select{width:100%;background:#fbf6e9;border:1px solid #c7c8b5;border-radius:5px;padding:9px;font-size:12px}.notebook-key{font-size:9px!important;display:flex;align-items:center;gap:5px}.notebook-key i{width:6px;height:6px;background:#b68837;border-radius:50%;flex-shrink:0}.coalition{display:flex;justify-content:space-between;align-items:center;padding:7px 6px;border-bottom:1px solid #d9d7c6;font-size:12px;border-left:3px solid transparent}.coalition.pivotal{background:#e6dbb7;border-left-color:#b68837}.members{display:flex;gap:3px;min-height:28px;align-items:center}.members img{border-radius:50%;object-fit:cover}.members span{font-size:9px;color:#70806a}.coalition>div:last-child{text-align:right}.coalition>div:last-child span{font-size:10px;color:#6f7a69}.coalition small{display:block;font-size:7px;letter-spacing:.7px;color:#7d785b}.footnote{font-size:9px!important;margin-bottom:0}footer{display:flex;justify-content:space-between;border-top:1px solid #d6d5c7;margin-top:35px;padding:20px 0 28px;font-size:10px;color:var(--muted)}footer a{color:inherit}#victory{background:#173e36;border-radius:9px;padding:24px;color:#f8edcf;margin-top:5px}#victory[hidden]{display:none}#victory h2{font-size:28px;margin:7px 0}#victory p{font-size:12px}#victory button{background:#efd899;border:0}dialog{max-width:560px;width:calc(100% - 28px);border:1px solid #c7c5b1;border-radius:12px;background:var(--paper);color:var(--ink);padding:32px;box-shadow:0 20px 100px #10281b55}dialog::backdrop{background:#142e25aa;backdrop-filter:blur(4px)}dialog h2{font-size:31px}dialog p,dialog li{font-size:13px;line-height:1.8}#close{position:absolute;right:10px;top:10px;border:0;background:transparent;font-size:22px;padding:4px 10px}#begin{background:var(--ink);color:var(--paper)}@media(min-width:1400px){main{padding-top:10px}}@media(max-width:1000px){main{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 250px;gap:22px}#delegates{gap:7px}.cardbody{padding:12px 7px}.weight{gap:4px}.weight button{width:25px}.power{font-size:8px}.power b{font-size:20px}.stamp{margin-right:5px}}@media(max-width:780px){.workspace{grid-template-columns:1fr}aside{display:block}#coalitions{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.intro{padding-top:30px}h1{font-size:58px}.stamp{width:115px;height:115px}.stamp span{font-size:7px}.stamp b{font-size:30px}.intro p:last-child{font-size:13px}.desktop{display:none}}@media(max-width:480px){main{padding:0 17px}header{padding:18px 0}.brand{font-size:9px;letter-spacing:1px}header button{font-size:11px}.intro{gap:10px;padding:28px 0 23px}h1{font-size:49px;letter-spacing:-2px}.intro .eyebrow{font-size:8px;letter-spacing:1.4px}.intro p:last-child{font-size:12px}.stamp{display:none}#levels{gap:6px;margin-bottom:18px}#levels button{width:calc((100% - 42px)/8);height:34px}.brief{padding:18px 0}.brief h2{font-size:24px}.brief .eyebrow{font-size:8px}.quorum small{font-size:9px}.quorum strong{font-size:21px}.tray{padding:10px}.tray div{font-size:11px}.tray b{font-size:19px}#moves{font-size:9px}#delegates{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.delegate{display:block}.portrait{aspect-ratio:1.35}.cardbody{padding:10px 12px}.cardbody h3{font-size:22px;margin-bottom:8px}.weight{gap:13px}.weight button{width:35px;height:33px}.cardbody>small{margin-bottom:8px}.power{font-size:9px}.power b{font-size:22px}.toolbar{gap:5px}.toolbar button{padding:10px 9px;font-size:11px}footer{font-size:9px;gap:20px}.instruction{font-size:11px}}
dialog{max-height:90dvh;overflow-y:auto}
