.timeline-panel{margin:18px 0 26px;padding:20px;border:1px solid #c8b49b;border-top:3px solid #8f2e24;background:#fffdf7;box-shadow:0 6px 22px #412c1510}.tl-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tl-eyebrow{font:11px Oswald;letter-spacing:1.5px;color:#94724e}.tl-heading h2{font:700 25px Oswald,"Microsoft JhengHei",sans-serif;margin:4px 0 12px;color:#7c3025}.tl-heading h2 span{font-size:15px;color:#94724e}.tl-tools,.tl-settings,.tl-edit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.timeline-panel button,.timeline-dialog button,.timeline-panel select,.timeline-dialog select{font-family:inherit;cursor:pointer}.tl-tools button,.tl-opponent-pick button,.tl-selection button,.timeline-dialog button{border:1px solid #c6b39a;background:#fff8eb;color:#75452d;padding:9px 12px;min-height:40px;font-size:12px}.timeline-panel button:disabled,.timeline-dialog button:disabled{opacity:.45;cursor:not-allowed}.tl-settings{font-size:12px;padding-bottom:12px;border-bottom:1px solid #e6d7c3;gap:15px}.tl-settings label{display:flex;align-items:center;gap:7px}.tl-settings select,.tl-opponent-pick select,.timeline-dialog select{padding:7px;border:1px solid #c7b49b;background:#fff;color:#624930;font-size:12px;max-width:100%}.tl-scope{font-size:11px;color:#91795b}.tl-help,.tl-selection,.tl-rules,.timeline-message{font-size:11px;line-height:1.8;color:#917451}.tl-help{margin:12px 0}.tl-scroll{overflow-x:auto;padding-bottom:6px}.tl-track{display:grid;grid-template-columns:55px repeat(10,minmax(68px,1fr));min-width:790px;border-top:1px solid #d2c1a8;border-left:1px solid #d2c1a8}.tl-axis,.tl-round-number{background:#eee5d7;padding:8px 2px;text-align:center;font:700 15px Oswald;color:#73563b;border-right:1px solid #d2c1a8;border-bottom:1px solid #d2c1a8}.tl-axis{font-size:9px;align-content:center}.tl-lane-label{font:10px Oswald;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f0e8dc;color:#9b8062;border-right:1px solid #d2c1a8;border-bottom:1px solid #d2c1a8}.tl-lane-label strong{font-size:28px}.tl-current-phase{background:#8d352a;color:#fff0d5}.tl-cell{position:relative;min-height:87px;background:#fffaf1;border-right:1px solid #d2c1a8;border-bottom:1px solid #d2c1a8;padding:22px 4px 6px}.tl-cell:nth-child(2n){background:#f7f1e7}.tl-current-cell{box-shadow:inset 0 0 0 2px #ba8250}.tl-cell-target{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;text-align:right;vertical-align:top;color:transparent;padding:0}.tl-cell-target:focus-visible{outline:3px solid #d89136;outline-offset:-4px}.tl-stack{position:relative;display:flex;flex-direction:column;gap:5px;pointer-events:none}.tl-token{position:relative;display:flex;align-items:center;gap:4px;width:100%;min-height:38px;padding:3px;background:#f1f8ff;border:2px solid #2a6899;color:#214b6b;pointer-events:auto;touch-action:none;user-select:none;cursor:grab!important;box-shadow:0 2px 3px #38260f16}.tl-token.red{border-color:#af4235;background:#fff1ea;color:#8d3027}.tl-token img{width:27px;height:30px;object-fit:cover;object-position:center}.tl-token>span{font-size:9px;line-height:1.3;text-align:left;overflow-wrap:anywhere}.tl-phase-tag{position:absolute;right:-2px;top:-14px;color:#fff;background:#735331;border:1px solid #fff3de;font:9px Oswald;padding:1px 4px;z-index:2}.tl-token.tl-selected{outline:2px solid #e2a328;outline-offset:2px}.tl-token.tl-dragging{opacity:.35}.tl-drop-target{background:#f4d9a7!important;box-shadow:inset 0 0 0 3px #c3832b}.tl-order{position:relative;border:0;background:none;text-decoration:underline;color:#9c744a;font-size:9px;padding:7px 0 0;min-height:28px;width:100%}.tl-selection{min-height:30px;margin-top:8px}.tl-selection button{min-height:28px;padding:3px 9px;margin-left:8px}.tl-rules{border-top:1px solid #e8dcca;padding-top:8px}.tl-rules summary{cursor:pointer}.tl-rules p{max-width:1000px}.timeline-message:empty{display:none}.timeline-message{color:#79502c;background:#f4e9d7;margin:12px 0 0;padding:8px 12px}.tl-opponent-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f5eee4;padding:10px;margin-top:10px;font-size:11px}.tl-opponent-pick label{display:flex;align-items:center;gap:8px}.tl-enemies{display:flex;gap:5px;flex-wrap:wrap;width:100%}.tl-enemies button{font-size:10px;min-height:30px;padding:5px 8px}.tl-enemies small{color:#9b7c58}.tl-finished{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 0}.tl-finished>strong{font-size:11px;color:#92724e}.tl-finished .tl-token{width:130px}.timeline-dialog{border:1px solid #b8956d;background:#fffdf6;color:#65472c;max-width:540px;width:calc(100% - 32px);padding:24px;max-height:85dvh;overflow:auto;box-shadow:0 12px 60px #0005}.timeline-dialog::backdrop{background:#211a16a8}.timeline-dialog h2{font-size:19px;color:#7d3528;margin:0 0 10px}.timeline-dialog h3{font-size:13px;margin:20px 0 9px}.timeline-dialog p{font-size:12px;line-height:1.8}.tl-dialog-note{color:#967655;font-size:11px!important}.tl-order-list,.tl-weapon-list{display:grid;gap:8px;margin:14px 0}.tl-order-list button,.tl-weapon-list button{display:flex;align-items:center;gap:12px;text-align:left}.tl-order-list button{border-left:4px solid #376c97}.tl-order-list button.red{border-left-color:#aa4938}.tl-order-list img{width:55px;height:40px;object-fit:cover}.tl-order-list span{flex:1}.tl-order-list small{display:block;color:#9b7d5b;margin-top:4px}.tl-order-list b{font-size:11px}.tl-weapon-list b{margin-left:auto;color:#a1472f;font:700 16px Oswald}.tl-position-label{display:flex;align-items:center;gap:10px;margin:15px 0;font-size:12px}.timeline-dialog .timeline-close{margin-top:20px;width:100%;background:#7e3025;color:white;border-color:#7e3025}.unit-tl-actions{padding:12px 14px;border-top:1px solid #e6d7c0;background:#fff9ee}.unit-tl-actions>div{font:11px Oswald,"Microsoft JhengHei";color:#99744f;margin-bottom:7px}.unit-tl-actions>div button{float:right;border:0;background:none;color:#8b462b;cursor:pointer;font-size:11px}.unit-tl-actions>button,.tl-use-weapon{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:39px;margin-top:6px;border:1px solid #c4ac8b;background:#f8eddb;color:#75462e;padding:8px 10px;cursor:pointer;font-size:11px;text-align:left}.unit-tl-actions>button b,.tl-use-weapon b{font:700 15px Oswald;color:#9e4230;white-space:nowrap;margin-left:8px}.unit-tl-actions>button:disabled,.tl-use-weapon:disabled{opacity:.4;cursor:not-allowed}@media(max-width:650px){.timeline-panel{padding:14px 10px}.tl-heading{align-items:flex-start}.tl-heading h2{font-size:22px}.tl-tools{justify-content:flex-end;max-width:150px}.tl-tools button{font-size:10px;padding:7px;min-height:33px}.tl-settings{gap:10px}.tl-scope{width:100%}.tl-opponent-pick label{flex-wrap:wrap}.tl-opponent-pick select{max-width:240px}.timeline-dialog{padding:19px}.tl-edit-actions button{flex:1}.tl-position-label{flex-wrap:wrap}}

.builder-timeline{border:1px solid #d7c3a8;padding:15px;margin:18px 0}.builder-timeline legend{font-size:13px;color:#835a37;padding:0 8px}.builder-timeline-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.builder-timeline-options>label{display:flex;align-items:flex-start;gap:8px;border:1px solid #d9c7ad;padding:13px 10px;background:#fffaf0;cursor:pointer}.builder-timeline-options>label:has(input:checked){border-color:#9d4933;background:#f5e9d5;box-shadow:inset 0 0 0 1px #b27950}.builder-timeline-options input{accent-color:#8f2e24;margin:3px 0 0}.builder-timeline-options strong{font-size:13px;color:#724b2d;display:block}.builder-timeline-options small{font-size:10px;color:#9e8060;line-height:1.7;display:block;margin-top:5px}.builder-side-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#936e4a;margin-top:14px}.builder-side-label select{border:1px solid #c5af90;background:#fff;padding:6px 20px 6px 9px}.builder-timeline>p{font-size:10px;color:#a08263;margin-bottom:0}body[data-timeline-mode="off"] .unit-tl-actions,body[data-timeline-mode="off"] .tl-use-weapon{display:none}@media(max-width:650px){.builder-timeline-options{grid-template-columns:1fr}.builder-timeline-options>label{padding:10px}.builder-timeline{padding:10px}}
.tl-dialog-card{margin:12px 0;background:#eee6d9;border:1px solid #dac8ae;padding:8px;text-align:center}.tl-dialog-card img{display:block;width:100%;max-height:240px;object-fit:contain}

/* Circular tokens retain the full name in a ribbon and accessible label. */
.tl-stack{align-items:center;gap:10px}.tl-token{width:64px;min-width:64px;height:64px;min-height:64px;border-radius:50%;padding:0;display:block;border:3px solid #336e9b;background:#174464;box-shadow:0 0 0 2px #e5d0a6,inset 0 0 0 2px #f5e3bf,0 3px 6px #35241025;isolation:isolate}.tl-token.red{background:#8e3027;border-color:#ac4134}.tl-token img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);border-radius:50%;object-fit:cover;object-position:center 20%;opacity:.94;z-index:-1}.tl-token:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(transparent 20%,#13293938 48%,#102735db);z-index:-1}.tl-token.red:after{background:linear-gradient(transparent 20%,#5b221c38 48%,#5b221cdb)}.tl-token>span{position:absolute;bottom:5px;left:0;width:100%;padding:2px 3px;box-sizing:border-box;text-align:center;color:#fff9e6;background:#193f5ae8;font-size:9px;font-weight:700;line-height:1.2;text-shadow:0 1px 2px #000;max-height:35px;overflow:hidden;border-top:1px solid #d7c498a0;border-bottom:1px solid #d7c498a0;overflow-wrap:anywhere}.tl-token.red>span{background:#802d25e8}.tl-phase-tag{right:-14px;top:-6px;padding:2px 5px;white-space:nowrap;border-radius:8px}.tl-finished .tl-token{width:64px}.tl-cell{padding-top:16px}.tl-dialog-card{position:relative;padding:0;overflow:visible;background:none;border:0}.tl-dialog-card img{width:100%;max-height:none;height:auto;object-fit:contain;border-radius:7px}.timeline-dialog{max-width:760px}.tl-card-hint{color:#986e3e;font-size:12px!important;margin:9px 0}.timeline-dialog .tl-weapon-hotspot{position:absolute;top:27.6%;left:1.6%;width:46.3%;height:15.6%;min-height:0;padding:0;border:2px solid #39769ac0;border-radius:4px;background:linear-gradient(#badbff09,#badbff19);box-shadow:0 0 0 2px #ffffffa0;transition:background .15s,border-color .15s}.timeline-dialog .tl-weapon-hotspot.weapon-1{left:51.8%;width:46.1%}.timeline-dialog .tl-weapon-hotspot:hover,.timeline-dialog .tl-weapon-hotspot:focus-visible{border-color:#c48728;background:#f7d17535;outline:2px solid #e0a330;outline-offset:2px}.tl-hotspot-hint{position:absolute;right:0;bottom:-18px;background:#295b7e;color:#fff;font-size:9px;line-height:16px;padding:0 5px;border-radius:0 0 3px 3px;white-space:nowrap}.tl-opponent-settings{margin-top:12px;font-size:11px;color:#94704c}.tl-opponent-settings summary{cursor:pointer;min-height:28px;align-content:center}.tl-collapsed .tl-help,.tl-collapsed .tl-scroll,.tl-collapsed .tl-selection,.tl-collapsed .tl-finished,.tl-collapsed .tl-rules,.tl-collapsed .tl-opponent-settings{display:none}.tl-collapsed .timeline-panel{padding-bottom:12px}@media(max-width:650px){.tl-track{min-width:820px}.tl-token{width:60px;min-width:60px;height:60px;min-height:60px}.tl-token>span{font-size:8px}.tl-phase-tag{right:-8px;font-size:8px}.timeline-dialog{padding:14px;width:calc(100% - 20px)}.tl-hotspot-hint{font-size:8px;bottom:-16px;line-height:14px}.tl-card-hint{font-size:11px!important}}

.timeline-dialog .tl-aux-action{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;flex:1;background:#f7efdf}.tl-aux-action img{width:26px;height:26px;flex-shrink:0}.tl-aux-action span{font-weight:bold;font-size:11px;text-align:left}.tl-aux-action small{display:block;font:11px Oswald;letter-spacing:.4px;color:#a47e51;margin-top:3px}@media(max-width:650px){.timeline-dialog .tl-weapon-hotspot{height:18.5%}.timeline-dialog .tl-aux-action{padding:8px 5px;gap:5px}.tl-aux-action img{width:23px;height:23px}.tl-aux-action span{font-size:10px}}

.tl-manual-section{margin-top:18px;border-top:1px solid #e2d1b6;padding-top:2px}.tl-manual-section h3{color:#9c7852;font-size:11px}.tl-manual-section .tl-position-label{margin:12px 0}.tl-dialog-card+ p{font-size:11px;color:#94704c}

/* Official handbook p18: red upper lane, shared metal round rail, blue lower lane. */
.tl-official-frame{min-width:820px;padding:23px 13px 24px;position:relative;background:linear-gradient(130deg,#eef2f1 0%,#bdc6ca 10%,#f7f9f7 25%,#9ba8b0 49%,#e4e9e6 76%,#8b9ca6);border:1px solid #83959e;box-shadow:inset 0 0 0 3px #e9efed,inset 0 0 0 5px #9dabb0,0 3px 10px #142d3b25;clip-path:polygon(0 0,calc(100% - 19px) 0,100% 19px,100% 100%,19px 100%,0 calc(100% - 19px))}.tl-side-rail,.tl-round-rail{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));position:relative}.tl-side-rail{border-left:2px solid #71848d;border-right:2px solid #71848d}.tl-side-rail.red{border-top:3px solid #9d3b42;background:linear-gradient(#e5c1c5,#f5e2e1)}.tl-side-rail.blue{border-bottom:3px solid #345c83;background:linear-gradient(#e0e9f2,#b8c9df)}.tl-side-rail .tl-cell{min-height:112px;padding:18px 4px 10px;border:0;border-right:1px solid #ffffff82;box-shadow:inset 1px 0 #8e9eae13;background:none}.tl-side-rail .tl-cell:nth-child(2n){background:#ffffff14}.tl-side-rail .tl-cell:last-child{border-right:0}.tl-side-rail .tl-cell.tl-current-cell{background:#ffffff25;box-shadow:inset 0 0 0 1px #ffffffb0}.tl-side-rail.red .tl-cell.tl-current-cell{border-top:2px solid #a84d53;padding-top:16px}.tl-side-rail.blue .tl-cell.tl-current-cell{border-bottom:2px solid #3e6f9e;padding-bottom:8px}.tl-round-rail{z-index:3;height:31px;border:2px solid #6f828e;background:linear-gradient(#dce2e6 0%,#a8b4bf 18%,#778894 45%,#596c7a 48%,#96a6b3 85%,#d6dfe5 100%);box-shadow:0 -2px #f6f7f5,0 2px #f4f6f8}.tl-round-rail .tl-round-number{position:relative;min-height:27px;padding:1px 0 0;background:none;border:0;border-right:1px solid #d9e0e666;color:white;font:700 17px Oswald;text-shadow:0 1px 2px #233947;text-align:center;align-content:center}.tl-round-number>span:first-child{opacity:.95}.tl-round-rail .tl-round-number:last-child{border:0}.tl-round-phase{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;width:100px;padding:6px 0;font:10px Oswald;letter-spacing:1.5px;color:#d4e6ee;background:linear-gradient(#476574,#182e3a 46%,#2d4e61);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);filter:drop-shadow(0 2px 1px #172f40);box-shadow:inset 0 0 0 2px #a1b3bc,inset 0 0 0 4px #284757}.tl-round-phase.phase-2{background:linear-gradient(#9f6940,#5c3423 46%,#995d32);color:#ffe5bc;box-shadow:inset 0 0 0 2px #caac82,inset 0 0 0 4px #6c4026}.tl-team-banner{position:absolute;z-index:4;font:11px Oswald;letter-spacing:1.5px;color:#f4eeee;line-height:19px;padding:0 17px;border-top:1px solid #f2e8e5;border-bottom:1px solid #f2e8e5;box-shadow:0 1px 2px #4b525d80}.tl-team-banner.red{top:4px;left:12px;background:linear-gradient(#bb6265,#7d222a);clip-path:polygon(0 0,calc(100% - 19px) 0,100% 100%,10px 100%)}.tl-team-banner.blue{bottom:4px;right:12px;background:linear-gradient(#597f9f,#22486c);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,19px 100%)}.tl-team-banner span{font-size:8px;letter-spacing:0;opacity:.85;margin:0 6px}.tl-phase-group{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;position:relative;pointer-events:none}.tl-phase-group+.tl-phase-group{border-top:1px dashed #68788760;padding-top:18px;margin-top:4px}.tl-phase-group button{pointer-events:auto}.tl-side-rail .tl-stack{gap:10px}.tl-future-label{position:absolute;top:-5px;left:50%;transform:translateX(-50%);white-space:nowrap;font:8px Oswald;letter-spacing:1px;color:#fff7e7;background:#845b37;padding:1px 5px;border-radius:7px;z-index:3}.tl-future-group:first-child{padding-top:11px}.tl-future-group .tl-token{box-shadow:0 0 0 2px #d5ac62,0 3px 5px #24313a30}.tl-side-rail .tl-token{box-shadow:0 0 0 1px #e4e9ed,0 0 0 3px #84949f,0 3px 6px #24303a45;border:3px solid #396d94}.tl-side-rail .tl-token.red{border-color:#9a3e45;box-shadow:0 0 0 1px #ede4e4,0 0 0 3px #9d8a8c,0 3px 6px #24303a45}.tl-side-rail .tl-token>span{left:2px;width:calc(100% - 4px);border-radius:0 0 7px 7px;border-color:#cbd5dfb0}.tl-side-rail .tl-token.red>span{border-color:#dfc9c9b0}.tl-side-rail .tl-phase-tag{background:linear-gradient(#577c8e,#1c384c);border-color:#b4c6cf;color:#e9f2f4;font-size:8px;box-shadow:0 1px 3px #1c354a55}.tl-side-rail .tl-order{color:#3d5364;text-shadow:0 1px #fff9}.tl-side-rail.red .tl-order{color:#794347}.tl-official-frame .tl-drop-target{box-shadow:inset 0 0 0 3px #d2a544!important;background:#f5e6bf90!important}.tl-collapsed .tl-scroll{display:none}.tl-scroll{padding:3px 2px 9px}.tl-help{color:#7f7e74}@media(max-width:650px){.tl-side-rail .tl-cell{padding-left:5px;padding-right:5px}.tl-side-rail .tl-token{width:60px;min-width:60px;height:60px;min-height:60px}.tl-round-phase{width:87px;font-size:9px}.tl-team-banner{font-size:10px}.tl-official-frame{padding-left:10px;padding-right:10px}}

.tl-player-names{display:flex;gap:14px;margin:12px 0;flex-wrap:wrap}.tl-player-names label{display:flex;align-items:center;gap:8px;font-size:11px;color:#795a45}.tl-player-names label:before{content:"";width:8px;height:8px;border-radius:50%;background:#a6444a}.tl-player-names label.blue:before{background:#386b93}.tl-player-names input{width:185px;max-width:100%;border:1px solid #cbb79b;background:#fffdf7;padding:8px 10px;font:11px "Microsoft JhengHei",sans-serif;color:#68472e}.timeline-history{border-top:1px solid #ddcdb5;margin-top:14px;padding-top:11px}.tl-history-title{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#826447}.tl-history-title span{font-size:10px;color:#a28a6d}.timeline-history ol{list-style:none;padding:0;margin:7px 0}.timeline-history li{display:flex;gap:10px;font-size:11px;line-height:1.8;color:#826b50;padding:6px 0;border-bottom:1px solid #e9ddcb}.tl-history-side{flex-shrink:0;min-width:38px;padding:1px 6px;height:fit-content;color:#b57b42;background:#ede3d4;border:1px solid #dbc5a4;font-size:10px}.tl-history-side.red{background:#f2dcdd;border-color:#d3a2a6;color:#8f3942}.tl-history-side.blue{background:#dce8f1;border-color:#9cb7ca;color:#315e7e}.tl-history-tools{display:flex;gap:8px}.tl-history-tools button{border:1px solid #cbb798;background:#fbf5e8;color:#8b6644;font-size:10px;padding:5px 12px;min-height:30px;cursor:pointer}.tl-history-empty{font-size:10px;color:#ab9478;margin:8px 0}.tl-collapsed .tl-player-names{display:none}@media(max-width:650px){.tl-player-names{gap:8px}.tl-player-names label{width:100%}.tl-player-names input{flex:1;width:auto}.timeline-history li{font-size:10px;gap:7px}.tl-history-side{max-width:90px;overflow-wrap:anywhere}}

.builder-enemies{border:1px solid #c7af92;padding:17px;margin:16px 0;background:#f8f1e5}.builder-enemies h3{font-size:14px;color:#795132;margin:0 0 6px}.builder-enemies h3 span{float:right;font:17px Oswald;color:#a25d40}.builder-enemies>p{font-size:11px;color:#9f8060;margin:0 0 15px}.builder-enemy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.builder-enemy-grid label{display:flex;flex-direction:column;gap:8px;font:11px Oswald,"Microsoft JhengHei";color:#8b6645;min-width:0}.builder-enemy-grid select{width:100%;max-width:100%;padding:8px;border:1px solid #c2aa8d;background:#fffdf8;font-size:11px;color:#79563c}.builder-enemy-grid img{width:100%;height:auto;border:1px solid #d8c5a9}.builder-enemy-grid strong{text-align:center;font-size:12px}.builder-enemy-placeholder{aspect-ratio:800/567;display:grid;place-items:center;border:1px dashed #c5ae8c;background:#fdf8ef;color:#c7af8e;font-size:34px}@media(max-width:650px){.builder-enemies{padding:12px}.builder-enemy-grid{grid-template-columns:1fr}.builder-enemy-grid label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:6px}.builder-enemy-grid select{grid-column:1;grid-row:2}.builder-enemy-grid img,.builder-enemy-placeholder{grid-column:2;grid-row:1 / span 3}.builder-enemy-grid strong{text-align:left;font-size:10px;grid-column:1}}

.tl-official-frame{min-width:930px}.tl-side-rail,.tl-round-rail{grid-template-columns:repeat(10,minmax(0,1fr)) 108px}.tl-round-end{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;background:linear-gradient(#d5ded9,#81988f 45%,#4c675f 49%,#98aaa2);border-left:2px solid #cbd9d5;color:#fffce9;z-index:3;text-align:center;line-height:1.1}.tl-round-end strong{font-size:11px;letter-spacing:1px}.tl-round-end small{font:7px Oswald;letter-spacing:1px;color:#e0ede7}.tl-side-rail .tl-end-cell{background:repeating-linear-gradient(135deg,#eef2e924 0 6px,#607b6a10 6px 7px),linear-gradient(#d9e3d7aa,#b3c3b2aa);border-left:2px solid #708b7b55;min-height:112px;padding-top:19px;padding-bottom:24px}.tl-end-watermark{position:absolute;bottom:5px;left:0;width:100%;text-align:center;font-size:9px;color:#587060;letter-spacing:2px;pointer-events:none}.tl-end-cell .tl-stack{min-height:68px}.tl-end-cell .tl-token{filter:saturate(.7)}@media(max-width:650px){.tl-official-frame{min-width:930px}.tl-side-rail,.tl-round-rail{grid-template-columns:repeat(10,minmax(0,1fr)) 102px}}

.tl-end-watermark{bottom:4px;letter-spacing:1px;font-size:9px}.tl-end-watermark small{display:block;font:7px Oswald,"Microsoft JhengHei";letter-spacing:0;line-height:1.5;color:#537064;margin-top:2px}.tl-drag-phase-one[data-drag-side="blue"] .tl-end-cell.blue,.tl-drag-phase-one[data-drag-side="red"] .tl-end-cell.red{background:#d9e8d0;box-shadow:inset 0 0 0 2px #94ac79}.tl-drag-phase-one[data-drag-side="blue"] .tl-end-cell.blue .tl-end-watermark>span,.tl-drag-phase-one[data-drag-side="red"] .tl-end-cell.red .tl-end-watermark>span{font-size:0}.tl-drag-phase-one[data-drag-side="blue"] .tl-end-cell.blue .tl-end-watermark>span:after,.tl-drag-phase-one[data-drag-side="red"] .tl-end-cell.red .tl-end-watermark>span:after{content:"進入 PHASE 2";font:10px Oswald,"Microsoft JhengHei";font-weight:bold}.builder-opponent-shortcut{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;font-size:11px;color:#885535;border:1px solid #d1baa0;background:#fbf5e8;padding:9px 13px;margin:14px 0;text-decoration:none}.builder-opponent-shortcut span{font:13px Oswald;border-left:1px solid #d7c3aa;padding-left:10px}.builder-opponent-setup{margin:25px 0 35px;border:1px solid #c7b295;background:#fffbf3;scroll-margin-top:85px}.builder-opponent-setup>summary{display:flex;gap:12px;align-items:center;cursor:pointer;padding:14px 18px;font-size:13px;color:#7d5438;list-style:none}.builder-opponent-setup>summary:before{content:"＋";font-size:16px}.builder-opponent-setup[open]>summary:before{content:"−"}.builder-opponent-setup>summary small{margin-left:auto;font-size:10px;color:#a38b6d}.builder-opponent-setup>summary>span:nth-child(2){font:15px Oswald;color:#a47148}.builder-opponent-setup .builder-enemies{margin:0;border:0;border-top:1px solid #e2d3bc;padding:15px 18px}.builder-opponent-setup .builder-enemy-grid{gap:13px}.builder-opponent-setup .builder-enemy-grid label{display:flex;flex-direction:column;align-items:stretch;gap:7px}.builder-opponent-setup .builder-enemy-preview{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid #e5d7c0;background:#fffdf7;padding:5px 7px}.builder-opponent-setup .builder-enemy-grid img{width:64px;height:45px;object-fit:contain;border:0}.builder-opponent-setup .builder-enemy-grid strong{text-align:left;font-size:11px;font-weight:500}.builder-enemy-mini-empty{font-size:10px;color:#b39b7b}.builder-opponent-setup .builder-enemies>h3{font-size:12px}.builder-opponent-setup .builder-enemies>p{font-size:10px}@media(max-width:650px){.builder-opponent-setup .builder-enemy-grid{grid-template-columns:1fr}.builder-opponent-setup .builder-enemy-grid label{display:grid;grid-template-columns:1fr 100px;gap:5px 10px}.builder-opponent-setup .builder-enemy-grid label>span{grid-column:1}.builder-opponent-setup .builder-enemy-grid select{grid-column:1;grid-row:2}.builder-opponent-setup .builder-enemy-preview{grid-column:2;grid-row:1 / span 2;min-width:0;flex-direction:column;gap:3px;padding:4px}.builder-opponent-setup .builder-enemy-grid img{width:50px;height:35px}.builder-opponent-setup .builder-enemy-grid strong{font-size:8px;text-align:center}.builder-opponent-setup>summary{padding:12px;font-size:12px}}

.builder-opponent-actions{border-top:1px solid #e3d3bb;padding:13px 18px 17px;display:flex;gap:10px;flex-wrap:wrap}.builder-opponent-actions p{width:100%;margin:0 0 2px;font-size:11px;color:#937150}.builder-opponent-actions button{min-height:40px;font-size:12px}.builder-opponent-actions button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:650px){.builder-opponent-actions{padding:12px}.builder-opponent-actions .primary-action{width:100%}}

.opponent-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:16px 0;background:linear-gradient(110deg,#f3e3d8,#fff8eb);border:1px solid #c5a384;border-left:5px solid #9c3a30;box-shadow:0 3px 9px #5c301110}.opponent-entry-copy>span{font:10px Oswald,"Microsoft JhengHei";letter-spacing:1px;color:#a04e39}.opponent-entry-copy strong{display:block;font-size:16px;color:#75452d;margin:4px 0}.opponent-entry-copy p{font-size:11px;color:#9b785a;line-height:1.7;margin:0}.opponent-entry .builder-opponent-shortcut{display:flex;align-items:center;justify-content:center;gap:11px;margin:0;padding:13px 17px;min-height:49px;border:1px solid #783128;background:linear-gradient(#a74e39,#833023);color:#fff6e6;font-size:13px;font-weight:bold;text-decoration:none;flex-shrink:0;box-shadow:0 2px 3px #71351a24}.opponent-entry .builder-opponent-shortcut span{border:0;padding:0;font:inherit}.opponent-entry .builder-opponent-shortcut b{font:18px Oswald;border-left:1px solid #e5c9a366;padding-left:11px;color:#ffe3ae}.opponent-entry-complete{border-left-color:#4d7958;background:linear-gradient(110deg,#e6ecdf,#fffaf0)}.opponent-entry-complete .opponent-entry-copy>span{color:#5b7c53}.builder-opponent-setup .builder-enemy-preview{display:block;padding:0;overflow:hidden}.builder-opponent-setup .builder-enemy-grid .builder-enemy-preview img{display:block;width:100%;height:54px;object-fit:cover;object-position:center 25%;border:0}.builder-opponent-setup .builder-enemy-preview strong{display:block;padding:5px 8px;font-size:11px}.builder-opponent-setup .builder-enemy-mini-empty{display:grid;place-items:center;min-height:79px}@media(max-width:650px){.opponent-entry{align-items:stretch;flex-direction:column;padding:13px;gap:11px}.opponent-entry-copy strong{font-size:14px}.opponent-entry .builder-opponent-shortcut{width:100%;font-size:12px;min-height:44px;box-sizing:border-box;padding:10px 12px}.builder-opponent-setup .builder-enemy-grid .builder-enemy-preview img{height:54px}.builder-opponent-setup .builder-enemy-preview strong{font-size:8px;padding:3px 4px;text-align:center}.builder-opponent-setup .builder-enemy-mini-empty{min-height:65px}}

/* Single-player track: shared information above the chosen side. */
.tl-solo-frame .tl-team-banner{top:4px;left:12px;bottom:auto;right:auto}.tl-solo-frame .tl-end-watermark{display:none}.tl-solo-frame .tl-end-cell{padding-bottom:10px}

/* Keep the card, three actions and close control usable in a short viewport. */
.timeline-dialog.tl-unit-dialog{max-width:900px;max-height:96dvh;padding:16px 20px;scrollbar-gutter:stable}.tl-unit-dialog h2{font-size:18px;line-height:1.3;margin:0 0 4px}.tl-unit-dialog .tl-card-hint{font-size:11px!important;line-height:1.4;margin:0 0 8px}.tl-unit-dialog .tl-dialog-card{width:min(100%,max(220px,calc((100dvh - 350px)*1.411)));margin:6px auto 16px}.tl-unit-dialog .tl-dialog-card+p{line-height:1.4;margin:7px 0}.tl-unit-dialog .tl-edit-actions:has(>.tl-aux-action){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.tl-unit-dialog .tl-aux-action{min-width:0;min-height:54px;padding:7px;gap:7px}.tl-unit-dialog .tl-aux-action span{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.tl-unit-dialog .tl-manual-section{margin-top:10px;padding-top:0}.tl-manual-section summary{min-height:34px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:bold;cursor:pointer;gap:10px;color:#8d6340}.tl-manual-section summary span{font-size:10px;font-weight:normal}.tl-manual-section[open] summary span{visibility:hidden}.tl-dialog-footer{position:sticky;bottom:-16px;z-index:10;background:linear-gradient(#fffdf6e8,#fffdf6 14px);padding:9px 0 1px;margin-top:5px;display:flex;flex-direction:column;gap:5px}.timeline-dialog .tl-dialog-footer .timeline-close{margin:0;min-height:36px;padding:7px 10px}.timeline-dialog .tl-scroll-more{min-height:26px;font-size:11px;border:0;background:#eee0c9;color:#7c4e2e;padding:4px 8px}@media(max-width:650px){.timeline-dialog.tl-unit-dialog{padding:12px;width:calc(100% - 16px);max-height:97dvh}.tl-unit-dialog .tl-aux-action{gap:4px;padding:6px 4px;min-height:60px}.tl-unit-dialog .tl-aux-action img{width:21px;height:21px}.tl-unit-dialog .tl-aux-action span{font-size:10px}.tl-dialog-footer{bottom:-12px}.tl-unit-dialog .tl-dialog-card{width:min(100%,max(180px,calc((100dvh - 350px)*1.411)))}}
