/*! © 2026 Algo School (algoschool.tn). All Rights Reserved. Build: AS20260203111859 */
:root {--primary-color:#6c63ff;--bg-color:#f0f2f5;--card-bg:#ffffff;--text-color:#333333;--accent-color:#ff6584;--success-color:#43a047;--warning-color:#fb8c00;--neutral-color:#757575;} body {font-family:'Cairo',sans-serif;background-color:var(--bg-color);color:var(--text-color);display:flex;justify-content:center;align-items:flex-start;min-height:100vh;margin:0;padding:10px;overflow-x:hidden;} @media (min-width:768px) {body {align-items:center;padding:20px;}} .container {background-color:var(--card-bg);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,0.1);padding:20px;max-width:700px;width:100%;text-align:center;transition:transform 0.3s ease;position:relative;overflow:hidden;margin-top:10px;} @media (min-width:768px) {.container {padding:40px;margin-top:0;}} .container::before {content:'';position:absolute;top:0;right:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary-color) 0%,rgba(108,99,255,0.3) 100%);opacity:0.3;} h1 {color:var(--primary-color);margin-bottom:20px;font-weight:800;font-size:1.5rem;line-height:1.3;} @media (min-width:480px) {h1 {font-size:1.8rem;margin-bottom:25px;}} @media (min-width:768px) {h1 {font-size:2.2rem;margin-bottom:30px;}} .input-group {position:relative;margin-bottom:25px;transition:opacity 0.5s ease-out,transform 0.5s ease-out,max-height 0.5s ease-out;overflow:hidden;} @media (min-width:768px) {.input-group {margin-bottom:40px;}} .input-group label {display:block;margin-bottom:10px;font-size:1rem;color:#555;} @media (min-width:480px) {.input-group label {font-size:1.1rem;margin-bottom:12px;}} @media (min-width:768px) {.input-group label {font-size:1.2rem;margin-bottom:15px;}} .submit-btn {background-color:var(--primary-color);color:white;border:none;padding:14px 30px;font-size:1rem;border-radius:50px;cursor:pointer;font-family:'Cairo',sans-serif;font-weight:700;margin-bottom:20px;transition:transform 0.2s,background-color 0.2s,opacity 0.5s ease-out;box-shadow:0 4px 15px rgba(108,99,255,0.3);width:100%;min-height:48px;-webkit-tap-highlight-color:transparent;} @media (min-width:480px) {.submit-btn {width:auto;padding:15px 35px;font-size:1.1rem;margin-bottom:25px;}} @media (min-width:768px) {.submit-btn {padding:15px 40px;font-size:1.2rem;margin-bottom:30px;}} .submit-btn:hover {transform:translateY(-2px);background-color:#5750d6;} .submit-btn:active {transform:translateY(1px);} input[type="number"] {width:100%;padding:12px;font-size:1.5rem;text-align:center;border:3px solid #e0e0e0;border-radius:15px;outline:none;font-family:'Cairo',sans-serif;transition:border-color 0.3s;box-sizing:border-box;-moz-appearance:textfield;appearance:textfield;min-height:48px;-webkit-tap-highlight-color:transparent;} @media (min-width:480px) {input[type="number"] {padding:14px;font-size:1.8rem;}} @media (min-width:768px) {input[type="number"] {padding:15px;font-size:2rem;}} input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button {-webkit-appearance:none;margin:0;} input[type="number"]:focus {border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(108,99,255,0.2);} .result-container {opacity:0;transform:translateY(20px);transition:all 0.5s ease;display:none;margin-top:20px;padding:15px;background:linear-gradient(135deg,rgba(255,255,255,0.9) 0%,rgba(248,249,250,0.9) 100%);border-radius:15px;box-shadow:0 4px 15px rgba(0,0,0,0.08);} @media (min-width:768px) {.result-container {margin-top:30px;padding:20px;}} .result-container.visible {opacity:1;transform:translateY(0);display:block;animation:storyReveal 0.8s ease-out;} @keyframes storyReveal {from {opacity:0;transform:translateY(30px) scale(0.95);} to {opacity:1;transform:translateY(0) scale(1);}} .story-stage {animation:fadeIn 0.8s ease-out;} .story-text {font-size:1rem;line-height:1.8;margin-bottom:20px;color:#444;text-align:right;padding:15px;background:linear-gradient(135deg,#f8f9fa 0%,#ffffff 100%);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.05);border-right:3px solid rgba(108,99,255,0.2);min-height:80px;font-weight:400;letter-spacing:0.2px;word-spacing:0.01em;} @media (min-width:480px) {.story-text {font-size:1.15rem;line-height:2;padding:20px;margin-bottom:25px;}} @media (min-width:768px) {.story-text {font-size:1.3rem;line-height:2.2;padding:25px;margin-bottom:30px;letter-spacing:0.3px;}} .story-btn {background-color:var(--primary-color);color:white;border:none;padding:12px 24px;font-size:0.95rem;border-radius:8px;cursor:pointer;font-family:'Cairo',sans-serif;transition:all 0.3s ease;margin:5px;min-height:44px;-webkit-tap-highlight-color:transparent;width:100%;} @media (min-width:480px) {.story-btn {width:auto;padding:12px 28px;font-size:1rem;}} @media (min-width:768px) {.story-btn {padding:12px 30px;}} .story-btn:hover {background-color:#5750d6;transform:translateY(-2px);} .story-btn-secondary {background-color:#e0e0e0;color:#333;} .story-btn-secondary:hover {background-color:#d5d5d5;} .story-btn-sad {background:linear-gradient(135deg,#6c757d 0%,#5a6268 100%);color:#ffffff;border:2px solid rgba(255,255,255,0.1);padding:12px 20px;font-size:0.9rem;border-radius:12px;cursor:pointer;font-family:'Cairo',sans-serif;font-weight:600;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 4px 12px rgba(108,117,125,0.25),inset 0 1px 0 rgba(255,255,255,0.1);position:relative;overflow:hidden;opacity:0.85;letter-spacing:0.2px;min-height:44px;-webkit-tap-highlight-color:transparent;width:100%;flex:1;min-width:0;} @media (min-width:480px) {.story-btn-sad {padding:13px 26px;font-size:0.95rem;width:auto;flex:none;}} @media (min-width:768px) {.story-btn-sad {padding:14px 32px;font-size:1rem;letter-spacing:0.3px;}} .story-btn-sad::before {content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);transition:left 0.5s;} .story-btn-sad:hover {background:linear-gradient(135deg,#5a6268 0%,#495057 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgba(108,117,125,0.35),inset 0 1px 0 rgba(255,255,255,0.15);opacity:1;} .story-btn-sad:hover::before {left:100%;} .story-btn-sad:active {transform:translateY(0);box-shadow:0 2px 8px rgba(108,117,125,0.3),inset 0 2px 4px rgba(0,0,0,0.2);} .story-btn-sad:focus {outline:none;box-shadow:0 4px 12px rgba(108,117,125,0.25),inset 0 1px 0 rgba(255,255,255,0.1),0 0 0 3px rgba(108,117,125,0.3);} #predictionBtns {display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:20px;flex-direction:column;} @media (min-width:480px) {#predictionBtns {flex-direction:row;gap:12px;margin-top:22px;}} @media (min-width:768px) {#predictionBtns {gap:15px;margin-top:25px;}} .prediction-result {margin-top:15px;font-weight:bold;font-size:1.1rem;color:var(--success-color);animation:popIn 0.5s cubic-bezier(0.175,0.885,0.32,1.275);line-height:1.4;} @media (min-width:480px) {.prediction-result {font-size:1.25rem;margin-top:18px;}} @media (min-width:768px) {.prediction-result {font-size:1.4rem;margin-top:20px;}} .small-gray-text {font-size:0.85rem;color:#999;margin-top:10px;font-style:italic;line-height:1.6;} @media (min-width:480px) {.small-gray-text {font-size:0.88rem;}} @media (min-width:768px) {.small-gray-text {font-size:0.9rem;}} @keyframes fadeIn {from {opacity:0;transform:translateY(10px);} to {opacity:1;transform:translateY(0);}} @keyframes popIn {from {opacity:0;transform:scale(0.8);} to {opacity:1;transform:scale(1);}} .emoji-display {font-size:3.5rem;margin-bottom:15px;animation:bounce 2s infinite;} @media (min-width:480px) {.emoji-display {font-size:4rem;margin-bottom:18px;}} @media (min-width:768px) {.emoji-display {font-size:5rem;margin-bottom:20px;}} .message-title {font-size:1.4rem;font-weight:800;margin-bottom:15px;color:var(--primary-color);text-shadow:0 2px 4px rgba(0,0,0,0.05);letter-spacing:0.3px;line-height:1.3;} @media (min-width:480px) {.message-title {font-size:1.7rem;margin-bottom:20px;letter-spacing:0.4px;}} @media (min-width:768px) {.message-title {font-size:2rem;margin-bottom:25px;letter-spacing:0.5px;}} .message-body {font-size:1rem;line-height:1.8;margin-bottom:20px;color:#444;text-align:right;padding:15px;background:linear-gradient(135deg,#f8f9fa 0%,#ffffff 100%);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.05);min-height:80px;word-spacing:0.3em;} @media (min-width:480px) {.message-body {font-size:1.1rem;line-height:1.9;padding:18px;margin-bottom:22px;}} @media (min-width:768px) {.message-body {font-size:1.2rem;line-height:2;padding:20px;margin-bottom:25px;word-spacing:0.4em;}} .word-fade-in {opacity:0;animation:wordFadeIn 0.3s ease-in forwards;display:inline;margin-right:0.01em;white-space:pre-wrap;} @keyframes wordFadeIn {from {opacity:0;transform:translateY(5px);} to {opacity:1;transform:translateY(0);}} .action-box {background:linear-gradient(135deg,#f9f9f9 0%,#ffffff 100%);border-right:5px solid var(--primary-color);padding:15px;border-radius:12px;text-align:right;font-size:0.95rem;color:#444;margin-top:15px;box-shadow:0 2px 8px rgba(0,0,0,0.05);line-height:1.7;font-weight:500;} @media (min-width:480px) {.action-box {font-size:1.05rem;padding:18px;margin-top:18px;line-height:1.75;}} @media (min-width:768px) {.action-box {font-size:1.1rem;padding:20px;margin-top:20px;line-height:1.8;}} .error-message {color:#d32f2f;margin-top:10px;font-size:0.9rem;display:none;} @keyframes bounce {0%,20%,50%,80%,100% {transform:translateY(0);} 40% {transform:translateY(-20px);} 60% {transform:translateY(-10px);}} @media (max-width:479px) {.story-text,.message-body {word-break:break-word;overflow-wrap:break-word;} .story-btn {margin:5px 0;} .container {border-radius:15px;}} @media (max-width:767px) and (orientation:landscape) {body {align-items:flex-start;padding:5px;} .container {margin-top:5px;padding:15px;} h1 {font-size:1.5rem;margin-bottom:15px;}}