:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#e8e8e8;background:#0f0f14;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{overflow-x:hidden;max-width:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;max-width:100%;box-sizing:border-box}.home{max-width:480px;margin:5rem auto 3rem;padding:0 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.home-hero{display:flex;flex-direction:column;gap:.6rem}.home-title{font-size:2rem;font-weight:800;color:#fff;margin:0;letter-spacing:-.02em}.home-tagline{margin:0;font-size:.95rem;color:#ffffff80;line-height:1.5}.home-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.home-btn{display:block;padding:.85rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s}.home-btn--primary{background:var(--neon-green);color:#0a0a0f;box-shadow:0 0 16px #39ff1440}.home-btn--primary:hover{background:#5fff3a;box-shadow:0 0 24px #39ff1466}.home-join-hint{margin:0;font-size:.82rem;color:#ffffff47;line-height:1.5}.sl-form{display:flex;flex-direction:column;gap:1.25rem}.sl-section{display:flex;flex-direction:column;gap:.65rem;padding:.9rem;background:#ffffff05;border:1px solid rgba(255,255,255,.07);border-radius:8px}.sl-section-title{margin:0;font-size:.85rem;font-weight:700;color:#ffffffa6;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:.4rem}.sl-icon{font-size:1em;line-height:1}.sl-input-row{display:flex;align-items:flex-end;gap:.55rem;flex-wrap:wrap}.sl-field{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:90px}.sl-label{font-size:.75rem;font-weight:600;color:#ffffff73;letter-spacing:.04em;white-space:nowrap}.sl-input{padding:.5rem .7rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.13);border-radius:6px;color:#fff;font-size:.95rem;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}.sl-input::-webkit-inner-spin-button,.sl-input::-webkit-outer-spin-button{opacity:.35}.sl-input:focus{border-color:var(--neon-green, #39ff14);box-shadow:0 0 0 2px #39ff1426}.sl-arrow{color:#ffffff4d;font-size:1.1rem;line-height:1;padding-bottom:.5rem;flex-shrink:0;-webkit-user-select:none;user-select:none}.sl-add-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:box-shadow .12s,opacity .12s;align-self:flex-end}.snake-add-btn{background:#ff4444d9;color:#fff;box-shadow:0 0 8px #ff44444d}.snake-add-btn:hover{background:#f44;box-shadow:0 0 16px #ff444480}.ladder-add-btn{background:#c8a000d9;color:#fff;box-shadow:0 0 8px #ffd70040}.ladder-add-btn:hover{background:#dcb400;box-shadow:0 0 16px #ffd70073}.sl-error{margin:0;font-size:.8rem;color:#ff6b6b}.sl-error--api{padding:.4rem .6rem;background:#ff6b6b14;border-left:3px solid rgba(255,107,107,.6);border-radius:0 4px 4px 0}.sl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.sl-list-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .65rem;border-radius:6px;font-size:.85rem;border:1px solid transparent}.snake-list-item{background:#ff444414;border-color:#f443;color:#ffaaaaf2}.ladder-list-item{background:#ffd70012;border-color:#ffd70033;color:#ffe682f2}.sl-item-icon{font-size:.95em;line-height:1;flex-shrink:0}.sl-item-label{flex:1;line-height:1.3}.sl-item-label strong{font-weight:700;color:#fff}.sl-remove-btn{background:none;border:none;padding:.15rem .35rem;cursor:pointer;color:#ffffff59;font-size:.75rem;border-radius:3px;line-height:1;flex-shrink:0;transition:color .12s,background .12s}.sl-remove-btn:hover{color:#ff6b6b;background:#ff6b6b1f}.bss-container{display:flex;flex-direction:column;gap:.6rem}.bss-status{min-height:2.2em;padding:.4rem .6rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:.8rem;line-height:1.4;color:#ffffff80;display:flex;align-items:center}.bss-status__hint{display:inline}.bss-status__hint--source-set{color:#ffffffb3}.bss-status__hint--both-set{color:#ffffffd9}.bss-status__sq{display:inline-block;padding:.05em .45em;border-radius:4px;font-weight:700;font-size:.85em}.bss-status__sq--source{background:#39ff142e;color:var(--neon-green);border:1px solid rgba(57,255,20,.45)}.bss-status__sq--dest{background:#39ff141a;color:var(--neon-green);border:1px dashed rgba(57,255,20,.45)}kbd{display:inline-block;padding:.05em .3em;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:3px;font-family:inherit;font-size:.85em;color:#ffffffb3}.bss-canvas-wrapper{position:relative;aspect-ratio:1;width:100%}.bss-grid{display:grid;gap:2px;width:100%;height:100%;border:1px solid rgba(255,255,255,.08);border-radius:6px;overflow:hidden;padding:4px;background:#ffffff05;box-sizing:border-box}.bss-grid--selecting{cursor:crosshair}.bss-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#39ff140d;border:1px solid rgba(57,255,20,.1);border-radius:2px;cursor:pointer;padding:0;color:#ffffff73;font-size:clamp(.35rem,1.8vw,.65rem);line-height:1;outline:none;position:relative;transition:background .1s,border-color .1s,color .1s}.bss-cell:hover{background:#39ff141f;border-color:#39ff1459;color:#ffffffbf}.bss-cell:focus-visible{outline:2px solid var(--neon-green);outline-offset:1px}.bss-cell--source{background:#39ff1433!important;border-color:var(--neon-green)!important;border-style:solid!important;color:#fff!important;box-shadow:0 0 0 2px #39ff1459,0 0 10px #39ff1440;animation:bss-source-pulse 1.5s ease-in-out infinite alternate}@keyframes bss-source-pulse{0%{box-shadow:0 0 0 2px #39ff1440,0 0 6px #39ff1426}to{box-shadow:0 0 0 3px #39ff1473,0 0 12px #39ff144d}}.bss-cell--dest{background:#39ff141a!important;border-color:var(--neon-green)!important;border-style:dashed!important;color:var(--neon-green)!important;animation:bss-dest-pulse 1.1s ease-in-out infinite alternate}@keyframes bss-dest-pulse{0%{box-shadow:0 0 #39ff1426}to{box-shadow:0 0 0 3px #39ff1459}}.bss-grid--selecting .bss-cell--candidate{opacity:.7}.bss-grid--selecting .bss-cell--candidate:hover{opacity:1;background:#39ff1424!important;border-color:#39ff1480!important;color:#ffffffe6!important;cursor:crosshair}.bss-cell--snake-head{background:#ff44441a;border-color:#f446;color:#ffa0a0e6}.bss-cell--snake-head:hover{background:#ff44442e;border-color:#ff4444a6}.bss-cell--ladder-bottom{background:#ffd70014;border-color:#ffd70066;color:#ffe678e6}.bss-cell--ladder-bottom:hover{background:#ffd70029;border-color:#ffd700a6}.bss-cell--snake-tail{background:#ff44440a;border-color:#f443;border-style:dashed;color:#ff8c8c8c}.bss-cell--ladder-top{background:#ffd7000a;border-color:#ffd70033;border-style:dashed;color:#ffdc648c}.bss-cell__num{font-size:inherit;font-weight:500;line-height:1;pointer-events:none}.bss-cell__label{font-size:.55em;line-height:1.1;color:#ffffffa6;text-align:center;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;pointer-events:none;max-width:100%}.bss-cell__badge{font-size:.7em;line-height:1;pointer-events:none}.bss-cell__badge--source{font-size:.65em;line-height:1}.bss-cell__badge--dest{font-size:.55em;line-height:1;color:var(--neon-green)}.bss-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.create-game{max-width:640px;margin:2rem auto;padding:0 1.5rem 3rem}.create-game h2{margin:0 0 2rem;font-size:1.5rem;font-weight:700;color:#fff;text-align:center}.create-form{display:flex;flex-direction:column;gap:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field>label{font-size:.9rem;font-weight:600;color:#ffffffb3;letter-spacing:.05em;text-transform:uppercase}.field-hint{margin:0;font-size:.8rem;color:#fff6}.form-field input[type=text]{padding:.65rem .9rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:1rem;outline:none;transition:border-color .15s}.form-field input[type=text]:focus{border-color:var(--neon-green);box-shadow:0 0 0 2px #39ff1426}.board-size-control{display:flex;flex-direction:column;gap:.75rem}.board-size-header{display:flex;align-items:baseline;justify-content:space-between}.board-size-value{font-size:1.1rem;font-weight:700;color:var(--neon-green);text-shadow:0 0 8px var(--neon-dim)}.board-size-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:#ffffff1a;border-radius:3px;outline:none;cursor:pointer}.board-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--neon-green);box-shadow:0 0 8px var(--neon-glow);cursor:pointer;transition:box-shadow .15s}.board-size-slider::-webkit-slider-thumb:hover{box-shadow:0 0 16px var(--neon-glow)}.board-size-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--neon-green);box-shadow:0 0 8px var(--neon-glow);cursor:pointer;border:none;transition:box-shadow .15s}.board-size-slider::-moz-range-thumb:hover{box-shadow:0 0 16px var(--neon-glow)}.board-size-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#fff6}.board-editor-container{display:flex;flex-direction:column;gap:.75rem}.be-mode-toggle{display:flex;gap:.4rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.25rem}.be-mode-btn{flex:1;padding:.45rem .75rem;background:transparent;border:none;border-radius:6px;color:#ffffff80;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .13s,color .13s}.be-mode-btn:hover:not(.be-mode-btn--active){background:#ffffff12;color:#fffc}.be-mode-btn--active{background:#39ff141f;color:var(--neon-green);box-shadow:0 0 6px #39ff1426}.board-canvas-wrapper{position:relative;aspect-ratio:1;width:100%}.board-editor{display:grid;gap:2px;width:100%;height:100%;border:1px solid rgba(255,255,255,.08);border-radius:6px;overflow:hidden;padding:4px;background:#ffffff05;box-sizing:border-box}.board-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.board-cell-editor{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#39ff140d;border:1px solid rgba(57,255,20,.1);border-radius:2px;cursor:pointer;padding:0;color:#ffffff73;font-size:clamp(.35rem,1.8vw,.65rem);transition:background .12s,border-color .12s,color .12s;outline:none;position:relative;line-height:1}.board-cell-editor:hover{background:#39ff141f;border-color:#39ff1459;color:#ffffffbf}.board-cell-editor:focus-visible{outline:2px solid var(--neon-green);outline-offset:1px}.cell-snake-head{background:#ff44441a;border-color:#f446;color:#ffa0a0e6}.cell-snake-head:hover{background:#ff44442e;border-color:#ff4444a6}.cell-ladder-bottom{background:#ffd70014;border-color:#ffd70066;color:#ffe678e6}.cell-ladder-bottom:hover{background:#ffd70029;border-color:#ffd700a6}.cell-snake-tail{background:#ff44440a;border-color:#f443;border-style:dashed;color:#ff8c8c8c}.cell-ladder-top{background:#ffd7000a;border-color:#ffd70033;border-style:dashed;color:#ffdc648c}.cell-active{background:#39ff142e!important;border-color:var(--neon-green)!important;border-style:solid!important;box-shadow:0 0 0 2px #39ff144d,0 0 8px #39ff1433;color:#fff!important}.board-editor--selecting .board-cell-editor.cell-dest-candidate{cursor:crosshair;opacity:.75}.board-editor--selecting .board-cell-editor.cell-dest-candidate:hover{opacity:1;background:#39ff1424!important;border-color:#39ff1480!important;color:#ffffffe6!important;border-style:solid!important}.cell-pending-dest{background:#39ff141a!important;border-color:var(--neon-green)!important;border-style:dashed!important;color:var(--neon-green)!important;animation:dest-pulse 1.1s ease-in-out infinite alternate}@keyframes dest-pulse{0%{box-shadow:0 0 #39ff1426}to{box-shadow:0 0 0 3px #39ff1459}}.cell-source-badge{font-size:.7em;line-height:1}.cell-dest-badge{font-size:.55em;line-height:1;color:var(--neon-green)}.cell-num{font-size:inherit;font-weight:500;line-height:1}.cell-badge{font-size:.7em;line-height:1}.board-editor--text-mode .board-cell-editor{cursor:pointer}.cell-has-label{background:#64b4ff12!important;border-color:#64b4ff59!important;color:#a0d2ffe6!important}.cell-has-label:hover{background:#64b4ff24!important;border-color:#64b4ff99!important}.cell-label-preview{font-size:clamp(.28rem,1.1vw,.45rem);line-height:1.2;color:#a0d2ffbf;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:90%;display:block}.cell-inline-edit-popup{position:absolute;z-index:20;transform:translate(-50%);min-width:180px;max-width:230px;background:#0a0a10f7;border:1px solid rgba(57,255,20,.45);border-radius:8px;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.45rem;box-shadow:0 6px 24px #000000bf,0 0 0 1px #39ff1414;pointer-events:all;animation:panel-in .12s ease}.popup-below{margin-top:3px}.popup-above{transform:translate(-50%) translateY(-100%);margin-top:-3px}.popup-below:before,.popup-above:after{content:"";position:absolute;left:50%;transform:translate(-50%);border:5px solid transparent}.popup-below:before{bottom:100%;border-bottom-color:#39ff1473}.popup-above:after{top:100%;border-top-color:#39ff1473}.inline-edit-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.inline-edit-title{font-size:.78rem;font-weight:700;color:var(--neon-green);letter-spacing:.04em;white-space:nowrap}.inline-edit-close{background:none;border:none;color:#fff6;font-size:.78rem;cursor:pointer;padding:.1rem .25rem;border-radius:3px;line-height:1;flex-shrink:0;transition:color .12s,background .12s}.inline-edit-close:hover{color:#fff;background:#ffffff14}.inline-edit-input{padding:.4rem .55rem;background:#ffffff12;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:#fff;font-size:.82rem;font-family:inherit;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.inline-edit-input:focus{border-color:var(--neon-green);box-shadow:0 0 0 2px #39ff1426}.inline-edit-input::placeholder{color:#ffffff47}.inline-edit-textarea{padding:.4rem .55rem;background:#ffffff12;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:#fff;font-size:.82rem;font-family:inherit;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;resize:vertical;min-height:4rem}.inline-edit-textarea:focus{border-color:var(--neon-green);box-shadow:0 0 0 2px #39ff1426}.inline-edit-textarea::placeholder{color:#ffffff47}.inline-edit-actions{display:flex;align-items:center;gap:.35rem}.inline-edit-actions-right{display:flex;gap:.3rem;margin-left:auto}.inline-edit-btn-clear{padding:.28rem .5rem;background:none;border:1px solid rgba(255,107,107,.38);border-radius:5px;color:#ff6b6bbf;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.inline-edit-btn-clear:hover{background:#ff6b6b1a;border-color:#ff6b6b;color:#ff6b6b}.inline-edit-btn-cancel{padding:.28rem .55rem;background:none;border:1px solid rgba(255,255,255,.13);border-radius:5px;color:#ffffff7a;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.inline-edit-btn-cancel:hover{background:#ffffff0f;border-color:#ffffff47;color:#fffc}.inline-edit-btn-save{padding:.28rem .55rem;background:var(--neon-green);border:none;border-radius:5px;color:#0f0f14;font-size:.72rem;font-weight:700;cursor:pointer;box-shadow:0 0 6px var(--neon-glow);transition:box-shadow .12s,opacity .12s}.inline-edit-btn-save:hover:not(:disabled){box-shadow:0 0 12px var(--neon-glow)}.inline-edit-btn-save:disabled{opacity:.32;cursor:not-allowed;box-shadow:none}.cell-edit-textarea{resize:vertical;font-family:inherit;line-height:1.5}.cell-edit-panel{background:#0f0f16fa;border:1px solid rgba(57,255,20,.3);border-radius:8px;overflow:hidden;animation:panel-in .15s ease}@keyframes panel-in{0%{opacity:0}to{opacity:1}}.cell-edit-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;background:#39ff1412;border-bottom:1px solid rgba(57,255,20,.15)}.cell-edit-title{font-size:.85rem;font-weight:700;color:var(--neon-green);letter-spacing:.04em}.cell-edit-close{background:none;border:none;color:#ffffff73;font-size:.85rem;cursor:pointer;padding:.15rem .35rem;border-radius:3px;transition:color .12s,background .12s;line-height:1}.cell-edit-close:hover{color:#fff;background:#ffffff14}.cell-edit-body{padding:.9rem;display:flex;flex-direction:column;gap:.75rem}.cell-pick-hint{margin:0;font-size:.78rem;color:#ffffff80;font-style:italic;line-height:1.4}.cell-type-toggle{display:flex;gap:.5rem}.type-option{flex:1;padding:.45rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#ffffff8c;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.type-option:hover{background:#ffffff14;border-color:#ffffff40;color:#ffffffd9}.type-option.selected{background:#39ff141f;border-color:var(--neon-green);color:var(--neon-green);box-shadow:0 0 8px #39ff1426}.cell-edit-field{display:flex;flex-direction:column;gap:.35rem}.cell-edit-label{font-size:.8rem;font-weight:600;color:#ffffff8c;letter-spacing:.04em}.cell-edit-input{padding:.55rem .8rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:1rem;outline:none;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box;-moz-appearance:textfield}.cell-edit-input::-webkit-inner-spin-button,.cell-edit-input::-webkit-outer-spin-button{opacity:.4}.cell-edit-input:focus{border-color:var(--neon-green);box-shadow:0 0 0 2px #39ff1426}.cell-edit-error{margin:0;font-size:.8rem;color:#ff6b6b}.cell-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.cell-edit-actions-right{display:flex;gap:.5rem;margin-left:auto}.btn-remove-config{padding:.45rem .8rem;background:none;border:1px solid rgba(255,107,107,.4);border-radius:6px;color:#ff6b6bcc;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.btn-remove-config:hover{background:#ff6b6b1a;border-color:#ff6b6b;color:#ff6b6b}.btn-cancel-edit{padding:.45rem .85rem;background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffff8c;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.btn-cancel-edit:hover{background:#ffffff0f;border-color:#ffffff4d;color:#fffc}.btn-save-edit{padding:.45rem .85rem;background:var(--neon-green);border:none;border-radius:6px;color:#0f0f14;font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:0 0 8px var(--neon-glow);transition:box-shadow .12s,opacity .12s}.btn-save-edit:hover{box-shadow:0 0 16px var(--neon-glow)}.board-config-summary{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .9rem;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:6px}.summary-group{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.summary-label{font-size:.78rem;font-weight:700;color:#ffffff80;margin-right:.25rem;white-space:nowrap}.summary-item{font-size:.78rem;font-weight:600;padding:.2rem .45rem;border-radius:4px}.snake-item{background:#ff44441f;color:#ffa0a0e6;border:1px solid rgba(255,68,68,.25)}.ladder-item{background:#ffd7001a;color:#ffe178e6;border:1px solid rgba(255,215,0,.22)}.label-item{background:#64b4ff14;color:#a0d2ffe6;border:1px solid rgba(100,180,255,.22)}.summary-item--removable{display:inline-flex;align-items:center;gap:.3rem}.summary-remove-btn{background:none;border:none;padding:0 .1rem;cursor:pointer;color:#ffffff4d;font-size:.62rem;line-height:1;border-radius:2px;flex-shrink:0;transition:color .12s,background .12s}.summary-remove-btn:hover{color:#ff6b6b;background:#ff6b6b1f}.form-submit{display:flex;flex-direction:column;gap:.75rem;align-items:stretch;margin-top:.5rem}.btn-create{padding:.85rem 1.5rem;background:var(--neon-green);color:#0f0f14;font-size:1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;letter-spacing:.05em;box-shadow:0 0 16px var(--neon-glow);transition:box-shadow .15s,opacity .15s}.btn-create:hover:not(:disabled){box-shadow:0 0 24px var(--neon-glow),0 0 8px var(--neon-green)}.btn-create:disabled{opacity:.4;cursor:not-allowed}.form-error{color:#ff6b6b;font-size:.9rem;margin:0;text-align:center}.game-page{width:100%;max-width:1600px;margin:0 auto;padding:1.25rem 1.5rem 3rem;box-sizing:border-box}.board-section{width:100%}.game-page-loading,.game-page-error,.game-page-placeholder{margin-top:3rem;color:#ffffff80}.game-page-error{color:#ff6b6b}.game-meta{color:#fff9;font-size:.9rem;margin:.25rem 0 1.5rem}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9000;display:flex;flex-direction:column;gap:.5rem;max-width:360px;width:calc(100% - 2rem);pointer-events:none}.toast{display:flex;align-items:center;gap:.55rem;padding:.65rem .75rem .65rem .85rem;border-radius:9px;font-size:.83rem;font-weight:500;line-height:1.35;background:#0f0f14eb;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000080;pointer-events:all;animation:toast-in .22s cubic-bezier(.34,1.3,.64,1) both}@keyframes toast-in{0%{opacity:0;transform:translate(60px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.toast--info{box-shadow:0 4px 20px #00000080,inset 3px 0 #818cf8}.toast--success{box-shadow:0 4px 20px #00000080,inset 3px 0 #4ade80}.toast--warning{box-shadow:0 4px 20px #00000080,inset 3px 0 #fbbf24}.toast--error{box-shadow:0 4px 20px #00000080,inset 3px 0 #f87171}.toast-icon{font-size:.95rem;flex-shrink:0;line-height:1}.toast-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.toast-body{flex:1;color:#ffffffe6;min-width:0}.toast-body strong{color:#fff}.toast-dismiss{flex-shrink:0;background:none;border:none;color:#ffffff59;font-size:.8rem;line-height:1;padding:.15rem .2rem;cursor:pointer;border-radius:4px;transition:color .15s;margin-left:.15rem}.toast-dismiss:hover{color:#fffc}.role-badge{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}.role-badge--spectator{background:#8b5cf62e;border:1px solid rgba(139,92,246,.4);color:#c4b5fd}.name-entry-form{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:2rem}.name-entry-label{font-size:1rem;color:#fffc}.name-entry-row{display:flex;gap:.5rem}.name-entry-input{padding:.5rem .75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:1rem;min-width:200px}.name-entry-input::placeholder{color:#ffffff59}.name-entry-btn{padding:.5rem 1.25rem;border-radius:6px;border:none;background:#2a9d8f;color:#fff;font-size:1rem;cursor:pointer;transition:background .15s}.name-entry-btn:hover:not(:disabled){background:#21867a}.name-entry-btn:disabled{opacity:.45;cursor:default}.name-entry-error{margin:0;font-size:.82rem;color:#ff6b6b;text-align:center}.name-entry-role-group{display:flex;flex-direction:column;align-items:center;gap:.5rem}.name-entry-role-label{font-size:.85rem;color:#ffffff8c;letter-spacing:.02em}.name-entry-role-toggle{display:inline-flex;gap:.3rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.25rem}.role-btn{padding:.45rem 1.1rem;border-radius:6px;border:none;background:transparent;color:#ffffff8c;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.role-btn:hover:not(.role-btn--active){background:#ffffff14;color:#ffffffd9}.role-btn--active{background:#ffffff21;color:#fff;font-weight:600}.board-mode-toggle{display:inline-flex;gap:.35rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.3rem;margin-bottom:.75rem}.mode-btn{padding:.4rem .9rem;border-radius:6px;border:none;background:transparent;color:#fff9;font-size:.875rem;cursor:pointer;transition:background .15s,color .15s}.mode-btn:hover:not(.mode-btn--active){background:#ffffff12;color:#ffffffd9}.mode-btn--active{background:#ffffff1f;color:#fff;font-weight:600}.board-mode-hint{font-size:.83rem;color:#ffffff8c;margin:0 0 .65rem;min-height:1.2em}.game-board-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-top:.5rem;width:clamp(450px,min(100%,calc(100svh - 350px)),750px);margin-right:auto}.game-board-canvas-wrapper{position:relative;width:100%}.game-board{display:grid;gap:3px;width:100%}.game-board--placement .game-board-cell{cursor:crosshair}.game-board-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;cursor:pointer;transition:background .12s,border-color .12s;padding:2px;position:relative;overflow:hidden}.cell-step-glow-overlay{position:absolute;inset:0;pointer-events:none;border-radius:inherit;mix-blend-mode:screen;animation:cell-step-glow .38s ease-out forwards;z-index:1}@keyframes cell-step-glow{0%{opacity:0}12%{opacity:.75}35%{opacity:.55}to{opacity:0}}.game-board-cell.cell-even{background:#ffffff0a;border-color:#ffffff12}.game-board-cell.cell-odd{background:#ffffff1a;border-color:#ffffff24}.game-board-cell.cell-even:hover{background:#ffffff1a;border-color:#ffffff38}.game-board-cell.cell-odd:hover{background:#ffffff2e;border-color:#ffffff47}.game-board-cell:hover{background:#ffffff21;border-color:#ffffff40}.game-board-cell.cell-active{background:#facc152e;border-color:#facc15;outline:none}.game-board-cell.cell-snake-head{background:#ef444433;border-color:#ef444480}.game-board-cell.cell-snake-tail{background:#ef444414;border-color:#ef444433}.game-board-cell.cell-ladder-bottom{background:#2a9d8f2e;border-color:#2a9d8f73}.game-board-cell.cell-ladder-top{background:#2a9d8f12;border-color:#2a9d8f33}.game-board-cell.cell-has-task{background:repeating-linear-gradient(-45deg,rgba(250,204,21,.06) 0px,rgba(250,204,21,.06) 3px,transparent 3px,transparent 8px);border-color:#facc158c;border-style:dashed}.cell-task-badge{font-size:clamp(.6rem,1.3vw,.9rem);font-weight:900;color:#facc15e6;line-height:1;position:relative;z-index:2;text-shadow:0 0 6px rgba(250,204,21,.5)}.game-board-cell.cell-placement-from{background:#facc1538;border-color:#facc15;box-shadow:0 0 0 2px #facc154d}.game-board-cell.cell-placement-to{background:#39ff142e;border-color:#39ff14b3;box-shadow:0 0 0 2px #39ff1433}.cell-placement-to-badge{font-size:clamp(.55rem,1.2vw,.8rem);color:#39ff14e6}.cell-num{font-size:clamp(.45rem,1vw,.7rem);color:#ffffff8c;line-height:1;position:relative;z-index:2}.cell-badge{font-size:clamp(.5rem,1.1vw,.75rem);line-height:1;position:relative;z-index:2}.cell-badge--snake-head{opacity:1;filter:none}.cell-badge--snake-tail{font-size:clamp(.38rem,.85vw,.6rem);opacity:.45;filter:grayscale(.4)}.cell-badge--ladder-bottom{opacity:1;filter:none}.cell-badge--ladder-top{font-size:clamp(.38rem,.85vw,.6rem);opacity:.45;filter:grayscale(.4)}.cell-custom-text{position:relative;z-index:2;font-size:clamp(.38rem,.8vw,.58rem);line-height:1.2;color:#ffffffbf;text-align:center;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;padding:0 1px}.game-board-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.square-edit-panel{width:min(100%,360px);background:#1c1c22f7;border:1px solid rgba(255,255,255,.15);border-radius:10px;overflow:hidden;box-shadow:0 8px 32px #0000008c}.square-edit-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.1)}.square-edit-title{font-weight:600;font-size:.95rem}.square-edit-close{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:1rem;padding:.15rem .3rem;border-radius:4px;line-height:1;transition:color .12s}.square-edit-close:hover{color:#ffffffe6}.square-edit-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.6rem;text-align:left}.square-edit-loading{color:#ffffff73;font-size:.875rem;margin:0}.square-edit-label{font-size:.82rem;color:#fff9;font-weight:500}.square-edit-input{width:100%;box-sizing:border-box;padding:.55rem .7rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff12;color:inherit;font-size:.9rem;font-family:inherit;resize:vertical;line-height:1.45}.square-edit-input:focus{outline:none;border-color:#facc15}.square-edit-input:disabled{opacity:.6}.square-edit-error{margin:0;font-size:.82rem;color:#ff6b6b}.square-edit-success{margin:0;font-size:.82rem;color:#4ade80}.square-edit-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.btn-cancel-edit{padding:.4rem .9rem;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#ffffffb3;cursor:pointer;font-size:.875rem;transition:background .12s}.btn-cancel-edit:hover:not(:disabled){background:#ffffff14}.btn-cancel-edit:disabled{opacity:.45;cursor:not-allowed}.btn-save-edit{padding:.4rem 1rem;border-radius:6px;border:none;background:#2a9d8f;color:#fff;font-weight:600;cursor:pointer;font-size:.875rem;transition:background .12s,opacity .12s}.btn-save-edit:hover:not(:disabled){background:#21867a}.btn-save-edit:disabled{opacity:.4;cursor:not-allowed}.connector-confirm-panel{width:min(100%,480px);margin:.85rem auto 0;background:#14141cf7;border:1px solid rgba(255,255,255,.16);border-radius:10px;overflow:hidden;box-shadow:0 8px 32px #0000008c;text-align:left;animation:ccp-enter .18s ease-out}@keyframes ccp-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ccp-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#ffffff0e;border-bottom:1px solid rgba(255,255,255,.09)}.ccp-title{font-size:.95rem;color:#ffffffd9}.ccp-title strong{font-weight:700;color:#fff}.ccp-close{background:none;border:none;color:#ffffff6b;cursor:pointer;font-size:.95rem;padding:.15rem .3rem;border-radius:4px;line-height:1;transition:color .12s}.ccp-close:hover{color:#ffffffd9}.ccp-body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.65rem}.ccp-type-toggle{display:inline-flex;gap:.3rem;background:#00000047;border-radius:8px;padding:.25rem}.ccp-type-btn{padding:.42rem 1.05rem;border-radius:6px;border:none;background:transparent;color:#ffffff85;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .13s,color .13s}.ccp-type-btn:hover:not(.ccp-type-btn--snake):not(.ccp-type-btn--ladder){background:#ffffff12;color:#fffc}.ccp-type-btn--snake{background:#ef444438;color:#f87171;font-weight:700}.ccp-type-btn--ladder{background:#2a9d8f38;color:#4dd9c8;font-weight:700}.ccp-description{margin:0;font-size:.82rem;color:#ffffff85;line-height:1.5}.ccp-error{margin:0;font-size:.82rem;color:#ff6b6b}.ccp-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.1rem}.ccp-cancel-btn{padding:.42rem .9rem;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#ffffffa6;cursor:pointer;font-size:.875rem;transition:background .12s}.ccp-cancel-btn:hover:not(:disabled){background:#ffffff12}.ccp-cancel-btn:disabled{opacity:.45;cursor:not-allowed}.ccp-confirm-btn{padding:.42rem 1.15rem;border-radius:6px;border:none;color:#fff;font-weight:700;font-size:.875rem;cursor:pointer;transition:background .12s,opacity .12s}.ccp-confirm-btn--snake{background:#ef4444d1}.ccp-confirm-btn--snake:hover:not(:disabled){background:#ef4444f7}.ccp-confirm-btn--ladder{background:#2a9d8fd1}.ccp-confirm-btn--ladder:hover:not(:disabled){background:#2a9d8ff7}.ccp-confirm-btn:disabled{opacity:.42;cursor:not-allowed}.connector-panel{margin-top:1.5rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);overflow:hidden;text-align:left}.cp-add-section{padding:1.1rem 1.25rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.07)}.cp-list-section{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.07)}.cp-list-section:last-child{border-bottom:none}.cp-section-title{margin:0 0 .65rem;font-size:.9rem;font-weight:600;color:#fffc;display:flex;align-items:center;gap:.4rem}.cp-count{font-size:.75rem;font-weight:500;background:#ffffff1a;color:#fff9;border-radius:10px;padding:.1rem .45rem}.cp-hint{font-size:.82rem;color:#ffffff80;margin:0 0 .9rem;min-height:1.2em}.cp-type-toggle{display:inline-flex;gap:.3rem;background:#0003;border-radius:7px;padding:.25rem;margin-bottom:.9rem}.cp-type-btn{padding:.35rem .85rem;border-radius:5px;border:none;background:transparent;color:#ffffff8c;font-size:.85rem;cursor:pointer;transition:background .12s,color .12s}.cp-type-btn--active{background:#ffffff1f;color:#fff;font-weight:600}.cp-type-btn:hover:not(.cp-type-btn--active){background:#ffffff0f;color:#fffc}.cp-inputs-row{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}.cp-input-group{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:80px;max-width:140px}.cp-input-label{font-size:.78rem;color:#ffffff8c;font-weight:500}.cp-input{padding:.45rem .6rem;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#ffffff12;color:inherit;font-size:.9rem;font-family:inherit;width:100%;box-sizing:border-box;transition:border-color .12s,background .12s}.cp-input:focus{outline:none;border-color:#fff6}.cp-input--selected{border-color:#facc15;background:#facc1514}.cp-arrow{font-size:1.1rem;color:#ffffff4d;line-height:1;padding-bottom:.4rem;flex-shrink:0}.cp-add-btn{padding:.45rem 1.1rem;border-radius:6px;border:none;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .12s,opacity .12s;flex-shrink:0}.cp-add-btn--snake{background:#ef4444bf}.cp-add-btn--snake:hover:not(:disabled){background:#ef4444e6}.cp-add-btn--ladder{background:#2a9d8fbf}.cp-add-btn--ladder:hover:not(:disabled){background:#2a9d8fe6}.cp-add-btn:disabled{opacity:.38;cursor:not-allowed}.cp-error{margin:.55rem 0 0;font-size:.82rem;color:#ff6b6b}.cp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.cp-list-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:6px;font-size:.875rem;transition:opacity .15s}.cp-list-item--snake{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.cp-list-item--ladder{background:#2a9d8f1a;border:1px solid rgba(42,157,143,.2)}.cp-list-item--removing{opacity:.45;pointer-events:none}.cp-item-icon{font-size:1rem;flex-shrink:0}.cp-item-content{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.cp-item-label{color:#fffc}.cp-item-error{font-size:.75rem;color:#ff6b6b;line-height:1.3}.cp-remove-btn{background:none;border:none;color:#ffffff59;cursor:pointer;font-size:.85rem;padding:.15rem .35rem;border-radius:4px;line-height:1;transition:color .12s,background .12s;flex-shrink:0;min-width:1.5rem;text-align:center}.cp-remove-btn:hover:not(:disabled){color:#ff6b6b;background:#ef44441f}.cp-remove-btn:disabled{opacity:.5;cursor:not-allowed}.cp-empty{margin:0;font-size:.82rem;color:#ffffff4d}.ws-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:500;padding:.25rem .65rem;border-radius:20px;margin-bottom:1rem;border:1px solid transparent;transition:color .2s,border-color .2s}.ws-status--connected{color:#4ade80;border-color:#4ade8040;background:#4ade8012}.ws-status--disconnected{color:#fff6;border-color:#ffffff1a;background:#ffffff08}.ws-status--reconnecting{color:#fbbf24;border-color:#fbbf2440;background:#fbbf2412;animation:reconnecting-pulse 1.4s ease-in-out infinite}@keyframes reconnecting-pulse{0%,to{opacity:1}50%{opacity:.6}}.ws-status--reconnecting .ws-status-dot{background:#fbbf24;box-shadow:0 0 0 2px #fbbf244d;animation:reconnecting-pulse 1.4s ease-in-out infinite}.ws-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ws-status--connected .ws-status-dot{background:#4ade80;box-shadow:0 0 0 2px #4ade804d}.ws-status--disconnected .ws-status-dot{background:#ffffff40}.players-header-box{width:100%;margin-bottom:1.25rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);overflow:hidden;text-align:left;padding:.9rem 1.25rem 1rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.85rem}.players-grid{display:flex;flex-wrap:wrap;gap:.5rem}.player-card{position:relative;display:flex;align-items:center;gap:.4rem;padding:.35rem .65rem .35rem .5rem;border-radius:7px;background:color-mix(in srgb,var(--pc, #888) 22%,transparent);border:1.5px solid color-mix(in srgb,var(--pc, #888) 65%,transparent);font-size:.82rem;flex-shrink:0;overflow:hidden;transition:opacity .2s}.player-card--active{outline:2px solid #facc15;outline-offset:1px}.player-card--spectator{--pc: #888;opacity:.65}.player-card--disconnected{opacity:.45}.player-card--disconnected:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(-45deg,transparent 0px,transparent 8px,rgba(255,255,255,.18) 8px,rgba(255,255,255,.18) 11px);pointer-events:none}.player-card-icon{font-size:.95rem;flex-shrink:0;line-height:1}.player-card-name{font-weight:600;color:#fff;display:flex;align-items:center;gap:.3rem;text-shadow:0 1px 3px rgba(0,0,0,.6)}.player-you-badge{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:#ffffff40;border-radius:3px;padding:.05rem .3rem;line-height:1.4;text-shadow:none;margin-left:5px}.player-turn-arrow{font-size:.6rem;color:#facc15;flex-shrink:0;filter:drop-shadow(0 0 3px #facc15)}.players-controls{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.game-action-bar{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;margin-bottom:1rem;padding:.75rem 1.25rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09)}.gameplay-btn--roll-lg{font-size:1.05rem;padding:.65rem 2rem}.game-action-bar-status{margin:0;font-size:.95rem;color:#ffffff8c}.game-action-bar-status strong{color:#ffffffd9}.post-board-section{margin-top:1.25rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);overflow:hidden;text-align:left}.gameplay-winner{padding:.85rem 1.25rem;background:#facc151f;border-bottom:1px solid rgba(250,204,21,.2);font-size:1.05rem;color:#facc15;text-align:center}.gameplay-live-rankings{padding:.85rem 1.25rem;background:#94a3b80f;border-bottom:1px solid rgba(148,163,184,.14);text-align:left}.live-rankings-title{font-size:.9rem;font-weight:600;color:#ffffffb3;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em}.live-rankings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.live-rankings-entry{display:flex;align-items:center;gap:.5rem;font-size:.855rem;padding:.25rem .45rem;border-radius:5px;background:#ffffff08;animation:ranking-entry-slide-in .3s ease-out both}@keyframes ranking-entry-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.live-rankings-colour{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,.15)}.live-rankings-name{flex:1;font-weight:500;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-rankings-medal{font-size:.95rem;flex-shrink:0}.live-rankings-rank{font-size:.75rem;color:#fff6;flex-shrink:0}.gameplay-game-over{padding:1rem 1.25rem;background:#facc1514;border-bottom:1px solid rgba(250,204,21,.18);text-align:left}.game-over-title{font-size:1.1rem;font-weight:600;color:#facc15;margin-bottom:.65rem;text-align:center}.game-over-standings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.game-over-standing-entry{display:flex;align-items:center;gap:.55rem;font-size:.875rem;padding:.3rem .5rem;border-radius:6px;background:#ffffff08}.game-over-player-colour{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,.15)}.game-over-player-name{flex:1;font-weight:500;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-over-medal{font-size:1rem;flex-shrink:0}.game-over-rank{font-size:.78rem;color:#ffffff73;flex-shrink:0}.gameplay-players{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.07)}.gameplay-player{display:flex;align-items:center;gap:.55rem;font-size:.875rem;padding:.35rem .6rem;border-radius:6px;transition:background .12s}.gameplay-player--active{background:#ffffff0f}.gameplay-player-colour{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,.15)}.gameplay-player-name{flex:1;font-weight:500;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gameplay-player-pos{font-size:.78rem;color:#fff6;flex-shrink:0}.gameplay-turn-badge{font-size:.7rem;color:#facc15;flex-shrink:0}.gameplay-last-move{padding:.7rem 1.25rem;font-size:.875rem;color:#ffffffbf;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.last-move-name{font-weight:600;color:#ffffffe6}.last-move-dice{font-size:1.35rem;line-height:1}.last-move-tag{font-size:.8rem;font-weight:600;border-radius:4px;padding:.1rem .35rem}.last-move-tag--bounce{color:#fbbf24;background:#fbbf241f}.last-move-tag--snake{color:#f87171;background:#f871711f}.last-move-tag--ladder{color:#4ade80;background:#4ade801f}.last-move-tag--extra{color:#a78bfa;background:#a78bfa1f}.last-move-tag--winner{color:#facc15;background:#facc151f}.gameplay-controls{padding:.85rem 1.25rem;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.gameplay-btn{padding:.5rem 1.25rem;border-radius:8px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .08s}.gameplay-btn:active{transform:scale(.97)}.gameplay-btn--start{background:#2a9d8f;color:#fff}.gameplay-btn--start:hover{background:#21867a}.gameplay-btn--roll{background:#e9c46a;color:#1a1a2e}.gameplay-btn--roll:hover{background:#ddb84d}.gameplay-btn--roll:disabled,.gameplay-btn--animating{opacity:.55;cursor:default;background:#b89b4e}.gameplay-btn--roll:disabled:active,.gameplay-btn--animating:active{transform:none}.gameplay-waiting{margin:0;font-size:.875rem;color:#ffffff80}.gameplay-waiting--lobby{font-style:italic}.board-in-progress-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;margin-bottom:.6rem;border-radius:20px;font-size:.78rem;font-weight:600;letter-spacing:.02em;background:#2a9d8f26;border:1px solid rgba(42,157,143,.35);color:#2a9d8f;-webkit-user-select:none;user-select:none}.board-in-progress-badge--finished{background:#facc151f;border-color:#facc154d;color:#facc15}.cell-has-players{outline:1px solid rgba(255,255,255,.25)}.cell-players{display:flex;flex-wrap:wrap;justify-content:center;gap:1px;max-width:100%}.cell-player-token{display:inline-block;width:clamp(5px,1.2vw,9px);height:clamp(5px,1.2vw,9px);border-radius:50%;border:1px solid rgba(255,255,255,.4);flex-shrink:0}.cell-player-overflow{font-size:clamp(.38rem,.8vw,.55rem);color:#fff9;line-height:1}.board-reconnect-container{position:relative}.board-reconnect-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#0a0a0eb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:8px;z-index:10;pointer-events:none}.board-pregame-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0a0e8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;z-index:10}.board-pregame-waiting{margin:0;font-size:1rem;color:#ffffffbf;letter-spacing:.04em}.board-reconnect-label{font-size:.9rem;color:#ffffffbf;letter-spacing:.02em}.board-reconnect-spinner{display:inline-block;width:28px;height:28px;border:3px solid rgba(255,255,255,.15);border-top-color:#ffffffb3;border-radius:50%;animation:reconnect-spin .9s linear infinite}@keyframes reconnect-spin{to{transform:rotate(360deg)}}.token-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.animated-token{position:absolute;width:clamp(10px,2.8vw,20px);height:clamp(10px,2.8vw,20px);border-radius:50%;border:2px solid rgba(255,255,255,.55);box-shadow:0 2px 6px #00000080,0 0 0 1px #0000004d;transform:translate(-50%,-50%);transition:left .09s ease-out,top .09s ease-out;will-change:left,top}.animated-token--teleporting{transition:left .55s cubic-bezier(.4,0,.2,1),top .55s cubic-bezier(.4,0,.2,1)}@keyframes token-teleport-snake{0%{box-shadow:0 2px 6px #00000080,0 0 0 1px #0000004d;transform:translate(-50%,-50%) rotate(0) scale(1);filter:none}20%{box-shadow:0 2px 18px #ef4444bf,0 0 0 4px #ef444461;transform:translate(-50%,-50%) rotate(-9deg) scale(1.12);filter:brightness(1.45) saturate(1.6)}45%{box-shadow:0 2px 24px #ef4444e6,0 0 0 6px #ef444447;transform:translate(-50%,-50%) rotate(7deg) scale(1.06);filter:brightness(1.65) saturate(2)}70%{box-shadow:0 2px 16px #ef4444a6,0 0 0 3px #ef444438;transform:translate(-50%,-50%) rotate(-4deg) scale(1.03);filter:brightness(1.35) saturate(1.45)}to{box-shadow:0 2px 6px #00000080,0 0 0 1px #0000004d;transform:translate(-50%,-50%) rotate(0) scale(1);filter:none}}.animated-token--teleporting-snake{animation:token-teleport-snake .55s ease-in-out}@keyframes token-teleport-ladder{0%{box-shadow:0 2px 6px #00000080,0 0 0 1px #0000004d;transform:translate(-50%,-50%) scale(1);filter:none}25%{box-shadow:0 2px 20px #2a9d8fbf,0 0 0 5px #2a9d8f52;transform:translate(-50%,-50%) scale(1.28);filter:brightness(1.5) saturate(1.7)}55%{box-shadow:0 2px 26px #4dd9c8e0,0 0 0 7px #4dd9c838;transform:translate(-50%,-50%) scale(1.16);filter:brightness(1.8) saturate(2.1)}80%{box-shadow:0 2px 18px #2a9d8f99,0 0 0 4px #2a9d8f33;transform:translate(-50%,-50%) scale(1.06);filter:brightness(1.35) saturate(1.4)}to{box-shadow:0 2px 6px #00000080,0 0 0 1px #0000004d;transform:translate(-50%,-50%) scale(1);filter:none}}.animated-token--teleporting-ladder{animation:token-teleport-ladder .55s ease-in-out}@keyframes token-arrive-pop{0%{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(1.6);box-shadow:0 2px 14px #ffffff73,0 0 0 4px #ffffff2e}65%{transform:translate(-50%,-50%) scale(.86)}82%{transform:translate(-50%,-50%) scale(1.08)}to{transform:translate(-50%,-50%) scale(1)}}.animated-token--arrived{animation:token-arrive-pop .42s cubic-bezier(.34,1.56,.64,1)}@keyframes connector-flash-snake{0%{stroke-opacity:0;stroke-width:.05}15%{stroke-opacity:.92;stroke-width:.044}70%{stroke-opacity:.8;stroke-width:.036}to{stroke-opacity:0;stroke-width:.024}}@keyframes connector-flash-ladder{0%{stroke-opacity:0;stroke-width:.046}15%{stroke-opacity:.94;stroke-width:.038}70%{stroke-opacity:.82;stroke-width:.03}to{stroke-opacity:0;stroke-width:.018}}.connector-trigger-flash{pointer-events:none;fill:none;stroke-linecap:round}.connector-trigger-flash--snake{stroke:#ff5555f2;animation:connector-flash-snake .6s ease-in-out forwards}.connector-trigger-flash--ladder{stroke:#50f0d2f2;animation:connector-flash-ladder .6s ease-in-out forwards}.connector-trigger-flash--ladder-center{stroke:#b4fff5fa}@keyframes cell-trigger-flash-snake{0%{background:#ef44448c;border-color:#ef4444e6;box-shadow:inset 0 0 0 2px #ef4444a6}to{background:#ef444424;border-color:#ef444461;box-shadow:none}}@keyframes cell-trigger-flash-ladder{0%{background:#2a9d8f85;border-color:#2a9d8feb;box-shadow:inset 0 0 0 2px #2a9d8fa6}to{background:#2a9d8f24;border-color:#2a9d8f61;box-shadow:none}}.game-board-cell.cell-trigger-flash-snake{animation:cell-trigger-flash-snake .6s ease-out forwards}.game-board-cell.cell-trigger-flash-ladder{animation:cell-trigger-flash-ladder .6s ease-out forwards}@keyframes dice-bounce-in{0%{transform:scale(.35) rotate(-25deg);opacity:0}50%{transform:scale(1.25) rotate(10deg);opacity:.85}72%{transform:scale(.88) rotate(-4deg);opacity:1}88%{transform:scale(1.06) rotate(1.5deg)}to{transform:scale(1) rotate(0);opacity:1}}.last-move-dice{display:inline-block;animation:dice-bounce-in .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes board-toast-enter{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.65)}60%{opacity:1;transform:translate(-50%) translateY(2px) scale(1.04)}80%{transform:translate(-50%) translateY(-1px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.board-toast{position:absolute;top:28%;left:50%;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:.4em;padding:.5em 1em;border-radius:10px;white-space:nowrap;font-weight:700;font-size:clamp(.7rem,1.8vw,1rem);letter-spacing:.01em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;animation:board-toast-enter .28s cubic-bezier(.34,1.56,.64,1) forwards}.board-toast--snake{background:#be1c1ce6;border:1.5px solid rgba(255,110,110,.55);color:#fff;box-shadow:0 4px 20px #dc26268c,0 0 0 4px #dc262626}.board-toast--ladder{background:#0f8073eb;border:1.5px solid rgba(80,240,210,.5);color:#fff;box-shadow:0 4px 20px #2a9d8f8c,0 0 0 4px #2a9d8f26}.board-toast-icon{font-size:1.25em;line-height:1;flex-shrink:0}.board-toast-text{line-height:1}.winner-announcement-overlay{position:fixed;bottom:2rem;right:2rem;z-index:200;animation:winner-slide-in .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes winner-slide-in{0%{opacity:0;transform:translateY(2rem) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.winner-announcement-card{position:relative;min-width:240px;max-width:300px;padding:1.5rem 1.25rem 1.25rem;border-radius:14px;background:linear-gradient(145deg,#facc1529,#1e1e32f2 60%);border:1.5px solid rgba(250,204,21,.45);box-shadow:0 8px 32px #0000008c,0 0 0 1px #facc151f,0 0 40px #facc151f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center}.winner-announcement-dismiss{position:absolute;top:.55rem;right:.65rem;background:transparent;border:none;color:#fff6;font-size:.8rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1;transition:color .15s ease,background .15s ease}.winner-announcement-dismiss:hover{color:#ffffffd9;background:#ffffff14}.winner-announcement-trophy{font-size:2.5rem;line-height:1;margin-bottom:.5rem;animation:trophy-bounce .6s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes trophy-bounce{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.winner-announcement-headline{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#facc15;margin-bottom:.6rem}.winner-announcement-name-row{display:flex;align-items:center;justify-content:center;gap:.55rem;margin-bottom:.55rem}.winner-announcement-colour{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.2)}.winner-announcement-name{font-size:1.3rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.winner-announcement-subtext{font-size:.78rem;color:#ffffff80;margin:0;line-height:1.4}@media(max-width:500px){.winner-announcement-overlay{bottom:1rem;right:50%;transform:translate(50%)}@keyframes winner-slide-in{0%{opacity:0;transform:translate(50%) translateY(2rem) scale(.92)}to{opacity:1;transform:translate(50%) translateY(0) scale(1)}}}.compact-player-cards{display:none}@media(max-width:479px){.board-section{display:none}.compact-player-cards{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;padding:.25rem 0 .5rem;width:100%}}.compact-player-card{flex:0 0 calc(50% - .375rem);min-width:130px;max-width:200px;aspect-ratio:1;border-radius:14px;border:2px solid var(--cp-colour, rgba(255, 255, 255, .2));background:#ffffff0a;box-shadow:0 0 18px color-mix(in srgb,var(--cp-colour, #fff) 25%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.85rem .5rem .75rem;box-sizing:border-box;transition:box-shadow .2s}.compact-player-card--rolling{box-shadow:0 0 28px color-mix(in srgb,var(--cp-colour, #fff) 55%,transparent);animation:compact-card-pulse .22s ease-in-out infinite alternate}@keyframes compact-card-pulse{0%{border-color:var(--cp-colour, rgba(255, 255, 255, .2))}to{border-color:color-mix(in srgb,var(--cp-colour, #fff) 70%,#fff)}}.compact-card-token{width:28px;height:28px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px color-mix(in srgb,var(--cp-colour, #fff) 60%,transparent)}.compact-card-info{display:flex;align-items:center;gap:.35rem}.compact-card-name{font-size:.8rem;font-weight:600;color:#ffffffe6;text-align:center;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-card-you{font-size:.6rem;color:#a78bfa;background:#a78bfa26;border:1px solid rgba(167,139,250,.3);border-radius:4px;padding:1px 5px;flex-shrink:0}.compact-card-square{display:flex;flex-direction:column;align-items:center;gap:.2rem;animation:compact-sq-in .18s ease-out both}@keyframes compact-sq-in{0%{opacity:0;transform:scale(.75) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.compact-card-sq-num{font-size:2.2rem;font-weight:900;line-height:1;color:#fff;letter-spacing:-.02em}.compact-card-sq-label{font-size:.65rem;color:#fff9;text-align:center;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;line-height:1.3}.action-panel{background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:.85rem .9rem .7rem;display:flex;flex-direction:column;gap:.6rem}.action-panel-row{display:flex;align-items:center;gap:.75rem;min-height:2.75rem}.action-panel-left{flex:1;min-width:0;display:flex;align-items:center}.action-panel-left .gameplay-btn{width:100%;text-align:center}.action-panel-left .sidebar-status-text{margin:0;font-size:.83rem}.action-panel-dice{flex-shrink:0;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center}.die-svg{width:2.6rem;height:2.6rem;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.die-svg--idle{opacity:.75}@keyframes dice-spin-flat{0%{transform:rotate(0)}to{transform:rotate(1080deg)}}.die-svg--spinning{opacity:1;animation:dice-spin-flat 2.25s cubic-bezier(.1,.4,.2,1) forwards}.die-svg--reveal{opacity:1;animation:dice-bounce-in .5s cubic-bezier(.34,1.56,.64,1) both}.action-panel-badge{min-height:1.6rem;display:flex;align-items:center}.action-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.action-badge--inprogress{background:#2a9d8f26;border:1px solid rgba(42,157,143,.35);color:#2a9d8f}.action-badge--finished{background:#facc151f;border:1px solid rgba(250,204,21,.3);color:#facc15}.action-badge--rolling{background:#e9c46a1f;border:1px solid rgba(233,196,106,.35);color:#e9c46a;animation:badge-pulse .9s ease-in-out infinite alternate}@keyframes badge-pulse{0%{opacity:.7}to{opacity:1}}.action-badge--result{background:#e9c46a2e;border:1px solid rgba(233,196,106,.45);color:#facc15;font-size:.8rem;animation:badge-result-in .3s ease-out both}@keyframes badge-result-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sidebar-game-title{margin:0 0 .25rem;font-size:1.15rem;font-weight:700;color:#ffffffe6;letter-spacing:.02em;padding:0 .1rem}.game-layout{display:grid;grid-template-columns:260px 1fr;gap:1.25rem;align-items:start;width:100%;max-width:calc(1010px + 1.25rem);margin-left:auto;margin-right:auto}.game-sidebar{position:sticky;top:1rem;max-height:calc(100svh - 5rem);overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.game-sidebar::-webkit-scrollbar{width:4px}.game-sidebar::-webkit-scrollbar-track{background:transparent}.game-sidebar::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.game-main{min-width:0}.game-main .game-board-wrapper{width:clamp(450px,min(100%,calc(100svh - 200px)),750px)}.sidebar-panel{background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:10px;overflow:hidden}.sidebar-panel--results{border-color:#facc1533;background:#facc150d}.sidebar-panel-title{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff73;padding:.65rem .9rem .5rem;border-bottom:1px solid rgba(255,255,255,.07);margin:0}.sidebar-panel--results .sidebar-panel-title{color:#facc15a6;border-bottom-color:#facc1526}.sidebar-player-list{list-style:none;margin:0;padding:.6rem;display:flex;flex-direction:column;gap:.45rem}.sidebar-player-item{display:flex;align-items:center;gap:.65rem;padding:.65rem .9rem;font-size:.9rem;position:relative;overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--pc, #888) 14%,transparent);border:1.5px solid color-mix(in srgb,var(--pc, #888) 70%,transparent);transition:border-color .15s,background .15s,opacity .2s}.sidebar-player-item--active{background:color-mix(in srgb,var(--pc, #888) 22%,transparent);border-color:color-mix(in srgb,var(--pc, #888) 90%,transparent)}.sidebar-player-item--disconnected{opacity:.5}.sidebar-player-item--disconnected:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(-45deg,transparent 0px,transparent 8px,rgba(255,255,255,.1) 8px,rgba(255,255,255,.1) 11px);pointer-events:none}.sidebar-player-item--spectator{--pc: #888;opacity:.6}.sidebar-player-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-left:auto}.sidebar-player-status-dot--on{background:#4ade80;box-shadow:0 0 5px 1px #4ade80b3}.sidebar-player-status-dot--off{background:#444;box-shadow:none}.sidebar-player-token{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,.25)}.sidebar-player-name{flex:1;font-weight:500;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sidebar-player-item--active .sidebar-player-name{color:#fff;font-weight:600}.sidebar-player-pos{font-size:.78rem;color:#ffffff80;flex-shrink:0}.sidebar-player-turn{font-size:.65rem;color:#facc15;flex-shrink:0;filter:drop-shadow(0 0 3px rgba(250,204,21,.7))}.sidebar-status-text{margin:0;font-size:.875rem;color:#ffffff80;text-align:center;line-height:1.45}.sidebar-status-text--finished{color:#facc15;font-weight:600}.sidebar-empty-text{margin:0;font-size:.82rem;color:#ffffff47;text-align:center;padding:.5rem .9rem .75rem}.task-card-list{display:flex;flex-direction:column;gap:.5rem;max-height:40svh;overflow-y:auto;padding:.6rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.task-card-panel{border-radius:10px;border:1.5px solid color-mix(in srgb,var(--tc, #facc15) 60%,transparent);background:color-mix(in srgb,var(--tc, #facc15) 10%,rgba(20,20,30,.95));animation:task-card-in .3s ease;flex-shrink:0}@keyframes task-card-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.task-card-header{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem .4rem;border-bottom:1px solid rgba(255,255,255,.07)}.task-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.task-card-title{flex:1;font-size:.8rem;color:#ffffffbf}.task-card-title strong{color:#fff;font-weight:700}.task-card-dismiss{background:none;border:none;color:#ffffff59;cursor:pointer;font-size:.7rem;padding:.1rem .2rem;line-height:1;flex-shrink:0}.task-card-dismiss:hover{color:#ffffffb3}.task-card-task-title{margin:0;padding:.5rem .75rem .1rem;font-size:1rem;font-weight:700;color:#fff}.task-card-body{margin:0;padding:.25rem .75rem .7rem;font-size:.875rem;color:#ffffffd1;line-height:1.45;font-weight:400;overflow-wrap:break-word;white-space:pre-wrap}.gameplay-btn--full{width:100%;text-align:center}.toast--roll{box-shadow:0 4px 20px #00000080,inset 3px 0 #e9c46a;align-items:flex-start;gap:.65rem;padding:.7rem .75rem .7rem .85rem}.toast-dice{font-size:1.65rem;line-height:1;flex-shrink:0;display:inline-block;animation:dice-bounce-in .45s cubic-bezier(.34,1.56,.64,1) both}.toast-body{flex:1;color:#ffffffe6;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;padding-top:.15rem}.toast-roll-tag{font-size:.78rem;font-weight:600;border-radius:4px;padding:.1rem .35rem}.toast-roll-tag--bounce{color:#fbbf24;background:#fbbf2424}.toast-roll-tag--snake{color:#f87171;background:#f8717124}.toast-roll-tag--ladder{color:#4ade80;background:#4ade8024}.toast-roll-tag--extra{color:#a78bfa;background:#a78bfa24}.toast-roll-tag--winner{color:#facc15;background:#facc1524}@media(max-width:768px){.game-layout{grid-template-columns:1fr}.game-sidebar{position:static;max-height:none;overflow-y:visible;order:2}.game-main{order:1}.game-main .game-board-wrapper{width:clamp(320px,100%,600px)}}.site-header{text-align:center;padding:1.25rem 1rem .5rem;margin-bottom:0}.site-title{margin:0;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:900;letter-spacing:.25em;color:#fff;text-shadow:0 0 4px #fff,0 0 8px var(--neon-green),0 0 16px var(--neon-green),0 0 24px var(--neon-glow),0 0 40px var(--neon-dim),0 0 80px var(--neon-dim)}.site-header-nav{display:flex;justify-content:center;margin-top:.5rem}.site-header-nav a{color:#ffffff73;text-decoration:none;font-size:.8rem}.site-header-nav a:hover{color:var(--neon-green)}#root{min-height:100vh;margin:0;padding:0;max-width:100%;overflow-x:hidden;box-sizing:border-box}:root{--neon-green: #39ff14;--neon-glow: rgba(57, 255, 20, .4);--neon-dim: rgba(57, 255, 20, .15);--snake-red: #ff4444;--ladder-gold: #ffd700}
