*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-color:#dbd9bb;--text-color:#515664;--bar-color:#515664;--title-color:#3a3d45;--accent-color:#3a7ca5;--error-color:#c1440e;--success-color:#4a7c59;--card-bg:#fff;--zone-gold:#ffda00;--font-family:"Consolas", "Courier New", monospace;--font-display:"Special Elite", "Courier New", monospace;--font-size-base:16px;--max-width:400px}[data-theme=dark]{--bg-color:#3c464f;--text-color:#d4d0d0;--bar-color:#d4d0d0;--title-color:#f0eded;--accent-color:#6db3f2;--error-color:#e07c5a;--success-color:#7dba94;--card-bg:#2e363d;--zone-gold:#ffe047}[data-theme=occrp]{--bg-color:#f4f3ec;--text-color:#222;--bar-color:#2d208a;--title-color:#1a1a1a;--accent-color:#d92429;--error-color:#701316;--success-color:#2d7a3a;--card-bg:#fff;--zone-gold:#ffda00}html,body{height:100%;font-family:var(--font-family);font-size:var(--font-size-base);background-color:var(--bg-color);color:var(--text-color);overflow:hidden}body:before{content:"";z-index:9999;pointer-events:none;filter:url(#noise);opacity:.1;position:fixed;inset:0}#uncensor-root{width:100%;max-width:var(--max-width);flex-direction:column;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}.build-label{opacity:.4;pointer-events:none;font-size:.6rem;font-family:var(--font-family);color:var(--text-color);z-index:9998;position:fixed;bottom:.4rem;left:.6rem}.hidden{display:none!important}.game-shell{flex-direction:column;gap:.4rem;height:100%;padding:.5rem .75rem;display:flex;position:relative;overflow:hidden}.game-shell:not(.keyboard-active) .puzzle-display{flex:0 auto}.game-shell:not(.keyboard-active) .input-row{margin-top:.5rem}.input-row,.button-row{gap:.5rem;display:flex}.input-top .puzzle-display{order:2}.input-top .hint-text{order:3}.input-top .hint-fab-row{order:-1}.input-top .input-row{order:0}.input-top .button-row{order:4}.tutorial-overlay{z-index:200;background:var(--bg-color);opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.tutorial-overlay.visible{opacity:1}.tutorial-skip-btn{color:var(--text-color);opacity:.5;cursor:pointer;background:0 0;border:none;align-self:flex-end;margin-right:1.5rem;padding:.25rem .5rem;font-family:inherit;font-size:.85rem}.tutorial-skip-btn:hover{opacity:1}.tutorial-viewport{touch-action:pan-y;width:100%;max-width:500px;overflow:hidden}.tutorial-track{will-change:transform;display:flex}.tutorial-card{box-sizing:border-box;flex:0 0 100%;min-width:0;padding:1.5rem}.tutorial-card-text{background:var(--card-bg);border:2px solid var(--bar-color);font-family:var(--font-display);color:var(--text-color);text-align:center;border-radius:12px;padding:2rem 1.5rem;font-size:1.15rem;line-height:1.6}.tut-reveal{white-space:nowrap;position:relative}.tut-reveal:after{content:"";background:var(--bar-color);transform-origin:100%;border-radius:3px;transition:transform .5s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:scaleX(1)}.tut-reveal.revealed:after{transform:scaleX(0)}.tutorial-controls{flex-direction:column;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.tutorial-dots{gap:.5rem;display:flex}.tutorial-dot{background:var(--bar-color);opacity:.3;border-radius:50%;width:8px;height:8px;transition:opacity .3s}.tutorial-dot.active{opacity:1}.tutorial-next-btn{min-width:120px}#loading-screen{opacity:.6;justify-content:center;align-items:center;height:100%;font-size:1.2rem;display:flex}.puzzle-display{font-family:var(--font-display);word-wrap:break-word;overflow-wrap:break-word;-webkit-overflow-scrolling:touch;flex:1;padding:.75rem;line-height:1.8;overflow:hidden auto}.word-container{vertical-align:baseline;cursor:default;display:inline-block;position:relative}.word-chars{z-index:1;display:inline;position:relative}.word-char{color:#0000;transition:color .3s;display:inline}.word-char.revealed{color:var(--text-color)}.censor-bar{background-color:var(--bar-color);z-index:2;pointer-events:none;border-radius:2px;width:100%;height:calc(100% + .15em);transition:width .4s ease-out,left .4s ease-out,opacity .3s ease-out;position:absolute;top:-.1em;left:0}.rough-edge-bars .censor-bar{filter:url(#rough-edges)}.narrow-bars .censor-bar{border-radius:2px;height:30%;top:35%}.narrow-bars .word-char{color:var(--bar-color)}.narrow-bars .word-char.revealed{color:var(--text-color)}.word-container.fully-revealed .censor-bar{pointer-events:none;opacity:0!important;width:0!important}.word-container.fully-revealed .word-char{color:var(--text-color)}@keyframes highlight-flash{0%{background-color:#f5d442}to{background-color:#0000}}.word-container.highlight-flash .word-chars{border-radius:6px;margin:-2px -4px;padding:2px 4px;animation:.8s ease-out highlight-flash}.puzzle-link{color:var(--accent-color);text-decoration:underline;-webkit-text-decoration-color:var(--accent-color);text-decoration-color:var(--accent-color)}.puzzle-link:hover{opacity:.8}.guess-input{width:100%;font-size:1rem;font-family:var(--font-family);border:2px solid var(--bar-color);background:var(--card-bg);color:var(--text-color);border-radius:6px;outline:none;padding:.6rem .8rem;transition:border-color .2s}.guess-input:focus{border-color:var(--accent-color)}.feedback-text{min-height:1.5rem;font-size:.85rem;font-weight:600;transition:color .2s}.feedback-text.positive{color:var(--success-color);animation:.4s shake-y}.feedback-text.negative{color:var(--error-color);animation:.4s shake-x}@keyframes shake-x{0%,to{transform:translate(0)}15%{transform:translate(-3px)}30%{transform:translate(3px)}45%{transform:translate(-2px)}60%{transform:translate(2px)}75%{transform:translate(-1px)}90%{transform:translate(1px)}}@keyframes shake-y{0%,to{transform:translateY(0)}15%{transform:translateY(-3px)}30%{transform:translateY(3px)}45%{transform:translateY(-2px)}60%{transform:translateY(2px)}75%{transform:translateY(-1px)}90%{transform:translateY(1px)}}@keyframes input-flash-red{0%{background-color:var(--card-bg)}25%{background-color:#ff646440}to{background-color:var(--card-bg)}}@keyframes input-flash-green{0%{background-color:var(--card-bg)}25%{background-color:#64c86440}to{background-color:var(--card-bg)}}.guess-input.flash-negative{animation:.7s input-flash-red}.guess-input.flash-positive{animation:.7s input-flash-green}.hint-text{opacity:.7;min-height:1.2rem;font-size:.85rem}.btn{border:2px solid var(--bar-color);min-height:44px;color:var(--text-color);font-family:var(--font-family);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;transition:background-color .2s,opacity .2s}.btn:hover{background-color:var(--bar-color);color:var(--bg-color)}.btn:active{opacity:.8}.btn-primary{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.btn-primary:hover{opacity:.9;background-color:var(--accent-color)}.progress-bar-track{background:color-mix(in srgb, var(--bar-color) 15%, transparent);border-radius:10px;flex-shrink:0;width:100%;height:20px;position:relative;overflow:hidden}.progress-bar-zone{background:var(--zone-gold,#ffda00);opacity:.85;border-radius:0 10px 10px 0;width:10%;height:100%;position:absolute;top:0;right:0}.progress-bar-fill{background:var(--success-color);z-index:1;border-radius:10px;height:100%;transition:width .3s ease-out;position:relative}.progress-label{color:var(--text-color);pointer-events:none;z-index:2;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex;position:absolute;inset:0}.hint-fab-row{flex-shrink:0;justify-content:flex-end;padding:0 .25rem;display:flex}.hint-fab{border:2px solid var(--bar-color);background:var(--card-bg);width:52px;height:52px;color:var(--text-color);cursor:pointer;z-index:40;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s,opacity .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.hint-fab:not(.hint-ready){opacity:.5;cursor:default}.hint-fab.hint-ready:hover{transform:scale(1.08);box-shadow:0 4px 12px #0003}.hint-fab.hint-ready:active{transform:scale(.95)}@keyframes hint-strobe{0%,to{box-shadow:0 2px 8px #00000026}50%{box-shadow:0 0 12px 4px var(--success-color)}}.hint-fab.hint-ready{animation:1.2s ease-in-out infinite hint-strobe}.hint-fab-icon{z-index:2;width:24px;height:24px;position:relative}.hint-fab-fill{background:var(--zone-gold);opacity:.55;z-index:1;height:0%;transition:height .4s ease-out;position:absolute;bottom:0;left:0;right:0}.incorrect-guesses{opacity:.5;white-space:nowrap;min-height:1rem;font-size:.75rem;overflow-x:auto}.incorrect-guess-word{margin-right:.5em;text-decoration:line-through;display:inline}.win-overlay{background:var(--bg-color);opacity:0;pointer-events:none;z-index:100;flex-direction:column;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.win-overlay.visible{opacity:1;pointer-events:auto}.win-overlay h2{color:var(--success-color);margin-bottom:1rem;font-size:1.5rem}.win-overlay .win-stats{text-align:center;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.on-screen-keyboard{background:var(--bg-color);border-top:1px solid color-mix(in srgb, var(--bar-color) 15%, transparent);-webkit-user-select:none;user-select:none;flex-shrink:0;grid-template-columns:max-content;justify-content:center;row-gap:4px;padding:.3rem;display:grid}.kb-row{gap:4px;display:flex}.kb-row:nth-child(2){padding-left:16px}.kb-row:nth-child(3){padding-left:32px}.kb-key{border:1px solid var(--bar-color);background:var(--bg-color);width:32px;height:40px;color:var(--text-color);font-family:var(--font-family);cursor:pointer;touch-action:manipulation;border-radius:4px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;font-size:.9rem;transition:background-color .1s,transform 80ms;display:flex}.kb-key-backspace{flex:0 0 44px;width:44px;font-size:1.1rem}.kb-key-enter{background:var(--accent-color);color:#fff;border-color:var(--accent-color);flex:0 0 100px;width:100px;font-size:.7rem;font-weight:700}.kb-key:hover{background:var(--bar-color);color:var(--bg-color)}.kb-key-active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:scale(.92)}.kb-key[data-state=correct]{background:var(--success-color);color:#fff;border-color:var(--success-color)}.kb-key[data-state=absent]{opacity:.4}.panel{background:var(--bg-color);z-index:50;flex-direction:column;transition:transform .35s,opacity .35s;display:flex;position:absolute;inset:0;overflow:hidden}.panel-hidden{pointer-events:none;opacity:0}.library-panel.panel-hidden{transform:translate(-100%)}.library-panel.panel-visible{opacity:1;pointer-events:auto;transform:translate(0)}.settings-panel.panel-hidden{transform:translate(100%)}.settings-panel.panel-visible{opacity:1;pointer-events:auto;transform:translate(0)}.main-hidden{opacity:0;pointer-events:none}.panel-header{border-bottom:1px solid var(--bar-color);opacity:.8;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.panel-title{font-family:var(--font-display);letter-spacing:.05em;color:var(--title-color);font-size:1.4rem;font-weight:700}.panel-close-btn{color:var(--text-color);cursor:pointer;opacity:.5;background:0 0;border:none;padding:.25rem .5rem;font-size:1.6rem;line-height:1;transition:opacity .15s}.panel-close-btn:hover{opacity:1}.library-header-row{flex-shrink:0;justify-content:center;align-items:center;padding:1rem .75rem .5rem;display:flex;position:relative}.library-title{font-family:var(--font-display);letter-spacing:.05em;color:var(--title-color);text-align:center;font-size:1.4rem;font-weight:700}.library-settings-btn{position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.library-section-heading{text-transform:uppercase;letter-spacing:.04em;opacity:.5;padding:.5rem 0 .15rem;font-size:.78rem;font-weight:700}.library-groups{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.library-group-card{border:2px solid var(--bar-color);min-height:44px;color:var(--text-color);font-family:var(--font-family);cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:8px;flex-direction:column;gap:.35rem;padding:.75rem;transition:background-color .15s,border-color .15s;display:flex}.library-group-card:hover{background:color-mix(in srgb, var(--bar-color) 15%, transparent)}.library-group-card.completed{opacity:.45}.library-tutorial-btn{color:var(--text-color);opacity:.4;cursor:pointer;background:0 0;border:none;align-self:center;padding:.75rem 0;font-family:inherit;font-size:.8rem}.library-tutorial-btn:hover{opacity:.8}.library-footer{border-top:1px solid color-mix(in srgb, var(--bar-color) 15%, transparent);flex-shrink:0;justify-content:center;gap:1.5rem;padding:.6rem .75rem;display:flex}.library-footer-btn{color:var(--text-color);opacity:.5;cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-family:inherit;font-size:.82rem}.library-footer-btn:hover{opacity:.9}.group-card-info{justify-content:space-between;align-items:baseline;display:flex}.group-card-name{font-size:.95rem;font-weight:600}.group-card-count{opacity:.7;font-size:.8rem}.group-card-progress-track{background:color-mix(in srgb, var(--bar-color) 25%, transparent);border-radius:2px;width:100%;height:4px;overflow:hidden}.group-card-progress-fill{background:var(--success-color);border-radius:2px;height:100%}.daily-card{border-color:var(--zone-gold);position:relative;overflow:hidden}.daily-card.daily-available{color:#3a2a00;background:linear-gradient(135deg,#d4a017,#f0c040,#d4a017);border-color:#c8960f}.daily-card.daily-available:hover{color:#3a2a00;background:linear-gradient(135deg,#c89510,#e6b535,#c89510)}.daily-card-gleam{pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff59 45%,#ffffff80 50%,#ffffff59 55%,#0000 65%);animation:3.5s ease-in-out infinite daily-gleam;position:absolute;inset:0}@keyframes daily-gleam{0%,to{transform:translate(-150%)}50%{transform:translate(150%)}}.daily-card.daily-completed{opacity:1;background:color-mix(in srgb, var(--bar-color) 12%, transparent);border-color:var(--bar-color)}.daily-card.daily-unavailable{opacity:.35;pointer-events:none}.daily-card-row{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.daily-card-label{white-space:nowrap;font-size:.95rem;font-weight:400}.daily-card-label strong{font-weight:700}.daily-card-status-text{opacity:.5;font-size:.8rem}.daily-next-wrapper{flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.daily-next-label{opacity:.55;white-space:nowrap;font-size:.65rem}.daily-countdown-pill{background:var(--accent-color);color:#fff;letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:700;display:inline-block}.settings-list{flex-direction:column;flex:1;gap:.25rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.difficulty-section,.theme-section{border-bottom:2px solid color-mix(in srgb, var(--bar-color) 20%, transparent);text-align:center;padding:.5rem 0 .75rem}.settings-section-heading{text-transform:uppercase;letter-spacing:.04em;opacity:.5;padding:.75rem 0 .25rem;font-size:.78rem;font-weight:700}.difficulty-label{opacity:.7;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.difficulty-buttons{justify-content:center;gap:6px;display:flex}.difficulty-btn{border:2px solid var(--bar-color);color:var(--text-color);font-family:var(--font-family);cursor:pointer;opacity:.6;background:0 0;border-radius:6px;flex:1;padding:.45rem .3rem;font-size:.75rem;transition:opacity .2s,transform .2s,background-color .2s,border-color .2s}.difficulty-btn:hover{opacity:.8}.difficulty-btn.active{opacity:1;background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:scale(1.08)}.difficulty-custom-text{opacity:0;color:var(--accent-color);margin-top:.35rem;font-size:.7rem;transition:opacity .3s}.settings-row{border-bottom:1px solid color-mix(in srgb, var(--bar-color) 15%, transparent);cursor:pointer;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.settings-row:last-child{border-bottom:none}.settings-desc{overflow-wrap:break-word;word-wrap:break-word;flex:1;font-size:.82rem;line-height:1.4}.toggle-wrap{flex-shrink:0;width:44px;height:24px;position:relative}.settings-toggle{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background:var(--bar-color);opacity:.3;cursor:pointer;border-radius:12px;transition:background-color .2s,opacity .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--bg-color);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.settings-toggle:checked+.toggle-slider{background:var(--accent-color);opacity:1}.settings-toggle:checked+.toggle-slider:before{transform:translate(20px)}.settings-row-slider{gap:.75rem}.settings-range{appearance:none;background:var(--bar-color);opacity:.5;cursor:pointer;border-radius:3px;outline:none;flex-shrink:0;width:100px;height:6px;transition:opacity .2s}.settings-range:hover,.settings-range:active{opacity:.8}.settings-range::-webkit-slider-thumb{appearance:none;background:var(--accent-color);cursor:pointer;border-radius:50%;width:18px;height:18px}.settings-range::-moz-range-thumb{background:var(--accent-color);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px}.settings-danger-section{border-top:1px solid color-mix(in srgb, var(--bar-color) 20%, transparent);text-align:center;margin-top:1rem;padding:1.5rem 0 .5rem}.btn-danger{color:#fff;background-color:#c1440e;border-color:#c1440e;font-weight:700}.btn-danger:hover{color:#fff;background-color:#a93a0a;border-color:#a93a0a}.confirm-modal-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--bg-color);color:var(--text-color);text-align:center;border-radius:12px;width:100%;max-width:320px;padding:1.5rem}.confirm-modal-text{margin-bottom:1.25rem;font-size:.95rem;line-height:1.4}.confirm-modal-buttons{justify-content:center;gap:.75rem;display:flex}.confirm-modal-cancel{border:2px solid var(--bar-color)}.game-title{text-align:center;font-family:var(--font-display);letter-spacing:.05em;color:var(--title-color);cursor:pointer;flex-shrink:0;padding-top:.5rem;font-size:1.4rem;font-weight:700}.nav-bar{flex-shrink:0;justify-content:space-between;align-items:center;gap:.25rem;display:flex}.nav-btn{color:var(--text-color);font-family:var(--font-family);cursor:pointer;opacity:.6;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem .6rem;font-size:1.2rem;transition:opacity .15s;display:flex}.nav-btn:hover{opacity:1}.nav-arrow{opacity:.8;font-size:2rem;font-weight:700;line-height:1}.nav-faq{border:2px solid var(--bar-color);opacity:.6;border-radius:50%;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;font-size:.85rem;font-weight:700}.nav-title{opacity:.7;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:600;overflow:hidden}.keyboard-active .puzzle-display{flex:1;min-height:80px}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.embed-mode{border-radius:12px;overflow:hidden}.embed-mode .nav-bar{padding:.25rem .5rem}.embed-mode .game-shell{padding:.25rem .5rem;overflow-y:auto}.faq-overlay{z-index:200;opacity:0;background:#2a2a2a;flex-direction:column;transition:opacity .3s;display:flex;position:absolute;inset:0;overflow:hidden}.faq-overlay.visible{opacity:1}.faq-panel{color:#e0e0e0;flex-direction:column;height:100%;display:flex}.faq-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1rem .5rem;display:flex}.faq-title{color:#fff;font-size:1.6rem;font-weight:700}.faq-close-btn{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:.25rem .5rem;font-size:2rem;line-height:1;transition:opacity .15s}.faq-close-btn:hover{opacity:1}.faq-body{-webkit-overflow-scrolling:touch;flex:1;padding:.5rem 1rem 1.5rem;overflow-y:auto}.faq-body h3{color:#fff;margin:1.25rem 0 .5rem;font-size:1.15rem;font-weight:700}.faq-body h3:first-child{margin-top:.25rem}.faq-body p{color:#d0d0d0;margin:0 0 .65rem;font-size:.88rem;line-height:1.55}.faq-body em{font-style:italic}
