html,body{margin:0;padding:0}body{font-family:Helvetica Neue,Arial,sans-serif;background:linear-gradient(180deg,#f8f8f9,#ebecee);color:#1a1a1b;min-height:100vh;-webkit-font-smoothing:antialiased}main{max-width:960px;margin:0 auto;padding:56px 24px 80px}.intro{text-align:center;margin-bottom:48px}.intro h1{font-size:3rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}.intro .tagline{color:#555;font-size:1.05rem;max-width:540px;margin:0 auto;line-height:1.5}.clones{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.clone{display:block;padding:22px 24px;border-radius:14px;text-decoration:none;color:inherit;background:#fff;border:1px solid #dcdee2;box-shadow:0 1px 2px #0000000a;transition:transform .16s ease-out,box-shadow .16s ease-out,border-color .16s}.clone:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014;border-color:#b8bbc0}.clone-name{font-size:1.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.clone-name .emoji{font-size:1.2rem;letter-spacing:0}.clone-tagline{font-weight:600;font-size:.95rem;margin-bottom:10px;opacity:.8}.clone p{margin:0 0 14px;font-size:.92rem;line-height:1.5;color:#3a3a3c}.clone code{font-size:.85em;background:#0000000f;padding:1px 5px;border-radius:3px}.clone-meta{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;color:#888}.clone--dirtle{border-top:4px solid #5a3a22}.clone--dirtle .clone-name{color:#5a3a22}.clone--turtle{border-top:4px solid #4a7c3a;font-family:Georgia,serif}.clone--turtle .clone-name{color:#4a7c3a}.clone--flirtle{border-top:4px solid #d25b7c}.clone--flirtle .clone-name{color:#d25b7c}.clone--hurtle{border-top:4px solid #8b2a2a;background:#1a1c21;border-color:#2a2d33;color:#c0c0c4}.clone--hurtle .clone-name{color:#a33030;font-family:Times New Roman,serif}.clone--hurtle .clone-tagline{color:#8a8a90}.clone--hurtle p{color:#a0a0a4}.clone--hurtle .clone-meta{color:#5a5d66}.clone--hurtle:hover{border-color:#8b2a2a}footer{margin-top:56px;padding-top:24px;border-top:1px solid #dcdee2;text-align:center;color:#888;font-size:.85rem}footer code{background:#0000000f;padding:1px 5px;border-radius:3px}html.theme-dirtle{--wg-bg: #1a1410;--wg-text: #e8dccb;--wg-border: #3a2e24;--wg-border-filled: #7a5c42;--wg-tile-bg: #1a1410;--wg-tile-text: #e8dccb;--wg-correct: #7a9f3a;--wg-present: #c08f1c;--wg-absent: #3a2e24;--wg-revealed-text: #1a1410;--wg-key-bg: #3a2e24;--wg-key-text: #e8dccb;--wg-error: #e85a3c;--wg-font: "Courier New", ui-monospace, monospace}html.theme-dirtle .wg-tile[data-state=absent]{color:#7a5c42}html.theme-dirtle .wg-key[data-state=absent]{background:#261e17;color:#7a5c42}html.theme-turtle{--wg-bg: #eaf2e4;--wg-text: #1f2e1a;--wg-border: #b6cfa6;--wg-border-filled: #6a8d52;--wg-tile-bg: #f5faf1;--wg-tile-text: #1f2e1a;--wg-correct: #4a7c3a;--wg-present: #c8a93a;--wg-absent: #7b8a72;--wg-revealed-text: #ffffff;--wg-key-bg: #c9dcbc;--wg-key-text: #1f2e1a;--wg-error: #a13b2a;--wg-font: "Georgia", "Iowan Old Style", serif}html.theme-turtle .wg-header h1:after{content:" 🐢";font-size:.8em}.tu-chain{position:fixed;top:0;left:0;right:0;z-index:10;max-width:500px;margin:0 auto;padding:8px 16px;font-size:.9rem;text-align:center;color:var(--wg-border-filled);background:var(--wg-bg);border-bottom:1px solid var(--wg-border);transform:translateY(-100%);opacity:0;transition:transform .2s ease-out,opacity .2s ease-out;pointer-events:none}.tu-chain--visible{transform:translateY(0);opacity:1}html.theme-flirtle{--wg-bg: #fff0f3;--wg-text: #3a1a2a;--wg-border: #f2c4d1;--wg-border-filled: #d86a8c;--wg-tile-bg: #fff7f9;--wg-tile-text: #3a1a2a;--wg-correct: #d64872;--wg-present: #f0a840;--wg-absent: #c9a2ae;--wg-revealed-text: #ffffff;--wg-key-bg: #f8d3dd;--wg-key-text: #3a1a2a;--wg-error: #b23a55;--wg-font: "Helvetica Neue", "Avenir", system-ui, sans-serif}html.theme-flirtle .wg-header h1:after{content:" 💋";font-size:.8em}.fl-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;max-width:1100px;margin:0 auto;padding:16px;align-items:start}.fl-game{min-width:0}.fl-chat{position:sticky;top:16px;display:flex;flex-direction:column;height:calc(100vh - 32px);background:#fff7f9;border:1px solid var(--wg-border);border-radius:12px;overflow:hidden}.fl-chat-title{padding:10px 14px;font-weight:600;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--wg-border-filled);border-bottom:1px solid var(--wg-border);background:#ffe8ee}.fl-chat-scroll{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.fl-chat-empty{color:var(--wg-absent);text-align:center;margin-top:24px}.fl-msg{max-width:85%;padding:8px 12px;border-radius:14px;font-size:.95rem;line-height:1.35;word-wrap:break-word}.fl-msg--user{align-self:flex-end;background:var(--wg-correct);color:#fff;border-bottom-right-radius:4px}.fl-msg--assistant{align-self:flex-start;background:#ffe8ee;color:var(--wg-text);border-bottom-left-radius:4px}.fl-msg--typing{opacity:.6;font-style:italic}.fl-msg--error{align-self:center;background:transparent;color:var(--wg-error);font-size:.85rem}.fl-chat-form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--wg-border);background:#fff}.fl-chat-form input{flex:1;padding:8px 10px;border:1px solid var(--wg-border);border-radius:18px;font:inherit;background:#fff7f9;color:var(--wg-text)}.fl-chat-form input:focus{outline:none;border-color:var(--wg-border-filled)}.fl-chat-form button{padding:8px 14px;border:none;border-radius:18px;background:var(--wg-correct);color:#fff;font:inherit;cursor:pointer}.fl-chat-form button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.fl-layout{grid-template-columns:1fr}.fl-chat{position:static;height:60vh}}html.theme-hurtle{--wg-bg: #14161a;--wg-text: #c0c0c4;--wg-border: #2a2d33;--wg-border-filled: #5a5d66;--wg-tile-bg: #1a1c21;--wg-tile-text: #d4d4d8;--wg-correct: #8b2a2a;--wg-present: #8a7326;--wg-absent: #2a2d33;--wg-revealed-text: #f1f1f4;--wg-key-bg: #2a2d33;--wg-key-text: #c0c0c4;--wg-error: #c04438;--wg-font: "Times New Roman", Georgia, serif}html.theme-hurtle .wg-header h1{color:#7a1f1f;text-shadow:0 0 1px #000}html.theme-hurtle .wg-tile[data-state=absent]{color:#5a5d66}html.theme-hurtle .wg-key[data-state=absent]{background:#1f2126;color:#5a5d66}html.theme-hurtle .wg-turn-feedback{color:#a04848;font-size:1rem}html.theme-hurtle .wg-win{color:#7a1f1f}html.theme-hurtle .wg-lose{color:#5a5d66}:root{--wg-bg: #ffffff;--wg-text: #1a1a1b;--wg-border: #d3d6da;--wg-border-filled: #878a8c;--wg-tile-bg: #ffffff;--wg-tile-text: #1a1a1b;--wg-correct: #6aaa64;--wg-present: #c9b458;--wg-absent: #787c7e;--wg-revealed-text: #ffffff;--wg-key-bg: #d3d6da;--wg-key-text: #1a1a1b;--wg-error: #d33;--wg-font: "Helvetica Neue", Arial, sans-serif;--wg-tile-size: 62px;--wg-tile-gap: 5px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--wg-bg);color:var(--wg-text);font-family:var(--wg-font);-webkit-font-smoothing:antialiased}.wg-game{display:flex;flex-direction:column;height:100%;max-width:500px;margin:0 auto;animation:wg-game-in .32s ease-out}@keyframes wg-game-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.wg-header{border-bottom:1px solid var(--wg-border);padding:12px 16px;text-align:center}.wg-header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.wg-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;gap:16px}.wg-board{display:grid;grid-auto-rows:var(--wg-tile-size);gap:var(--wg-tile-gap)}.wg-row{display:grid;grid-auto-flow:column;grid-auto-columns:var(--wg-tile-size);gap:var(--wg-tile-gap)}.wg-tile{display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;text-transform:uppercase;border:2px solid var(--wg-border);background:var(--wg-tile-bg);color:var(--wg-tile-text);-webkit-user-select:none;user-select:none;transition:background-color .15s,color .15s,border-color .15s}.wg-tile[data-state=filled]{border-color:var(--wg-border-filled)}.wg-tile[data-state=correct]{background:var(--wg-correct);border-color:var(--wg-correct);color:var(--wg-revealed-text)}.wg-tile[data-state=present]{background:var(--wg-present);border-color:var(--wg-present);color:var(--wg-revealed-text)}.wg-tile[data-state=absent]{background:var(--wg-absent);border-color:var(--wg-absent);color:var(--wg-revealed-text)}.wg-status{min-height:1.5rem;font-weight:600;text-align:center}.wg-error{color:var(--wg-error)}.wg-win{color:var(--wg-correct)}.wg-lose{color:var(--wg-absent)}.wg-turn-feedback{color:var(--wg-absent);font-weight:500;font-style:italic;animation:wg-feedback-in .26s ease-out}@keyframes wg-feedback-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.wg-keyboard{display:flex;flex-direction:column;gap:8px;padding:8px}.wg-keyboard-row{display:flex;justify-content:center;gap:6px}.wg-key{flex:1;min-width:28px;height:58px;border:0;border-radius:4px;background:var(--wg-key-bg);color:var(--wg-key-text);font-weight:700;font-size:1rem;cursor:pointer;text-transform:uppercase;font-family:inherit}.wg-key-wide{flex:1.5;font-size:.75rem}.wg-key[data-state=correct]{background:var(--wg-correct);color:var(--wg-revealed-text)}.wg-key[data-state=present]{background:var(--wg-present);color:var(--wg-revealed-text)}.wg-key[data-state=absent]{background:var(--wg-absent);color:var(--wg-revealed-text)}.wg-scene{position:relative;height:100%}.wg-endpanel{position:absolute;top:24px;left:calc(50% - 534px);width:260px;padding:20px 22px;background:var(--wg-tile-bg);border:1px solid var(--wg-border);border-radius:12px;animation:wg-endpanel-in .3s ease-out;z-index:1}@keyframes wg-endpanel-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.wg-endpanel-msg{font-size:1.05rem;font-weight:600;line-height:1.4;margin-bottom:18px}.wg-endpanel--won .wg-endpanel-msg{color:var(--wg-correct)}.wg-endpanel--lost .wg-endpanel-msg{color:var(--wg-absent)}.wg-endpanel-next{padding:8px 22px;border:0;border-radius:20px;background:var(--wg-correct);color:var(--wg-revealed-text);font:inherit;font-weight:600;cursor:pointer;min-width:100px}.wg-endpanel-next:disabled{opacity:.7;cursor:wait}@media(max-width:1200px){.wg-endpanel{position:static;width:auto;max-width:500px;margin:0 auto 12px}}
