section.header{display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--color-text)}@media(max-width:480px){section.header{padding:0rem}}section.header .title{font-size:4rem;font-weight:700;letter-spacing:.05em;font-family:var(--font-family-fancy);background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}@media(max-width:480px){section.header .title{font-size:12vw;width:100%;text-align:center}}section.header .subtitle{margin-left:.5rem;font-size:.75rem;opacity:.7}@media(max-width:480px){section.header .subtitle{display:none}}.sticky-clue{border-radius:var(--radius-md);padding:var(--space-md);background:var(--gradient-border);border:var(--border-thin) solid transparent;box-shadow:var(--shadow-sm)}.sticky-clue .clue-text{font-size:var(--fs-base);font-weight:var(--fw-400);color:var(--color-text);text-align:center}.chat-history{border-radius:var(--radius-md);padding:var(--space-md);background:var(--gradient-border);border:var(--border-width-thin) solid transparent;box-shadow:var(--shadow-sm);flex-grow:1;overflow-y:auto;gap:1rem;display:flex;flex-direction:column;background-color:var(--color-bg);position:relative}.chat-history::-webkit-scrollbar{width:8px}.chat-history::-webkit-scrollbar-track{background:var(--color-bg);border-radius:var(--radius-md);margin:10px 0}.chat-history::-webkit-scrollbar-thumb{background:var(--color-surface);border-radius:var(--radius-md)}.chat-history .message-row{display:flex;width:100%}.chat-history .message-row.user-message{justify-content:flex-end}.chat-history .message-row.ai-message{justify-content:flex-start}.chat-history .message-row .message-bubble{max-width:80%;padding:.75rem;border-radius:var(--radius-bubble);font-size:.875rem}.chat-history .message-row .message-bubble.user-bubble{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));color:var(--color-text);border-bottom-right-radius:0}.chat-history .message-row .message-bubble.ai-bubble{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:0}.chat-history .loading-indicator{display:flex;justify-content:flex-start}.chat-history .loading-indicator .loading-bubble{background-color:var(--color-surface);color:var(--color-text);padding:.75rem;border-radius:var(--radius-bubble);font-size:.75rem;font-style:italic;opacity:.6}.chat-history .hint-wrapper{position:sticky;bottom:.5rem;align-self:flex-end;z-index:10;margin-top:auto}.chat-history .hint-wrapper .hint-action{position:relative;display:flex;align-items:center;justify-content:flex-end}.chat-history .hint-wrapper .hint-action .hint-tooltip{position:absolute;bottom:120%;right:0;width:max-content;max-width:250px;background-color:var(--color-surface);border:1px solid var(--color-primary);color:var(--color-text);padding:.75rem;border-radius:var(--radius-bubble);font-size:var(--fs-sm);box-shadow:var(--shadow-sm);opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s ease;pointer-events:none}.chat-history .hint-wrapper .hint-action .hint-tooltip:after{content:"";position:absolute;top:100%;right:1rem;border-width:6px;border-style:solid;border-color:var(--color-primary) transparent transparent transparent}.chat-history .hint-wrapper .hint-action .hint-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:.75rem;border-radius:var(--radius-circle);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.chat-history .hint-wrapper .hint-action .hint-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:scale(1.05)}.chat-history .hint-wrapper .hint-action.unlocked .hint-btn{border-color:var(--color-secondary);color:var(--color-secondary);box-shadow:0 0 10px #eb682433}.chat-history .hint-wrapper .hint-action.unlocked:hover .hint-tooltip,.chat-history .hint-wrapper .hint-action.unlocked .hint-btn:focus+.hint-tooltip{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}section.input-controls{display:flex;flex-direction:column;gap:1rem}section.input-controls .input-wrapper{display:flex;align-items:center;border-radius:var(--radius-md);padding:.25rem;transition:border-color .15s ease;border:1px solid transparent;background:var(--gradient-border)}section.input-controls .input-wrapper:focus-within{background:var(--gradient-border)}section.input-controls .input-wrapper.disabled{opacity:.7;cursor:auto}section.input-controls .input-wrapper .send-button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-secondary);padding:.5rem;cursor:pointer;border-radius:var(--radius-circle);transition:color .15s ease,background-color .15s ease}section.input-controls .input-wrapper .send-button:hover:not(:disabled){background-color:var(--color-surface)}section.input-controls .input-wrapper .send-button:disabled{opacity:.5;cursor:auto;color:var(--color-text)}section.input-controls .input-wrapper .send-button svg{display:block}section.input-controls .input-wrapper .text-input{flex-grow:1;background:transparent;border:none;color:var(--color-text);padding:.5rem;font-size:var(--fs-base)}section.input-controls .input-wrapper .text-input:focus{outline:none}section.input-controls .input-wrapper .text-input:disabled{cursor:auto}section.input-controls .solve-button{width:100%;padding:.75rem;background:var(--gradient-brand);color:var(--color-text);border-radius:var(--radius-md);border:none;font-weight:500;cursor:pointer;transition:filter .15s ease-in-out;filter:brightness(1)}section.input-controls .solve-button:hover:not(:disabled){filter:brightness(.85)}section.input-controls .solve-button:disabled{opacity:.5;cursor:auto;filter:none}.modal-overlay{position:fixed;inset:0;height:100%;background-color:var(--color-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);z-index:200}.modal-card{display:flex;flex-direction:column;background:var(--gradient-border);border:var(--border-width-thin) solid transparent;width:100%;max-width:var(--container-width);border-radius:var(--radius-md);box-shadow:0 10px 40px #00000080;position:relative;padding:var(--spacing-xl);text-align:center;color:var(--color-text);animation:popIn .3s cubic-bezier(.175,.885,.32,1.275);max-height:90dvh;overflow-y:auto}.modal-card .btn-close{position:absolute;top:1rem;right:1rem;background:transparent;color:var(--color-text);border:none;width:32px;height:32px;font-size:1.2rem;cursor:pointer;opacity:.7;z-index:10}.modal-card .btn-close:hover{opacity:1}@media(max-width:480px){.modal-card .btn-close{top:.5rem;right:.5rem}}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-guess{gap:var(--spacing-md)}@media(max-width:480px){.modal-guess{padding:var(--spacing-md);gap:var(--spacing-sm)}}.modal-guess .header-section .text-label{font-size:var(--fs-lg);font-weight:var(--fw-500);letter-spacing:1px}.modal-guess .header-section .description{font-size:var(--fs-sm);opacity:.8;margin-top:.5rem}.modal-guess .input-section .guess-input{width:-webkit-fill-available;min-height:150px;background:var(--gradient-border);border:var(--border-width-thin) solid transparent;border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--color-text);font-size:var(--fs-base);resize:none;outline:none}.modal-guess .footer-section .btn-submit{width:100%;padding:1rem;background:var(--gradient-brand);border:none;border-radius:var(--radius-md);color:var(--color-text);font-weight:var(--fw-700);cursor:pointer}.modal-guess .footer-section .btn-submit:disabled{opacity:.5}.modal-result{position:relative;padding:var(--spacing-xl);width:100%;min-height:500px;overflow:hidden;transition:min-height .5s ease}@media(max-width:480px){.modal-result{padding:var(--spacing-md);min-height:400px}}.modal-result .section-score{position:absolute;top:var(--spacing-xl);left:var(--spacing-xl);z-index:10;display:flex;flex-direction:column;align-items:flex-start;transform:translate(0);transition:all .8s cubic-bezier(.34,1.56,.64,1)}@media(max-width:480px){.modal-result .section-score{top:var(--spacing-md);left:var(--spacing-md)}}.modal-result .section-score .text-label{font-size:var(--fs-lg);font-weight:var(--fw-500);text-transform:uppercase;letter-spacing:1px;opacity:1;transition:opacity .5s ease .8s;margin-bottom:.5rem}@media(max-width:480px){.modal-result .section-score .text-label{font-size:var(--fs-base)}}.modal-result .section-score .score-display{text-transform:uppercase;font-weight:var(--fw-500);text-align:start}.modal-result .section-score .score-display .score-value{font-size:4rem;font-weight:var(--fw-700);line-height:1;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;transition:font-size .8s cubic-bezier(.34,1.56,.64,1)}@media(max-width:480px){.modal-result .section-score .score-display .score-value{font-size:3rem}}.modal-result .section-score .score-display .score-suffix{font-size:var(--fs-lg);opacity:1;transition:opacity .5s ease .8s}@media(max-width:480px){.modal-result .section-score .score-display .score-suffix{font-size:var(--fs-base)}}.modal-result .result-content-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;margin-top:7rem;opacity:1;transform:translateY(0);transition:opacity .6s ease .8s,transform .6s ease .8s}@media(max-width:480px){.modal-result .result-content-wrapper{margin-top:6rem;gap:var(--spacing-sm)}}.modal-result .result-content-wrapper .section-story{display:flex;flex-direction:column;text-align:left;gap:var(--spacing-sm)}.modal-result .result-content-wrapper .section-story .story-label-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:.5rem}.modal-result .result-content-wrapper .section-story .story-label-wrapper .icon-badge{display:flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:var(--radius-circle);background:var(--gradient-brand);color:var(--color-text);box-shadow:var(--shadow-sm)}@media(max-width:480px){.modal-result .result-content-wrapper .section-story .story-label-wrapper .icon-badge{width:1.4rem;height:1.4rem}}.modal-result .result-content-wrapper .section-story .story-content{margin:0;font-size:var(--fs-base);line-height:1.6}@media(max-width:480px){.modal-result .result-content-wrapper .section-story .story-content{font-size:var(--fs-sm);line-height:1.4}}.modal-result .result-content-wrapper .section-leaderboard{text-align:left}.modal-result .result-content-wrapper .section-leaderboard .progress-container{display:flex;align-items:center;gap:var(--spacing-md)}.modal-result .result-content-wrapper .section-leaderboard .progress-value{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:var(--fw-500)}.modal-result .result-content-wrapper .section-leaderboard .progress-track{display:flex;position:relative;flex:1;height:10px;overflow:visible;padding:var(--spacing-md) 0}.modal-result .result-content-wrapper .section-leaderboard .progress-bar{position:relative;height:100%;background:var(--gradient-brand);transition:width .7s ease}.modal-result .result-content-wrapper .section-leaderboard .progress-bar .progress-thumb{position:absolute;right:0;top:50%;width:16px;height:16px;transform:translate(50%,-50%);border-radius:var(--radius-circle);border:2px solid var(--color-text);background:var(--gradient-brand)}.modal-result .result-content-wrapper .section-leaderboard .progress-remainder{flex:1;background:var(--gradient-surface)}.modal-result .result-content-wrapper .section-stats{display:flex;flex-direction:column}.modal-result .result-content-wrapper .section-stats .text-label{display:flex}.modal-result .result-content-wrapper .section-stats .stats-grid{display:flex;gap:.8rem;justify-content:space-between}@media(max-width:480px){.modal-result .result-content-wrapper .section-stats .stats-grid{gap:.4rem}}.modal-result .result-content-wrapper .section-stats .stats-grid .stat-box{display:flex;flex-direction:column;align-items:center;padding:.8rem .5rem}@media(max-width:480px){.modal-result .result-content-wrapper .section-stats .stats-grid .stat-box{padding:.5rem .2rem}}.modal-result .result-content-wrapper .section-stats .stats-grid .stat-box .stat-number{color:var(--color-primary);font-size:var(--fs-xl);font-weight:var(--fw-500)}@media(max-width:480px){.modal-result .result-content-wrapper .section-stats .stats-grid .stat-box .stat-number{font-size:var(--fs-lg)}}.modal-result .result-content-wrapper .section-stats .stats-grid .stat-box .stat-name{font-size:var(--fs-xs)}.modal-result .result-content-wrapper .section-badge{color:var(--color-badge);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.modal-result .result-content-wrapper .section-badge .badge-image{width:8rem;height:8rem;filter:drop-shadow(0 4px 6px rgba(230,126,34,.3))}@media(max-width:480px){.modal-result .result-content-wrapper .section-badge .badge-image{width:5rem;height:5rem}}.modal-result .result-content-wrapper .section-badge .badge-name{font-weight:var(--fw-500);font-size:.9rem;letter-spacing:.5px}.modal-result .result-content-wrapper .section-footer{display:flex;justify-content:center;padding:0 var(--spacing-md)}@media(max-width:480px){.modal-result .result-content-wrapper .section-footer{padding:0}}.modal-result .result-content-wrapper .section-footer .footer-content{display:flex;background-color:var(--color-surface);width:100%;padding:var(--spacing-md);gap:var(--spacing-md);justify-content:space-between;align-items:center;border-radius:var(--radius-md)}@media(max-width:480px){.modal-result .result-content-wrapper .section-footer .footer-content{padding:var(--spacing-sm);gap:var(--spacing-sm)}}.modal-result .result-content-wrapper .section-footer .footer-content .timer-block{display:flex;flex-direction:column;text-align:left}.modal-result .result-content-wrapper .section-footer .footer-content .timer-block .timer-label{text-transform:uppercase;font-size:var(--fs-md);font-weight:var(--fw-500);opacity:.8}@media(max-width:480px){.modal-result .result-content-wrapper .section-footer .footer-content .timer-block .timer-label{font-size:var(--fs-xs)}}.modal-result .result-content-wrapper .section-footer .footer-content .timer-block .timer-value{font-size:var(--fs-xl);font-weight:var(--fw-500);line-height:1.2}@media(max-width:480px){.modal-result .result-content-wrapper .section-footer .footer-content .timer-block .timer-value{font-size:var(--fs-lg)}}.modal-result .result-content-wrapper .section-footer .footer-content .btn-share{cursor:pointer;padding:.6rem 1.2rem;border-radius:var(--radius-md);font-weight:var(--fw-500);text-transform:uppercase;color:var(--color-text);-webkit-user-select:none;user-select:none;white-space:nowrap;background:var(--gradient-brand);border:none;transition:transform .15s ease,opacity .15s ease}@media(max-width:480px){.modal-result .result-content-wrapper .section-footer .footer-content .btn-share{padding:.5rem .8rem;font-size:var(--fs-sm)}}.modal-result .result-content-wrapper .section-footer .footer-content .btn-share:active{transform:scale(.96);opacity:.9}.modal-result.calculating .section-score{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center}.modal-result.calculating .section-score .text-label{opacity:0;height:0;margin:0;transition-delay:0s}.modal-result.calculating .section-score .score-display{text-align:center}.modal-result.calculating .section-score .score-display .score-value{font-size:8rem}@media(max-width:480px){.modal-result.calculating .section-score .score-display .score-value{font-size:5rem}}.modal-result.calculating .section-score .score-display .score-suffix{opacity:0;font-size:0;transition:0s}.modal-result.calculating .result-content-wrapper{opacity:0;transform:translateY(20px);transition:opacity .3s ease 0s,transform .3s ease 0s}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}:root{--font-family-fancy: "Holtwood One SC", serif;--font-family-base: "Inter", sans-serif;--color-bg: #11110f;--color-text: #fbfafa;--color-primary: #cb4499;--color-secondary: #eb6824;--color-accent: #124559;--color-surface: #222222;--color-border: #0b090a;--radius-md: 1rem;--radius-bubble: .8rem;--radius-circle: 50%;--border-width-thin: 1px;--space-md: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--fw-400: 400;--fw-500: 500;--fw-600: 600;--fw-700: 700;--fw-800: 800;--fw-900: 900;--fs-xs: .7rem;--fs-sm: .75rem;--fs-md: .85rem;--fs-base: .95rem;--fs-lg: 1rem;--fs-lgg: 1.2rem;--fs-xl: 1.4rem;--fs-display: 5rem;--gradient-brand: linear-gradient(to right, var(--color-primary), var(--color-secondary));--gradient-surface: linear-gradient(90deg, var(--color-surface), var(--color-bg));--gradient-border: linear-gradient(var(--color-bg), var(--color-bg)) padding-box, var(--gradient-brand) border-box;--border-thin: 1px;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 4rem;--container-width: 40rem}body{height:100dvh;width:100vw;background-color:var(--color-bg);margin:0;font-family:var(--font-family-base);overflow:hidden}body button{font-family:var(--font-family-base)}body #root{height:100%;width:100%}body #root section.app{height:-webkit-fill-available;background-color:var(--color-bg);display:flex;justify-content:center;align-items:center;padding:2rem 0}body #root section.app .app-container{gap:1rem;width:100%;height:-webkit-fill-available;max-width:30rem;min-width:15rem;background-color:var(--color-bg);display:flex;flex-direction:column;position:relative;padding:0 4rem}@media(max-width:768px){body #root section.app .app-container{padding:0 2rem;max-width:100%}}@media(max-width:480px){body #root section.app .app-container{padding:0 1rem;gap:.5rem;max-width:100%}}body #root .loading-screen{height:100vh;background-color:var(--color-bg);color:var(--color-text);display:flex;align-items:center;justify-content:center}body .driver-popover{background:var(--gradient-border);border:var(--border-thin) solid transparent;border-radius:var(--radius-md);box-shadow:0 0 20px #cb449933;color:var(--color-text);padding:var(--space-md)}body .driver-popover .driver-popover-arrow{border-width:0!important}body .driver-popover-title{font-size:var(--fs-lg);font-weight:var(--fw-400);margin-bottom:var(--spacing-sm);background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}body .driver-popover-description{font-family:var(--font-family-base);font-size:var(--fs-base);color:var(--color-text);line-height:1.5;margin-bottom:var(--spacing-md)}body .driver-popover-footer{margin-top:var(--spacing-md)}body .driver-popover-footer button{background-color:transparent;border:1px solid var(--color-surface);color:var(--color-text);text-shadow:none;font-family:var(--font-family-base);font-size:var(--fs-xs);border-radius:var(--radius-bubble);padding:.4rem 1rem;transition:all .2s ease;cursor:pointer}body .driver-popover-footer button:hover{border-color:var(--color-secondary);color:var(--color-secondary)}body .driver-popover-footer button.driver-popover-next-btn{background:var(--gradient-brand);border:none;color:#fff;font-weight:var(--fw-600)}body .driver-popover-footer button.driver-popover-next-btn:hover{opacity:.9}body .driver-popover-footer .driver-popover-progress-text{color:var(--color-text);font-size:var(--fs-xs);opacity:.7}
