.tic-page{background:#fbf8ef;color:#18344d}.tic-page #tic{max-width:1180px;margin:auto;padding:28px 24px 70px}.tic-page .download-header{background:#fffdf8}.tic-hero{display:grid;grid-template-columns:1fr 260px;gap:35px;align-items:center;padding:clamp(25px,4vw,50px);border:1px solid #e9dcb9;border-radius:26px;background:#fff3d5}.tic-eyebrow{margin:0 0 12px;font-size:.75rem!important;font-weight:800;letter-spacing:.12em;color:#8b6421}.tic-hero h1{margin:0;font-size:clamp(2.6rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.055em;color:#183b62}.tic-hero h1 span{color:#246f5a}.tic-hero p:not(.tic-eyebrow){max-width:580px;margin:18px 0;font-size:1.1rem;line-height:1.55}.tic-pills{display:flex;gap:8px;flex-wrap:wrap}.tic-pills span{border:1px solid #dfcc9f;border-radius:100px;background:#fffbef;padding:7px 12px;font-size:.85rem;font-weight:700}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;transform:rotate(5deg);padding:12px;border-radius:19px;background:#fdfcf5;box-shadow:0 10px 0 #dfc99a}.hero-grid span{display:grid;place-items:center;aspect-ratio:1;border-radius:10px;background:#e4f2e9;color:#246f5a;font-size:1.4rem;font-weight:800}.hero-grid span:nth-child(3n+2){color:#b55c45;background:#fff0e8}.tic-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;margin-top:25px;align-items:start}.tic-play,.tic-settings,.tic-rules{background:#fffefa;border:1px solid #dce4db;border-radius:22px;padding:clamp(20px,3vw,30px)}.game-head{display:flex;align-items:center;justify-content:space-between}.game-head h2,.tic-sidebar h2{margin:0;font-size:1.5rem;letter-spacing:-.03em}.turn-badge{display:grid;place-items:center;width:52px;height:52px;background:#dff1e8;color:#17674f;border-radius:15px;font-size:1.8rem;font-weight:800}.turn-status{margin:12px 0 18px;font-weight:700;color:#31556a;min-height:1.5em}.tic-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tic-cell{display:grid;place-items:center;min-width:0;aspect-ratio:1.25;border:2px solid #bbd6c5;border-radius:16px;background:#edf8ef;color:#24583f;font-family:inherit;font-weight:800;font-size:clamp(1.25rem,3vw,2rem);cursor:pointer}.tic-cell:not(:disabled):hover{background:#d8f0dc;border-color:#438765}.tic-cell:focus-visible,.tic-page button:focus-visible,.tic-page input:focus-visible{outline:3px solid #2866b2;outline-offset:3px}.tic-cell:disabled{opacity:1;cursor:default}.tic-cell.mark-x{background:#e5f2ec;color:#167257;font-size:clamp(2.6rem,6vw,4.5rem)}.tic-cell.mark-o{background:#fff0e7;border-color:#e7bfad;color:#b65641;font-size:clamp(2.6rem,6vw,4.5rem)}.tic-cell.winning-cell{background:#ffe8a3;border-color:#b78628}.board-caption{font-size:.9rem;color:#5c6f79}.tic-actions{margin-top:20px}.tic-sidebar{display:grid;gap:18px}.tic-settings{background:#f3f8f4}.tic-settings p,.tic-rules li{font-size:.94rem;line-height:1.55;color:#435e68}.tic-rows{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:16px 0}.tic-rows label{position:relative;cursor:pointer}.tic-rows input{position:absolute;opacity:0}.tic-rows span{display:grid;place-items:center;min-height:42px;border:1px solid #b9cfc3;border-radius:9px;background:#fff;font-weight:700}.tic-rows input:checked+span{background:#236b54;color:white;border-color:#236b54}.tic-rows input:focus-visible+span{outline:3px solid #2866b2;outline-offset:2px}.tic-settings .game-primary{width:100%;background:#1c6a52;border-color:#1c6a52}.tic-rules{background:#fff8e6;border-color:#ecdfbf}.tic-rules ol{padding-left:21px;margin-bottom:0}.tic-rules li+li{margin-top:9px}.tic-error,.wrong{color:#a3392e!important;font-weight:700}.tic-page dialog{width:min(480px,calc(100% - 32px));border:1px solid #cadbd0;border-radius:22px;padding:28px;color:#18344d;box-shadow:0 18px 70px #18344d38}.tic-page dialog::backdrop{background:#142c3dbb}.tic-page dialog h2{margin:0;font-size:1.5rem}.dialog-equation{text-align:center;font-size:2.6rem;font-weight:800;color:#1e6d53;margin:18px 0}.tic-page dialog label{display:block;font-weight:700;margin-bottom:8px}.tic-page .answer-entry{display:flex;gap:10px}.tic-page .answer-entry input{min-width:0;flex:1;border:2px solid #a6c4b1;border-radius:9px;padding:10px 12px;font-size:1.3rem}.tic-page .answer-hint{min-height:1.5em;color:#526d70}.tic-page .game-text-button{padding-left:0}.tic-page .worksheet-footer{margin-top:0}.tic-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:6px;padding:12px;width:100%;max-width:210px;aspect-ratio:1;margin:auto;border-radius:16px;background:#d9eee0;transform:rotate(-3deg);box-sizing:border-box}.tic-preview span{display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;border-radius:8px;background:#fffefa;color:#236b54;font-size:1.5rem;font-weight:800}.tic-preview span:nth-child(2n){color:#b55c45;background:#fff2e8}@media(max-width:720px){.tic-page #tic{padding:16px 16px 50px}.tic-hero{grid-template-columns:1fr;gap:25px}.hero-grid{width:165px;justify-self:center}.tic-layout{grid-template-columns:1fr}.tic-board{gap:7px}.tic-cell{border-radius:12px}.tic-rows{grid-template-columns:repeat(6,1fr)}}@media(max-width:360px){.tic-rows{grid-template-columns:repeat(4,1fr)}.tic-cell{font-size:1.1rem}.tic-page .answer-entry{flex-direction:column}}

.tic-cell.oldest-cell{border:3px dashed #a65a35;box-shadow:inset 0 0 0 3px #fff8e9}.removal-notice{padding:12px 15px;background:#fff2dc;border:1px solid #ebc98f;border-radius:12px;color:#6d481b;font-size:.93rem;line-height:1.5;font-weight:700}.removal-notice[hidden]{display:none}

.tic-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-width:280px;margin:16px auto 0}.tic-keypad button{min-height:44px;border:1px solid #bbd4c4;border-radius:10px;background:#f0f8f2;color:#1b5d47;font:inherit;font-size:1.15rem;font-weight:700;cursor:pointer}.tic-keypad button:hover{background:#dcefe1}.tic-keypad button[data-key]{font-size:.95rem}.tic-page dialog{max-height:calc(100dvh - 24px);overflow:auto}
.tic-field-label{display:block;font-size:.86rem;font-weight:800;color:#23474f;margin:14px 0 6px}
.tic-select{width:100%;min-height:44px;padding:9px 12px;border:1px solid #b9cfc3;border-radius:10px;background:#fff;color:#18344d;font:inherit;font-size:.95rem;font-weight:700}
.tic-subheading{margin:18px 0 6px;font-size:1.15rem;letter-spacing:-.02em}
.tic-weak-toggle{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#ffffff;border:1.5px solid #bcdbc9;font-size:.92rem;font-weight:600;color:#113946;cursor:pointer;line-height:1.35}
.tic-weak-toggle input{margin:2px 0 0;width:18px;height:18px;accent-color:#1f6f54;flex-shrink:0}
.tic-weak-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#e6f4ec;color:#1b5c45;font-size:.86rem;line-height:1.4}
@keyframes heroTicWin{0%,20%,100%{transform:scale(1);background:#e4f2e9}38%,68%{transform:scale(1.07);background:#ffeaa6;color:#145e46;box-shadow:0 3px 8px #b7862826}}
.hero-grid span:nth-child(1),.hero-grid span:nth-child(5),.hero-grid span:nth-child(9){animation:heroTicWin 4.6s ease-in-out infinite}
.hero-grid span:nth-child(5){animation-delay:.5s}
.hero-grid span:nth-child(9){animation-delay:1s}
@media(prefers-reduced-motion:reduce){.hero-grid span{animation:none!important}}
