:root{--bg-color:#110402;--container-bg:#230905;--element-bg:#340D07;--disabled-button:#7A2012;--button-color:#AF2E1A;--button-hover:#9D2917;--text-color:#F7EAE8;--accent-text:#E7C0BA;--border-color:#340D07;--yellow-color:#6A5811;--green-color:#105A08;--blue-color:#025578;--purple-color:#503BA1;--border-radius:8px;--gap-size:12px;--transition-time:.3s}[data-theme=light]{--bg-color:#F7EAE8;--container-bg:#DFABA3;--element-bg:#F7EAE8;--disabled-button:#C8817C;--button-color:#C7383B;--button-hover:#B73230;--text-color:#230905;--accent-text:#340D07;--border-color:#D7A9A3;--yellow-color:#FF9;--green-color:#A2FF99;--blue-color:#9FE;--purple-color:#A9F}html{font-kerning:normal;font-variant-ligatures:common-ligatures discretionary-ligatures no-historical-ligatures contextual;font-variant-numeric:oldstyle-nums proportional-nums slashed-zero;hyphens:auto;hyphenate-character:‐;text-rendering:optimizeLegibility}*{box-sizing:border-box;margin:0;padding:0;font-family:Nunito,'Avenir Next',Frutiger,Avenir,-apple-system,BlinkMacSystemFont,'Fira Sans','Open Sans','Noto Sans','Noto Sans','Source Sans Pro','PT Sans',Candara,Ubuntu,Cantarell,Oxygen,system-ui,sans-serif;font-display:block;line-height:1.4em}body{background-color:var(--bg-color);color:var(--text-color);padding:20px;display:flex;justify-content:center;transition:background-color var(--transition-time) ease}a:active,a:hover,a:link,a:visited{color:var(--text-color);text-decoration:underline}.theme-toggle{position:fixed;top:15px;right:15px;width:40px;height:40px;border-radius:50%;background-color:var(--button-color);color:var(--text-color);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;font-size:20px;box-shadow:0 2px 8px #0000004d;transition:background-color var(--transition-time) ease,color var(--transition-time) ease}.theme-toggle:hover{background-color:var(--button-hover);transform:scale(1.05)}.connections-container{width:100%;max-width:550px;background-color:var(--container-bg);border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000001a;transition:background-color var(--transition-time) ease;transform:translateZ(0);backface-visibility:hidden}.connections-header{text-align:center;margin-bottom:24px}.connections-header h1{color:var(--accent-text);font-size:28px;font-weight:700;margin-bottom:10px;transition:color var(--transition-time) ease}.puzzle-title{font-size:22px;font-weight:700;color:var(--accent-text);margin-top:5px;font-weight:400;transition:color var(--transition-time) ease}.connections-instructions{font-size:14px;color:var(--text-color);text-align:center;margin-bottom:24px;transition:color var(--transition-time) ease}.connections-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-size);margin-bottom:24px;max-width:100%}.connections-word{min-height:48px;width:100%;background-color:var(--element-bg);color:var(--text-color);display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 8px;font-weight:700;font-size:15px;overflow-wrap:break-word;word-break:break-word;hyphens:auto;word-wrap:break-word;flex-direction:column;letter-spacing:.5px;border-radius:var(--border-radius);cursor:pointer;border:2px solid transparent;transition:background-color var(--transition-time) ease,color var(--transition-time) ease;user-select:none;touch-action:manipulation;box-shadow:0 2px 4px #0000001a}.connections-word.selected{background-color:var(--button-color)!important}.connections-word.disabled{opacity:.5;cursor:not-allowed}.connections-submit{width:100%;padding:14px;background-color:var(--button-color);color:var(--text-color);border:none;border-radius:var(--border-radius);font-weight:700;cursor:pointer;transition:background-color var(--transition-time) ease,color var(--transition-time) ease;margin-bottom:24px}.connections-submit:hover{background-color:var(--button-hover)}.connections-submit:disabled{background-color:var(--disabled-button);color:var(--accent-text);cursor:not-allowed}.connections-attempts{display:flex;justify-content:center;gap:10px;margin-bottom:24px}.attempt{width:60px;height:10px;background-color:var(--button-color);border-radius:5px;transition:background-color var(--transition-time) ease}.attempt.used{background-color:var(--element-bg)}.connections-message{text-align:center;margin:10px 0;font-weight:700;min-height:24px;opacity:0;transition:opacity var(--transition-time) ease}.connections-message.visible{opacity:1}.connections-message.error{color:#ff9580}.connections-message.success{color:#8aff80}[data-theme=light] .connections-message.error{color:#c7383b}[data-theme=light] .connections-message.success{color:#105a08}.connections-found-groups{display:flex;flex-direction:column;gap:15px;margin-top:20px}.connections-group{border-radius:var(--border-radius);padding:15px;transition:background-color var(--transition-time) ease,color var(--transition-time) ease}.connections-group.yellow{background-color:var(--yellow-color)}.connections-group.green{background-color:var(--green-color)}.connections-group.blue{background-color:var(--blue-color)}.connections-group.purple{background-color:var(--purple-color)}.connections-group-title{font-weight:700;margin-bottom:10px;text-align:center}.connections-group-words{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.connections-group-word{padding:5px 10px;background-color:var(--container-bg);color:var(--text-color);border-radius:var(--border-radius);transition:background-color var(--transition-time) ease,color var(--transition-time) ease}.connections-results{opacity:0;max-height:0;overflow:hidden;transition:opacity var(--transition-time) ease,max-height var(--transition-time) ease}.connections-results.visible{opacity:1;max-height:3000px}.connections-results.visible-during-play{opacity:1;max-height:3000px;overflow:visible}.connections-restart{display:none}.connections-results.visible .connections-restart{display:block}.connections-final-message{display:none}.connections-results.visible .connections-final-message{display:block}.connections-final-message{text-align:center;font-size:24px;font-weight:700;margin:20px 0}.connections-final-message.success{color:#8aff80}.connections-final-message.failure{color:#af2e1a}[data-theme=light] .connections-final-message.success{color:#105a08}[data-theme=light] .connections-final-message.failure{color:#c7383b}.connections-restart{width:100%;padding:14px;background-color:var(--button-color);color:var(--text-color);border:none;border-radius:var(--border-radius);font-weight:700;cursor:pointer;transition:background-color var(--transition-time) ease,color var(--transition-time) ease;margin-top:20px}.connections-restart:hover{background-color:var(--button-hover)}.connections-footer{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color);text-align:center;font-size:14px;transition:border-color var(--transition-time) ease}.footer-content{display:flex;flex-direction:column;gap:12px}.footer-name{color:var(--accent-text);font-weight:700;transition:color var(--transition-time) ease}.footer-links{display:flex;justify-content:center;gap:20px}.footer-link{color:var(--text-color);text-decoration:none;transition:all .2s ease}.footer-link:hover{color:var(--accent-text);text-decoration:underline}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.pulse{animation:pulse .4s ease-in-out}.shake{animation:shake .5s ease-in-out}@keyframes shake{0%{transform:translateX(0)}20%{transform:translateX(-10px)}40%{transform:translateX(10px)}60%{transform:translateX(-10px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.connections-group-explanation{font-size:14px;margin-top:10px;padding:8px 10px;background-color:#00000026;border-radius:var(--border-radius);line-height:1.4;color:var(--text-color);transition:background-color var(--transition-time) ease,color var(--transition-time) ease}.connections-title-explanation{text-align:center;margin-bottom:20px;padding:15px;background-color:var(--element-bg);border-radius:var(--border-radius);transition:background-color var(--transition-time) ease;animation:fadeIn .5s ease-in}.connections-title-explanation h3{color:var(--accent-text);margin-bottom:8px;font-size:18px;transition:color var(--transition-time) ease}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.connections-container{padding:16px;max-width:100%}.connections-grid{gap:8px}.connections-word{font-size:13px;padding:4px;width:100%}.connections-header h1{font-size:24px}.connections-instructions{font-size:13px;margin-bottom:18px}.connections-submit{padding:12px}.footer-links{flex-wrap:wrap;justify-content:center;gap:15px}.connections-group-explanation{font-size:13px;padding:6px 8px}.connections-title-explanation h3{font-size:16px}}@media (max-width:360px){.connections-container{padding:12px}.connections-grid{gap:6px}.connections-word{font-size:12px;padding:3px}}@supports (-webkit-touch-callout: none){.connections-grid{grid-template-rows:repeat(4,minmax(48px,auto))}.connections-word{height:auto;min-height:48px;overflow-wrap:break-word;word-break:break-all}}@supports (-webkit-appearance:none){body[data-theme="light"]{--bg-color:#F7EAE8!important;--container-bg:#DFABA3!important;--element-bg:#F7EAE8!important;--text-color:#230905!important;--accent-text:#340D07!important}body[data-theme="light"] .connections-word{background-color:#F7EAE8;color:#230905}body[data-theme="light"] .connections-container{background-color:#DFABA3}body[data-theme="light"] body{background-color:#F7EAE8}}