.theme-page{max-width:960px;margin:0 auto;padding:32px 24px 64px}.theme-page-header{margin-bottom:32px}.theme-page-back{display:inline-block;margin-bottom:16px;text-decoration:none}.theme-page-header h1{margin:0 0 8px;font-size:2rem}.theme-page-header p{margin:0;color:var(--text-muted)}.theme-editor{display:grid;grid-gap:24px;gap:24px}.theme-editor-preview-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:12px;padding:24px}.theme-editor-preview-card h2{margin:0 0 16px;font-size:1.25rem}.theme-editor-preview-post{pointer-events:none;margin:0 -20px -16px;border-radius:0 0 12px 12px;overflow:hidden}.theme-editor-preview-post .post-container{border-radius:0}.theme-editor-group{display:grid;grid-gap:16px;gap:16px}.theme-editor-group-title{margin:0;font-size:1rem;color:var(--text-primary)}.theme-editor-group-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.theme-editor-controls{background:var(--surface-1);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:grid;grid-gap:20px;gap:20px}.theme-editor-field label{display:block;margin-bottom:8px;font-weight:600}.theme-editor-color-input{display:block}.theme-editor-actions{display:flex;gap:12px;flex-wrap:wrap}.theme-editor-randomize,.theme-editor-reset,.theme-editor-save{border-radius:8px;padding:10px 16px;font-size:1rem;cursor:pointer}.theme-editor-randomize{background:transparent;border:1px solid var(--border-color-strong);color:var(--text-secondary)}.theme-editor-randomize:disabled{opacity:.5;cursor:not-allowed}.theme-editor-save{background:var(--theme-link);border:none;color:var(--text-on-accent)}.theme-editor-save:disabled{opacity:.5;cursor:not-allowed}.theme-editor-reset{background:transparent;border:1px solid var(--border-color-strong);color:var(--text-secondary)}.theme-editor-error{margin:0;color:var(--error-color)}.theme-editor-success{margin:0;color:var(--success-color)}.theme-editor-reset-modal{width:100%;max-width:500px;background:var(--surface-1);border-radius:12px;padding:24px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px}.theme-editor-reset-modal-title{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.theme-editor-reset-modal-message{margin:0;color:var(--text-secondary);font-size:15px}.theme-editor-reset-modal-actions{display:flex;gap:12px;justify-content:flex-end}.theme-editor-reset-modal-cancel{padding:10px 16px;background:transparent;border:1px solid var(--border-color-strong);border-radius:8px;color:var(--text-secondary);font-size:1rem;cursor:pointer}.theme-editor-reset-modal-cancel:disabled,.theme-editor-reset-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.theme-editor-reset-modal-confirm{padding:10px 16px;background:var(--error-color);border:none;border-radius:8px;color:var(--text-primary);font-size:1rem;cursor:pointer}.account-switcher{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:400px;margin:1rem auto 0}.account-switcher-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.account-switcher-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--border-color);border-radius:12px}.account-switcher-names{display:flex;flex-direction:column;min-width:0;flex:1 1;text-align:left}.account-switcher-display-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-switcher-username{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-switcher-badge{font-size:.75rem;font-weight:600;color:var(--theme-link);border:1px solid var(--theme-link);border-radius:999px;padding:2px 10px;flex-shrink:0}.account-switcher-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.account-switcher-remove{background:transparent;border:1px solid var(--border-color-strong);border-radius:8px;color:var(--text-secondary);width:32px;height:32px;cursor:pointer;transition:all .2s;&:hover{border-color:var(--error-color);color:var(--error-color)}}.whimsy-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:400px;margin:1rem auto 0;padding:12px 16px;border:1px solid var(--border-color);border-radius:12px}.whimsy-toggle-text{display:flex;flex-direction:column;min-width:0;text-align:left}.whimsy-toggle-label{font-weight:600;color:var(--text-primary)}.whimsy-toggle-hint{font-size:.85rem;color:var(--text-secondary)}.whimsy-toggle-switch{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:0;cursor:pointer;flex-shrink:0}.whimsy-toggle-track{position:relative;display:inline-block;width:40px;height:22px;border-radius:999px;background:var(--surface-2,var(--border-color-strong));border:1px solid var(--border-color-strong);transition:background .2s,border-color .2s}.whimsy-toggle-thumb{position:absolute;top:50%;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-secondary);transform:translateY(-50%);transition:transform .2s,background .2s}.whimsy-toggle-switch[data-on=true] .whimsy-toggle-track{background:var(--theme-link);border-color:var(--theme-link)}.whimsy-toggle-switch[data-on=true] .whimsy-toggle-thumb{background:#fff;transform:translate(18px,-50%)}.whimsy-toggle-state{font-size:.85rem;font-weight:600;color:var(--text-secondary);min-width:1.8rem;text-align:left}.whimsy-toggle-switch[data-on=true] .whimsy-toggle-state{color:var(--theme-link)}.compose-page{max-width:600px;margin:32px auto;padding:0 16px}.image-viewer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:1000;display:flex;align-items:center;justify-content:center}.image-viewer-close{position:absolute;top:16px;right:16px;background:rgba(0,0,0,.5);border:none;color:white;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center;transition:background .15s;&:hover{background:rgba(255,255,255,.15)}}.image-viewer-container{max-width:90vw;max-height:90vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-viewer-img{max-width:90vw;max-height:90vh;object-fit:contain;transition:transform .05s ease-out;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;&:active{cursor:-webkit-grabbing;cursor:grabbing}}.repost-menu-container{position:relative}.repost-menu-dropdown{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--surface-2);border:1px solid var(--border-color-strong);border-radius:8px;box-shadow:0 4px 16px color-mix(in srgb,#000,transparent 70%);z-index:200;min-width:140px;overflow:hidden}.repost-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;text-align:left;transition:background .15s;&:hover{background:var(--surface-3)}}.moderator-toolbar{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.35);border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:13px}.moderator-toolbar-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;cursor:pointer;color:rgba(251,191,36,.85);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:0;margin-bottom:0;&:hover{color:rgba(251,191,36,1)}}.moderator-toolbar-toggle-arrow{font-size:10px;opacity:.7}.moderator-toolbar-hidden-notice{color:#ef4444;font-weight:600;margin:6px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.moderator-toolbar-status{color:var(--text-secondary);margin-top:8px;margin-bottom:8px;display:flex;gap:8px;align-items:center}.moderator-toolbar-divider{opacity:.4}.moderator-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.moderator-toolbar-btn{padding:4px 12px;border-radius:6px;border:1px solid;background:transparent;cursor:pointer;font-size:12px;font-weight:500;transition:opacity .15s;&:disabled{opacity:.5;cursor:not-allowed}&:hover:not(:disabled){opacity:.75}}.moderator-toolbar-btn--danger{color:#ef4444}.moderator-toolbar-btn--safe{color:#22c55e}.mod-action-log{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px;th{text-align:left;padding:6px 12px;color:var(--text-secondary);font-weight:500}td,th{border-bottom:1px solid var(--border-color)}td{padding:8px 12px;vertical-align:middle}tr:last-child td{border-bottom:none}}.mod-action-log-link{color:var(--text-primary);text-decoration:none;&:hover{text-decoration:underline}}.mod-action-log-container{display:flex;flex-direction:column;gap:0;padding:16px 0 0}.mod-action-log-toolbar{display:flex;align-items:center;gap:12px;padding:0 24px 14px;border-bottom:1px solid var(--border-color)}.mod-action-log-search{flex:1 1;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border-color-strong);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s;&::placeholder{color:var(--text-muted)}&:focus{outline:none;border-color:var(--theme-link)}}.mod-action-log-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.mod-action-log-empty{padding:24px;color:var(--text-muted);font-size:14px;margin:0}.mod-action-log-pagination{display:flex;align-items:center;gap:12px;padding:12px 24px;border-top:1px solid var(--border-color)}.mod-action-log-page-btn{padding:4px 12px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:border-color .15s,color .15s;&:hover:not(:disabled){border-color:var(--border-color-strong);color:var(--text-primary)}&:disabled{opacity:.35;cursor:default}}.mod-action-log-page-label{font-size:12px;color:var(--text-muted);flex:1 1;text-align:center}.mod-action-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;background:var(--surface-3);color:var(--text-secondary);&.mod-action-badge--demote_mod,&.mod-action-badge--disable_user,&.mod-action-badge--hide_post{background:color-mix(in srgb,var(--error-color),transparent 85%);color:var(--error-color)}&.mod-action-badge--enable_user,&.mod-action-badge--unhide_post{background:color-mix(in srgb,var(--success-color),transparent 85%);color:var(--success-color)}}.admin-dashboard-grid{width:100%}.admin-dashboard-col,.admin-dashboard-grid{display:flex;flex-direction:column;gap:24px}.admin-dashboard-col{min-width:0}@media (min-width:1100px){.admin-notifications-container{max-width:1400px;align-self:center}.admin-dashboard-grid{flex-direction:row;align-items:flex-start}.admin-dashboard-col--left{flex:0 0 420px}.admin-dashboard-col--right{flex:1 1}}.global-post-feed-card{padding:0;width:100%;overflow:hidden}.global-post-feed{height:560px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.global-post-feed .post-feed{max-width:100%}.global-post-feed .post-feed-empty{border-radius:0 0 12px 12px}.shart-page{max-width:900px;margin:0 auto;padding:16px}.shart-editor-header,.shart-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.shart-gallery-title{font-family:var(--font-display);font-size:1.6rem;margin:0}.shart-draft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.shart-draft-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.shart-draft-thumb-link{display:block;position:relative;width:100%;aspect-ratio:1/1;background:#ffffff}.shart-draft-thumb{object-fit:cover}.shart-draft-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.shart-draft-title{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shart-draft-delete{background:none;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;cursor:pointer}.shart-draft-delete:hover{color:var(--error-color)}.shart-title-input{flex:1 1;background:var(--surface-1);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:8px 12px;font-size:1rem}.shart-editor-header-actions{display:flex;gap:8px}.shart-btn{background:var(--surface-3);border:1px solid var(--border-color-strong);border-radius:8px;color:var(--text-primary);padding:8px 14px;cursor:pointer;font-size:.9rem;transition:all .15s ease}.shart-btn:hover:not(:disabled){background:var(--surface-4)}.shart-btn:disabled{opacity:.4;cursor:not-allowed}.shart-btn-primary{background:var(--theme-link);border-color:var(--theme-link);color:var(--text-on-accent)}.shart-btn-danger{color:var(--error-color)}.shart-back-btn{display:inline-flex;padding:8px;flex-shrink:0}.shart-back-btn,.shart-loading{align-items:center;justify-content:center}.shart-loading{display:flex;flex:1 1;min-height:50vh;padding:24px}.shart-status{color:var(--text-secondary)}.shart-error,.shart-status{font-size:.9rem;margin:4px 0}.shart-error{color:var(--error-color)}.shart-editor{gap:8px}.shart-canvas-wrap,.shart-editor{display:flex;flex-direction:column}.shart-canvas-wrap{gap:12px;flex:1 1;min-height:0}.shart-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px}.shart-tool-group{display:flex;gap:8px}.shart-tool-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--surface-3);border:1px solid var(--border-color-strong);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.shart-tool-btn:hover:not(:disabled){background:var(--surface-4);color:var(--text-primary)}.shart-tool-btn.active{background:var(--theme-link);color:var(--text-on-accent);border-color:var(--theme-link)}.shart-tool-btn:disabled{opacity:.4;cursor:not-allowed}.shart-color-group{display:flex;align-items:center;gap:8px}.shart-slider-group{display:flex;flex-direction:column;gap:4px;min-width:140px}.shart-slider-group label{font-size:.8rem;color:var(--text-secondary)}.shart-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-4);border-radius:3px;cursor:pointer}.shart-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--theme-link);cursor:pointer}.shart-canvas-container{position:relative;display:flex;justify-content:center;align-items:center;background:var(--surface-1);border:1px solid var(--border-color);border-radius:10px;padding:12px;flex:1 1;min-height:0;overflow:hidden}.shart-canvas{display:block;width:auto;height:auto;max-width:min(512px,100%);max-height:100%;background:#ffffff;border-radius:6px;box-shadow:0 4px 20px color-mix(in srgb,var(--overlay-color),transparent 60%);touch-action:none}.shart-options-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px}.shart-stamp-palette{display:flex;flex-wrap:wrap;gap:4px}.shart-stamp-btn{width:40px;height:40px;font-size:22px;line-height:1;background:var(--surface-3);border:1px solid var(--border-color-strong);border-radius:8px;cursor:pointer;transition:transform .15s ease}.shart-stamp-btn:hover{transform:scale(1.1)}.shart-stamp-btn.active{border-color:var(--theme-link);background:var(--surface-4)}.shart-canvas-text-input{position:absolute;z-index:5;background:transparent;border:1px dashed var(--theme-link);padding:0;margin:0;outline:none;font-family:sans-serif;line-height:1}.shart-zoom-controls{position:absolute;right:10px;bottom:10px;display:flex;gap:2px;background:var(--surface-3);border:1px solid var(--border-color-strong);border-radius:8px;overflow:hidden;z-index:5}.shart-zoom-controls button{min-width:36px;height:32px;padding:0 8px;background:transparent;border:none;color:var(--text-primary);font-size:.85rem;cursor:pointer}.shart-zoom-controls button:hover{background:var(--surface-4)}.shart-share-panel{background:var(--surface-2);border:1px solid var(--border-color);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.shart-share-input{width:100%;background:var(--surface-1);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:10px;resize:vertical;font-family:inherit}.shart-share-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}.shart-share-counter{font-size:.85rem;color:var(--text-muted)}.shart-share-counter.over{color:var(--error-color)}.shart-editor-footer{margin-top:12px}@media (max-width:768px){main:has(.shart-page--editor){box-sizing:border-box;height:100dvh;padding-bottom:0;overflow:hidden}.shart-page--editor{box-sizing:border-box;height:100dvh;max-width:none;margin:0;padding:8px 8px calc(92px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden}.shart-page--editor .shart-editor{flex:1 1;min-height:0}.shart-page--editor .shart-editor-header{margin-bottom:0;flex-wrap:wrap;gap:8px}.shart-page--editor .shart-title-input{font-size:.9rem;padding:6px 10px;min-width:0;flex:1 1 120px}.shart-page--editor .shart-editor-header-actions{flex-shrink:0}.shart-page--editor .shart-btn{padding:6px 10px;font-size:.8rem;white-space:nowrap}.shart-page--editor .shart-canvas-wrap{gap:8px}.shart-page--editor .shitris-options-row,.shart-page--editor .shitris-toolbar{flex-wrap:nowrap;overflow-x:auto;gap:12px;padding:8px}.shart-page--editor .shitris-color-group,.shart-page--editor .shitris-stamp-palette,.shart-page--editor .shitris-tool-group{flex-shrink:0}.shart-page--editor .shitris-stamp-palette{flex-wrap:nowrap}.shart-page--editor .shart-slider-group{min-width:120px;flex-shrink:0}.shart-page--editor .shart-editor-footer{margin-top:0}.shart-page--editor .shart-share-panel{position:fixed;left:0;right:0;bottom:calc(84px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;box-shadow:0 -4px 20px color-mix(in srgb,var(--overlay-color),transparent 50%);z-index:150}.shart-page--editor .color-picker-overlay{position:fixed;top:auto;left:50%;right:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(320px,calc(100vw - 24px));z-index:160}}.color-picker{display:flex;flex-direction:column;gap:12px;max-width:240px}.color-picker--disabled{opacity:.5}.color-picker--disabled .color-picker-surface{pointer-events:none}.color-picker-surface .react-colorful{width:100%;height:168px}.color-picker-fields{display:flex;flex-direction:column;gap:8px}.color-picker-input{width:100%;padding:8px 10px;background:var(--surface-3);border:1px solid var(--border-color-strong);border-radius:6px;color:var(--text-primary);font-family:var(--font-mono);font-size:14px}.color-picker-input:focus{outline:none;border-color:var(--theme-link)}.color-picker-input:disabled{cursor:not-allowed}.color-picker-formats{display:flex;flex-direction:column;gap:4px}.color-picker-format{width:100%;padding:4px 8px;background:transparent;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.color-picker-format:focus{outline:none}.color-picker--compact{position:relative;display:block;max-width:240px}.color-picker-compact-field{position:relative;display:flex;align-items:center}.color-picker-swatch{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:4px;border:1px solid var(--border-color-strong);pointer-events:none}.color-picker--compact .color-picker-input{padding-left:34px}.color-picker-overlay{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface-2);border:1px solid var(--border-color-strong);border-radius:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--overlay-color),transparent 70%)}.vine-recorder-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#000,transparent 10%);padding:16px}.vine-recorder{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px}.vine-recorder-close{position:absolute;top:-8px;right:0;background:none;border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;z-index:2}.vine-recorder-stage{position:relative;width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#000}.vine-recorder-source{display:none}.vine-recorder-canvas{width:100%;height:100%;object-fit:cover}.vine-recorder-canvas.mirrored{transform:scaleX(-1)}.vine-recorder-flip{position:absolute;top:12px;left:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:#fff;background:rgba(0,0,0,.45);border:none;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vine-recorder-flip:hover{background:rgba(0,0,0,.6)}.vine-recorder-countdown{position:absolute;top:12px;right:16px;color:#fff;font-size:20px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6)}.vine-recorder-error{color:#ff6b6b;text-align:center;margin:0}.vine-recorder-hint{color:#fff;margin:0}.vine-recorder-controls{display:flex;align-items:center;justify-content:center;min-height:84px}.vine-record-button{position:relative;width:84px;height:84px;padding:0;background:none;border:none;cursor:pointer}.vine-record-ring{position:absolute;inset:0}.vine-record-ring-track{fill:none;stroke:rgba(255,255,255,.3);stroke-width:4}.vine-record-ring-progress{fill:none;stroke:#ff3b30;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.vine-record-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:#ff3b30;transition:all .15s ease}.vine-record-button.recording .vine-record-dot{width:28px;height:28px;border-radius:6px}.vine-recorder-preview-actions{display:flex;gap:12px}.vine-recorder-mic{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:#fff;background:rgba(0,0,0,.45);border:none;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vine-recorder-mic:hover{background:rgba(0,0,0,.6)}.vine-recorder-mic.off{color:#fff;background:#ff3b30}.post-video-noaudio{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.4);border-radius:999px;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.whimsy-overlay{width:100vw;height:100vh;z-index:9999}.crabbler-sticker-layer,.whimsy-overlay{position:fixed;inset:0;pointer-events:none}.crabbler-sticker-layer{z-index:10001}.crabbler-sticker{position:absolute;transform:translate(-50%,-50%)}.crabbler-sticker-pop{animation:crabbler-pop 1.15s cubic-bezier(.2,.9,.25,1) both;will-change:transform,opacity}.crabbler-sticker-svg{display:block;font-family:Impact,Haettenschweiler,Arial Narrow Bold,Franklin Gothic Heavy,sans-serif;letter-spacing:1px}@keyframes crabbler-pop{0%{opacity:0;transform:scale(.25) rotate(calc(var(--crabbler-tilt, 0deg) - 22deg))}7%{opacity:1;transform:scale(1.22) rotate(calc(var(--crabbler-tilt, 0deg) + 4deg))}14%{opacity:1;transform:scale(.94) rotate(calc(var(--crabbler-tilt, 0deg) - 3deg))}21%{opacity:1;transform:scale(1.05) rotate(calc(var(--crabbler-tilt, 0deg) + 1deg))}30%{opacity:1;transform:scale(1) rotate(var(--crabbler-tilt,0deg))}60%{opacity:1;transform:scale(1) rotate(var(--crabbler-tilt,0deg))}to{opacity:0;transform:scale(1.16) translateY(-16px) rotate(var(--crabbler-tilt,0deg))}}:root{--crabbler-spin-span:1300ms;--crabbler-spin-revs:12;--crabbler-spin-turn:calc(var(--crabbler-spin-revs) * 360deg)}.app-stage.crabbler-whirl{position:fixed;inset:0;overflow:hidden;pointer-events:none;transform-origin:50% 50%;will-change:transform,filter;animation:crabbler-whirl var(--crabbler-spin-span) linear both}@keyframes crabbler-whirl{0%{transform:rotate(0deg) scale(1);filter:blur(0)}10%{transform:rotate(calc(var(--crabbler-spin-turn) * .1)) scale(1.05);filter:blur(4px)}20%{transform:rotate(calc(var(--crabbler-spin-turn) * .2)) scale(1.09);filter:blur(7px)}30%{transform:rotate(calc(var(--crabbler-spin-turn) * .3)) scale(1.13);filter:blur(10px)}40%{transform:rotate(calc(var(--crabbler-spin-turn) * .4)) scale(1.16);filter:blur(12px)}50%{transform:rotate(calc(var(--crabbler-spin-turn) * .5)) scale(1.18);filter:blur(13px)}60%{transform:rotate(calc(var(--crabbler-spin-turn) * .6)) scale(1.15);filter:blur(10px)}70%{transform:rotate(calc(var(--crabbler-spin-turn) * .7)) scale(1.11);filter:blur(7px)}80%{transform:rotate(calc(var(--crabbler-spin-turn) * .8)) scale(1.07);filter:blur(4px)}90%{transform:rotate(calc(var(--crabbler-spin-turn) * .9)) scale(1.03);filter:blur(2px)}to{transform:rotate(var(--crabbler-spin-turn)) scale(1);filter:blur(0)}}.crabbler-spin-layer{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;z-index:10002}.crabbler-emblem{width:max(460px,hypot(25.2vw,40.6vh));will-change:transform;animation:crabbler-emblem-grow var(--crabbler-spin-span) linear both}.crabbler-emblem svg{display:block;width:100%;height:auto}@keyframes crabbler-emblem-grow{0%{transform:scale(.02)}6.9%{transform:scale(.25)}15.4%{transform:scale(1.2)}27.7%{transform:scale(3.2)}41.5%{transform:scale(5.4)}48%{transform:scale(6.2)}53.8%{transform:scale(6.2)}60%{transform:scale(5)}71.5%{transform:scale(3)}85.4%{transform:scale(1)}94.6%{transform:scale(.18)}to{transform:scale(0)}}.star-rating{display:inline-flex;align-items:center;gap:1px;color:var(--accent-violet)}.star-rating-star{position:relative;display:inline-block;flex-shrink:0}.star-rating-star>svg{display:block;color:var(--text-muted)}.star-rating-fill{position:absolute;top:0;left:0;height:100%;overflow:hidden;color:var(--accent-violet)}.star-rating-fill>svg{display:block}.star-rating-input{display:inline-flex;gap:2px;border-radius:8px}.star-rating-input:focus-visible{outline:2px solid var(--theme-link);outline-offset:2px}.star-rating-input.disabled{opacity:.6;pointer-events:none}.star-rating-input-star{position:relative;display:inline-block;cursor:pointer}.star-rating-hit{position:absolute;top:0;width:50%;height:100%;padding:0;border:none;background:transparent;cursor:pointer}.star-rating-hit-left{left:0}.star-rating-hit-right{right:0}.review-card{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:10px;width:100%;border:1px solid var(--border-color-strong);border-radius:12px}.review-card-item{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}.review-card-item-photo{width:48px;height:48px;border-radius:8px;flex-shrink:0}.review-card-item-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.review-card-item-name{font-weight:600;color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-card-item-name:hover{text-decoration:underline}.review-card-item-sub{display:flex;align-items:center;flex-wrap:wrap;min-width:0;gap:4px 8px;font-size:13px;color:var(--text-secondary)}.review-card-item-type{text-transform:capitalize;padding:1px 8px;border:1px solid var(--border-color-strong);border-radius:999px;font-size:12px}.review-card-item-aggregate{display:inline-flex;align-items:center;gap:4px}.review-card-item-count{font-size:12px;color:var(--text-muted)}.review-card-text{margin:0;font-size:14px;color:var(--text-primary);overflow-wrap:break-word}.review-composer{display:flex;flex-direction:column;gap:8px;margin-top:8px;margin-bottom:20px;padding:10px;border:1px solid color-mix(in srgb,var(--accent-violet),transparent 70%);border-radius:12px}.review-composer-search{position:relative;display:flex;flex-direction:column}.review-composer-dropdown{position:static;margin-top:4px}.review-composer-result-photo{width:32px;height:32px;border-radius:6px;flex-shrink:0}.review-composer-result-placeholder{display:inline-block;background:var(--surface-2);border:1px solid var(--border-color-strong)}.review-composer-create{color:var(--theme-link)}.review-composer-item-chip{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border-color-strong);border-radius:8px;min-width:0}.review-composer-chip-photo{width:32px;height:32px;border-radius:6px;flex-shrink:0}.review-composer-chip-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-composer-chip-meta{font-size:12px;color:var(--text-secondary);text-transform:capitalize;flex-shrink:0}.review-composer-item-chip .poll-composer-remove{margin-left:auto}.review-composer-form{display:flex;flex-direction:column;gap:8px}.review-composer-form-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.review-composer-form-row{display:flex;align-items:center;gap:8px}.review-composer-year{max-width:100px;flex:0 1 auto}.review-composer-photo-preview{width:40px;height:40px;border-radius:6px}.review-composer-rating{display:flex;align-items:center}.review-composer-text-wrap{position:relative;display:flex;flex-direction:column;gap:4px}.review-composer-text{resize:vertical;min-height:60px;font-family:inherit;line-height:1.4}.review-item-page-header{display:flex;gap:14px;padding:12px;border:1px solid var(--border-color);border-radius:12px;margin-bottom:12px;max-width:100%}.review-item-photo{width:120px;height:120px;border-radius:10px;flex-shrink:0;object-fit:cover}.review-item-meta{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 auto}.review-item-name{margin:0;font-size:1.4em;color:var(--text-primary);overflow-wrap:break-word}.review-item-sub{display:flex;align-items:center;flex-wrap:wrap;min-width:0;gap:4px 8px;color:var(--text-secondary);font-size:14px}.review-item-type{text-transform:capitalize;padding:1px 8px;border:1px solid var(--border-color-strong);border-radius:999px;font-size:12px}.review-item-description{margin:0;font-size:14px;color:var(--text-secondary);overflow-wrap:break-word}.review-item-aggregate{display:flex;align-items:center;flex-wrap:wrap;min-width:0;gap:4px 8px}.review-item-count{font-size:13px;color:var(--text-muted)}.review-item-back{display:inline-block;margin-bottom:12px;font-size:14px;color:var(--theme-link);text-decoration:none}.review-item-back:hover{text-decoration:underline}.review-item-empty{color:var(--text-secondary);padding:12px}.reviews-browse-title{margin:0 0 2px;font-size:1.4em;color:var(--text-primary)}.reviews-browse-subtitle{margin:0 0 12px;font-size:.95em;font-weight:400;color:var(--text-secondary)}.reviews-browse .search-input{width:100%;margin-bottom:12px}.reviews-browse-list{display:flex;flex-direction:column;gap:8px}.reviews-browse-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-color);border-radius:12px;text-decoration:none;min-width:0;transition:border-color .2s}.reviews-browse-row:hover{border-color:var(--border-color-strong)}.reviews-browse-photo{width:48px;height:48px;border-radius:8px;flex-shrink:0}.reviews-browse-photo-placeholder{display:inline-block;background:var(--surface-2);border:1px solid var(--border-color-strong)}.reviews-browse-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.reviews-browse-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reviews-browse-sub{font-size:13px;color:var(--text-secondary);text-transform:capitalize}.reviews-browse-rating{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.reviews-browse-count{font-size:12px;color:var(--text-muted)}.reviews-browse-empty{color:var(--text-secondary);padding:12px}.scoreboard-page{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:24px;gap:24px}.scoreboard-page-header{width:100%;max-width:900px;text-align:center;h1{margin:0 0 8px;font-size:32px;line-height:1.2}p{margin:0;color:var(--text-muted);font-size:14px}}.scoreboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px;width:100%;max-width:900px}.scoreboard-card{margin-top:10px;background:var(--surface-1);border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.scoreboard-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--text-secondary);padding-bottom:8px;border-bottom:1px solid var(--border-color)}.scoreboard-status{display:inline-flex;align-items:center;gap:6px;font-weight:600}.scoreboard-status--live{color:var(--error-color-strong)}.scoreboard-live-dot{width:8px;height:8px;border-radius:50%;background:var(--error-color-strong);animation:scoreboard-pulse 1.5s ease-in-out infinite}@keyframes scoreboard-pulse{0%,to{opacity:1}50%{opacity:.3}}.scoreboard-broadcast{color:var(--text-muted)}.scoreboard-teams{display:flex;flex-direction:column;gap:8px}.scoreboard-team-row{display:flex;align-items:center;gap:10px;font-size:16px}.scoreboard-team-logo{width:28px;height:28px;object-fit:contain;flex-shrink:0}.scoreboard-team-name{display:flex;align-items:baseline;gap:8px;font-weight:600;color:var(--text-primary)}.scoreboard-team-record{font-size:12px;font-weight:400;color:var(--text-muted)}.scoreboard-team-score{margin-left:auto;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary)}.scoreboard-team-row--loser .scoreboard-team-logo,.scoreboard-team-row--loser .scoreboard-team-name,.scoreboard-team-row--loser .scoreboard-team-score{opacity:.55}.scoreboard-team-row--winner .scoreboard-team-score{color:var(--success-color)}.scoreboard-empty{color:var(--text-muted);text-align:center;padding:48px 0}.scoreboard-section{width:100%;max-width:900px;display:flex;flex-direction:column;gap:12px}.scoreboard-section-title{margin:0;font-size:24px;line-height:1.2}.scoreboard-section-subtitle{margin:0;color:var(--text-muted);font-size:14px}.scoreboard-note{align-self:flex-start;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--surface-3);border-radius:6px;padding:3px 8px}.scoreboard-situation{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);padding-top:8px;border-top:1px solid var(--border-color)}.scoreboard-bases{position:relative;width:22px;height:18px;flex-shrink:0}.scoreboard-base{position:absolute;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--text-muted);background:transparent}.scoreboard-base--second{top:0;left:7px}.scoreboard-base--third{top:8px;left:0}.scoreboard-base--first{top:8px;left:14px}.scoreboard-base--occupied{background:var(--warning-color);border-color:var(--warning-color)}.scoreboard-count,.scoreboard-outs{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scoreboard-probables,.scoreboard-series{font-size:12px;color:var(--text-muted);padding-top:8px;border-top:1px solid var(--border-color)}.scoreboard-shareable{display:flex;flex-direction:column;gap:8px;align-items:stretch}.scoreboard-share-button{width:100%;align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:color .2s,border-color .2s;&:hover{color:var(--text-primary);border-color:var(--text-muted)}&.active{color:var(--theme-link);border-color:var(--theme-link)}}.scoreboard-shareable .new-post-card{max-width:none;padding:16px}.scoreboard-share-confirmation{margin:0;font-size:13px;color:var(--text-muted);text-align:right;a{color:var(--theme-link)}}:root{--font-pixel:"Press Start 2P",var(--font-mono);--tetro-i:#00f0ff;--tetro-j:#2979ff;--tetro-l:#ff9100;--tetro-o:#ffe600;--tetro-s:#39ff14;--tetro-t:#c724ff;--tetro-z:#ff1744}.neon-text{text-shadow:0 0 6px currentColor,0 0 14px currentColor}.neon-box{box-shadow:0 0 8px rgba(0,240,255,.35),inset 0 0 8px rgba(0,240,255,.15)}.shitris-overlay{position:fixed;inset:0;z-index:10000;justify-content:center;gap:18px;padding:24px;background:color-mix(in srgb,var(--overlay-color),transparent 28%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;font-family:var(--font-pixel);color:var(--text-primary)}.shitris-frame,.shitris-overlay{display:flex;flex-direction:column;align-items:center}.shitris-frame{gap:16px;width:max-content;max-width:100%;min-height:0}.shitris-topbar{flex:0 0 auto;width:100%;height:calc(62px + env(safe-area-inset-top, 0px));padding:env(safe-area-inset-top,0) 16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2);border:1px solid var(--border-color-strong);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 3px 16px rgba(0,0,0,.55)}.shitris-tb-btn,.shitris-tb-spacer{width:40px;height:40px}.shitris-tb-btn{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-color);border-radius:11px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.shitris-tb-btn:hover{color:var(--text-primary);border-color:var(--border-color-strong)}.shitris-tb-brand{display:inline-flex;align-items:center;gap:9px}.shitris-tb-mark{flex:0 0 auto;width:20px;height:auto;display:block;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--accent-coral),transparent 40%))}.shitris-tb-title{font-size:15px;letter-spacing:4px;font-weight:700;color:var(--text-primary)}.shitris-stage{display:flex;align-items:flex-start;gap:20px;max-height:100%}.shitris-hud,.shitris-next{display:flex;flex-direction:column;gap:16px;min-width:120px}.shitris-next{align-items:center}.shitris-combo,.shitris-stat{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:2px solid var(--border-color);border-radius:6px;background:var(--surface-1)}.shitris-stat-label{font-size:9px;letter-spacing:1px;color:var(--text-muted)}.shitris-stat-value,.shitris-time-value{font-size:16px;color:var(--text-primary)}.shitris-combo .shitris-stat-value{color:var(--accent-violet)}.shitris-board{position:relative;isolation:isolate;border:3px solid var(--border-color-strong);border-radius:8px;box-shadow:inset 0 0 26px color-mix(in srgb,var(--accent-violet),transparent 82%);background:var(--surface-2);line-height:0;touch-action:none}.shitris-canvas{display:block;height:min(calc(92vh - 80px),calc(200vw - 680px));width:auto;max-width:100%;aspect-ratio:1/2}.shitris-effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.shitris-board.shitris-crt{animation:shitris-crt .42s ease-out;will-change:transform,filter}@keyframes shitris-crt{0%{transform:translate(0);filter:none}15%{transform:translate(-2.5px,1.5px);filter:drop-shadow(5px 0 var(--accent-coral)) drop-shadow(-5px 0 var(--tetro-i))}35%{transform:translate(2.5px,-1.5px);filter:drop-shadow(-5px 0 var(--accent-coral)) drop-shadow(5px 0 var(--tetro-i))}55%{transform:translate(-1.5px,1px);filter:drop-shadow(3px 0 var(--accent-coral)) drop-shadow(-3px 0 var(--tetro-i))}75%{transform:translate(1px,-.5px);filter:drop-shadow(-2px 0 var(--accent-coral)) drop-shadow(2px 0 var(--tetro-i))}to{transform:translate(0);filter:none}}@media (prefers-reduced-motion:reduce){.shitris-board.shitris-crt{animation:none}}.shitris-preview{display:grid;grid-gap:3px;gap:3px;padding:10px;border:2px solid var(--border-color);border-radius:6px;background:var(--surface-1)}.shitris-preview-cell{width:16px;height:16px;border-radius:2px;background:transparent}.shitris-panel{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;background:color-mix(in srgb,var(--surface-1),transparent 18%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px}.shitris-panel-title{margin:0;font-size:22px;color:var(--accent-coral);text-shadow:none}.shitris-panel-copy{margin:0;max-width:240px;font-size:10px;line-height:1.6!important;color:var(--text-secondary)}.shitris-final{display:flex;flex-direction:column;gap:8px;margin:0}.shitris-final>div{display:flex;justify-content:space-between;gap:24px;font-size:10px}.shitris-final dt{color:var(--text-muted)}.shitris-final dd{margin:0;color:var(--text-primary)}.shitris-final>div:first-child{align-items:baseline}.shitris-final>div:first-child dd{font-size:22px;color:var(--accent-coral)}.shitris-newbest{padding:6px 12px;font-size:11px;color:var(--text-on-accent);background:var(--accent-coral);border-radius:4px}.shitris-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:220px}.shitris-actions button{font-family:var(--font-pixel);font-size:10px;padding:12px 14px;color:var(--text-primary);background:transparent;border:2px solid var(--border-color-strong);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,filter .15s}.shitris-actions button:hover{background:color-mix(in srgb,var(--text-primary),transparent 90%)}.shitris-actions button:first-child{color:var(--text-on-accent);background:var(--accent-violet);border-color:var(--accent-violet)}.shitris-actions button:first-child:hover{filter:brightness(1.08)}.shitris-actions button:focus-visible,.shitris-kb-opt:focus-visible,.shitris-lb-back:focus-visible,.shitris-lb-tab:focus-visible,.shitris-opt-back:focus-visible,.shitris-scheme-opt:focus-visible,.shitris-vfx button:focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px;box-shadow:0 0 12px color-mix(in srgb,var(--accent-coral),transparent 40%)}.shitris-tier-1:before,.shitris-tier-2:before,.shitris-tier-3:before,.shitris-tier-4:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.shitris-tier-1:before{background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--accent-coral),transparent 74%) 0,transparent 60%),radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent-violet),transparent 78%) 0,transparent 66%);animation:shitris-tier-glow 2.8s ease-in-out infinite}.shitris-tier-2:before{background:radial-gradient(circle at 50% 60%,color-mix(in srgb,var(--accent-coral),transparent 64%) 0,transparent 58%),radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--accent-violet),transparent 68%) 0,transparent 64%);animation:shitris-tier-glow 2s ease-in-out infinite}.shitris-tier-3:before{background:radial-gradient(circle at 50% 58%,color-mix(in srgb,var(--accent-coral),transparent 54%) 0,transparent 56%),radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--accent-violet),transparent 58%) 0,transparent 62%);animation:shitris-tier-glow 1.4s ease-in-out infinite}.shitris-tier-4:before{background:radial-gradient(circle at 50% 58%,color-mix(in srgb,var(--accent-coral),transparent 46%) 0,transparent 54%),radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--accent-violet),transparent 50%) 0,transparent 60%);animation:shitris-tier-glow 1s ease-in-out infinite}@keyframes shitris-tier-glow{0%,to{opacity:var(--shitris-glow-min,.5)}50%{opacity:1}}.shitris-tier-1 .shitris-board{border-color:color-mix(in srgb,var(--accent-violet),var(--border-color-strong) 30%);box-shadow:inset 0 0 26px color-mix(in srgb,var(--accent-violet),transparent 74%),0 0 14px color-mix(in srgb,var(--accent-violet),transparent 70%)}.shitris-tier-2 .shitris-board{border-color:color-mix(in srgb,var(--accent-coral),var(--border-color-strong) 20%);box-shadow:inset 0 0 30px color-mix(in srgb,var(--accent-violet),transparent 66%),0 0 22px color-mix(in srgb,var(--accent-coral),transparent 55%)}.shitris-tier-3 .shitris-board{border-color:color-mix(in srgb,var(--accent-coral),var(--border-color-strong) 8%);box-shadow:inset 0 0 34px color-mix(in srgb,var(--accent-coral),transparent 52%),0 0 28px color-mix(in srgb,var(--accent-violet),transparent 40%)}.shitris-tier-4 .shitris-board{border-color:color-mix(in srgb,var(--accent-coral),var(--border-color-strong) 4%);box-shadow:inset 0 0 38px color-mix(in srgb,var(--accent-coral),transparent 46%),0 0 34px color-mix(in srgb,var(--accent-violet),transparent 32%)}.shitris-tier-2 .shitris-board:before,.shitris-tier-3 .shitris-board:before,.shitris-tier-4 .shitris-board:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:6px;background:repeating-linear-gradient(0deg,transparent 0 2px,color-mix(in srgb,var(--surface-1),transparent 40%) 2px 3px)}.shitris-tier-2 .shitris-board:before{background:repeating-linear-gradient(0deg,transparent 0 2px,color-mix(in srgb,var(--surface-1),transparent 55%) 2px 3px);animation:shitris-tier-scan 3.2s linear infinite}.shitris-tier-3 .shitris-board:before,.shitris-tier-4 .shitris-board:before{animation:shitris-tier-scan 2.4s linear infinite,shitris-tier-roll .9s linear infinite}@keyframes shitris-tier-scan{0%,to{opacity:.35}50%{opacity:.7}}@keyframes shitris-tier-roll{0%{background-position-y:0}to{background-position-y:9px}}.shitris-tier-2 .shitris-board:after,.shitris-tier-3 .shitris-board:after,.shitris-tier-4 .shitris-board:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:6px;background:radial-gradient(circle at 50% 50%,transparent 42%,color-mix(in srgb,var(--surface-1),transparent 45%) 100%);animation:shitris-tier-vignette 1.7s ease-in-out infinite}.shitris-tier-3 .shitris-board:after,.shitris-tier-4 .shitris-board:after{background:radial-gradient(circle at 50% 50%,transparent 38%,color-mix(in srgb,var(--surface-1),transparent 38%) 100%)}.shitris-tier-3 .shitris-board:after{animation:shitris-tier-vignette 1.3s ease-in-out infinite}.shitris-tier-4 .shitris-board:after{animation:shitris-tier-vignette 1s ease-in-out infinite}@keyframes shitris-tier-vignette{0%,to{opacity:.6}50%{opacity:1}}.shitris-tier-fx,.shitris-tier-motion-fx{position:absolute;inset:0;z-index:3;pointer-events:none}.shitris-tier-fx{border-radius:6px;overflow:hidden;opacity:0}.shitris-tier-2 .shitris-tier-fx,.shitris-tier-3 .shitris-tier-fx,.shitris-tier-4 .shitris-tier-fx{opacity:1}.shitris-tier-2 .shitris-tier-fx{animation:shitris-tier-ring 2.2s ease-in-out infinite}.shitris-tier-3 .shitris-tier-fx{animation:shitris-tier-ring 1.25s ease-in-out infinite}.shitris-tier-4 .shitris-tier-fx{animation:shitris-tier-ring 1s ease-in-out infinite}.shitris-tier-4 .shitris-tier-motion-fx{animation:shitris-tier-jitter 2.4s steps(1) infinite}@keyframes shitris-tier-ring{0%,to{box-shadow:inset 0 0 14px color-mix(in srgb,var(--accent-coral),transparent 62%)}50%{box-shadow:inset 0 0 26px color-mix(in srgb,var(--accent-violet),transparent 45%)}}@keyframes shitris-tier-jitter{0%,86%,to{transform:translate(0)}88%{transform:translate(-1px,.5px)}91%{transform:translate(1px,-.5px)}94%{transform:translate(-.5px)}}.shitris-tier-4 .shitris-tier-fx:after,.shitris-tier-4 .shitris-tier-fx:before{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0}.shitris-tier-4 .shitris-tier-fx:before{background:linear-gradient(90deg,color-mix(in srgb,var(--accent-coral),transparent 42%) 0,transparent 55%);animation:shitris-tier-split-red 3.4s linear infinite}.shitris-tier-4 .shitris-tier-fx:after{background:linear-gradient(270deg,color-mix(in srgb,var(--tetro-i),transparent 42%) 0,transparent 55%);animation:shitris-tier-split-cyan 3.4s linear infinite}@keyframes shitris-tier-split-red{0%,17%,26%,60%,68%,to{opacity:0;transform:translateX(0)}19%{opacity:.19;transform:translateX(-5px)}23%{opacity:.1;transform:translateX(-2px)}63%{opacity:.16;transform:translateX(-4px)}}@keyframes shitris-tier-split-cyan{0%,17%,26%,60%,68%,to{opacity:0;transform:translateX(0)}19%{opacity:.19;transform:translateX(5px)}23%{opacity:.1;transform:translateX(2px)}63%{opacity:.16;transform:translateX(4px)}}.shitris-edgepulse-fx{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:6px;overflow:hidden}.shitris-edgepulse-fx:after,.shitris-edgepulse-fx:before{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0}.shitris-edgepulse-fx:before{background:linear-gradient(90deg,color-mix(in srgb,var(--accent-coral),transparent 42%) 0,transparent 55%)}.shitris-edgepulse-fx:after{background:linear-gradient(270deg,color-mix(in srgb,var(--tetro-i),transparent 42%) 0,transparent 55%)}.shitris-board.shitris-edgepulse .shitris-edgepulse-fx:before{animation:shitris-edgepulse-red .52s ease-out}.shitris-board.shitris-edgepulse .shitris-edgepulse-fx:after{animation:shitris-edgepulse-cyan .52s ease-out}@keyframes shitris-edgepulse-red{0%{opacity:0;transform:translateX(-7px)}40%{opacity:.3;transform:translateX(0)}to{opacity:0;transform:translateX(0)}}@keyframes shitris-edgepulse-cyan{0%{opacity:0;transform:translateX(7px)}40%{opacity:.3;transform:translateX(0)}to{opacity:0;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.shitris-tier-1:before,.shitris-tier-2:before,.shitris-tier-3:before,.shitris-tier-4:before{animation:none;opacity:.72}.shitris-tier-2 .shitris-board:after,.shitris-tier-2 .shitris-board:before,.shitris-tier-3 .shitris-board:after,.shitris-tier-3 .shitris-board:before,.shitris-tier-4 .shitris-board:after,.shitris-tier-4 .shitris-board:before{animation:none}.shitris-tier-2 .shitris-board:before{opacity:.5}.shitris-tier-3 .shitris-board:before,.shitris-tier-4 .shitris-board:before{opacity:.45}.shitris-tier-2 .shitris-board:after{opacity:.8}.shitris-tier-3 .shitris-board:after,.shitris-tier-4 .shitris-board:after{opacity:.85}.shitris-tier-2 .shitris-tier-fx,.shitris-tier-3 .shitris-tier-fx,.shitris-tier-4 .shitris-tier-fx{animation:none;transform:none;box-shadow:inset 0 0 18px color-mix(in srgb,var(--accent-coral),transparent 55%)}.shitris-tier-4 .shitris-tier-motion-fx{animation:none;transform:none}.shitris-tier-4 .shitris-tier-fx:after,.shitris-tier-4 .shitris-tier-fx:before{display:none}}.shitris-vfx-off-movement.shitris-tier-2 .shitris-board:before,.shitris-vfx-off-movement.shitris-tier-3 .shitris-board:before,.shitris-vfx-off-movement.shitris-tier-4 .shitris-board:before{animation:none}.shitris-vfx-off-movement.shitris-tier-2 .shitris-board:before{opacity:.5}.shitris-vfx-off-movement.shitris-tier-3 .shitris-board:before,.shitris-vfx-off-movement.shitris-tier-4 .shitris-board:before{opacity:.45}.shitris-vfx-off-movement.shitris-tier-4 .shitris-tier-motion-fx{animation:none;transform:none}.shitris-vfx-off-movement.shitris-tier-4 .shitris-tier-fx:after,.shitris-vfx-off-movement.shitris-tier-4 .shitris-tier-fx:before{display:none}.shitris-vfx-off-glows.shitris-tier-1:before,.shitris-vfx-off-glows.shitris-tier-2:before,.shitris-vfx-off-glows.shitris-tier-3:before,.shitris-vfx-off-glows.shitris-tier-4:before{animation:none;opacity:.72}.shitris-vfx-off-glows.shitris-tier-2 .shitris-board:after,.shitris-vfx-off-glows.shitris-tier-3 .shitris-board:after,.shitris-vfx-off-glows.shitris-tier-4 .shitris-board:after{animation:none}.shitris-vfx-off-glows.shitris-tier-2 .shitris-board:after{opacity:.8}.shitris-vfx-off-glows.shitris-tier-3 .shitris-board:after,.shitris-vfx-off-glows.shitris-tier-4 .shitris-board:after{opacity:.85}.shitris-vfx-off-glows.shitris-tier-2 .shitris-tier-fx,.shitris-vfx-off-glows.shitris-tier-3 .shitris-tier-fx,.shitris-vfx-off-glows.shitris-tier-4 .shitris-tier-fx{animation:none;box-shadow:inset 0 0 18px color-mix(in srgb,var(--accent-coral),transparent 55%)}.shitris-options{width:100%;max-width:520px;max-height:100%}.shitris-opt-body,.shitris-options{display:flex;flex-direction:column;gap:24px}.shitris-opt-body{flex:1 1;min-height:0;overflow-y:auto}.shitris-opt-group{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.shitris-opt-label{font-size:10px;letter-spacing:1px;color:var(--text-muted)}.shitris-options .shitris-kb{display:none}@media (pointer:fine){.shitris-options .shitris-scheme{display:none}.shitris-options .shitris-kb{display:flex}}.shitris-scheme-options{display:flex;flex-direction:column;gap:6px;width:100%}.shitris-scheme-opt{display:flex;align-items:center;justify-content:space-between;padding:12px;background:transparent;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}.shitris-scheme-opt:hover{border-color:var(--border-color-strong)}.shitris-scheme-opt[aria-pressed=true]{background:color-mix(in srgb,var(--accent-violet),transparent 86%);border-color:var(--accent-violet)}.shitris-mini-cluster{display:flex;gap:9px}.shitris-mini-ctl{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--text-primary);background:var(--surface-2);border:2px solid var(--border-color-strong);border-radius:9px}.shitris-mini-ctl--rotate{color:var(--warning-color);border-color:color-mix(in srgb,var(--warning-color),transparent 55%)}.shitris-vfx-rows{display:flex;flex-direction:column;gap:8px;width:100%}.shitris-vfx-row{display:flex;align-items:center;gap:10px;width:100%}.shitris-vfx-name{flex:0 0 92px;font-family:var(--font-pixel);font-size:9px;letter-spacing:1px;color:var(--text-secondary)}.shitris-vfx{display:flex;flex:1 1;min-width:0;gap:8px;padding:6px;border:2px solid var(--border-color);border-radius:10px;background:var(--surface-2)}.shitris-vfx button{flex:1 1;font-family:var(--font-pixel);font-size:10px;letter-spacing:1px;padding:10px 8px;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.shitris-vfx button[aria-pressed=true]{color:var(--text-on-accent);background:var(--accent-violet)}.shitris-opt-cover .shitris-panel-copy{max-width:320px;text-align:center}.shitris-kb-options{display:flex;gap:6px;width:100%;max-width:300px}.shitris-kb-opt{flex:1 1;font-family:var(--font-pixel);font-size:9px;letter-spacing:1px;padding:9px 8px;color:var(--text-secondary);background:transparent;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.shitris-kb-opt:hover{color:var(--text-primary);border-color:var(--border-color-strong)}.shitris-kb-opt[aria-pressed=true]{color:var(--text-on-accent);background:var(--accent-violet);border-color:var(--accent-violet)}.shitris-kb-legend{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--surface-1);border:1px solid var(--border-color);border-radius:10px}.shitris-kb-board{display:flex;gap:12px;align-items:flex-end;justify-content:center}.shitris-kb-arrows,.shitris-kb-main{display:flex;flex-direction:column;gap:4px}.shitris-kb-arrows{align-items:center}.shitris-kb-krow{display:flex;gap:4px;justify-content:center}.shitris-kb-key{min-width:16px;height:18px;padding:0 3px;display:grid;place-items:center;border-radius:4px;font-family:var(--font-pixel);font-size:8px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border-color-strong)}.shitris-kb-space{width:92px}.shitris-kb-key.is-move{color:var(--text-primary);background:color-mix(in srgb,var(--accent-coral) 18%,transparent);border-color:var(--accent-coral);box-shadow:0 0 8px color-mix(in srgb,var(--accent-coral) 35%,transparent)}.shitris-kb-key.is-rotate{color:var(--text-primary);background:color-mix(in srgb,var(--accent-violet) 20%,transparent);border-color:var(--accent-violet);box-shadow:0 0 8px color-mix(in srgb,var(--accent-violet) 35%,transparent)}.shitris-kb-key.is-drop{color:var(--text-primary);background:color-mix(in srgb,var(--tetro-i) 14%,transparent);border-color:var(--tetro-i);box-shadow:0 0 8px color-mix(in srgb,var(--tetro-i) 30%,transparent)}.shitris-kb-map{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 14px;gap:6px 14px}.shitris-kb-maprow{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:.5px}.shitris-kb-act{color:var(--text-muted)}.shitris-kb-cap{min-width:34px;text-align:center;padding:3px 5px;border-radius:4px;border:1px solid var(--border-color-strong);font-family:var(--font-pixel);font-size:8px}.shitris-kb-cap.is-move{color:var(--accent-coral);border-color:var(--accent-coral)}.shitris-kb-cap.is-rotate{color:var(--accent-violet);border-color:var(--accent-violet)}.shitris-kb-cap.is-drop{color:var(--tetro-i);border-color:var(--tetro-i)}.shitris-kb-rolekey{display:flex;gap:12px;justify-content:center;font-size:7px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted)}.shitris-kb-rolekey span{display:inline-flex;align-items:center;gap:4px}.shitris-kb-rolekey span:before{content:"";width:7px;height:7px;border-radius:2px}.shitris-kb-rolekey .is-move:before{background:var(--accent-coral)}.shitris-kb-rolekey .is-rotate:before{background:var(--accent-violet)}.shitris-kb-rolekey .is-drop:before{background:var(--tetro-i)}.shitris-controls{position:fixed;left:0;right:0;bottom:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"left right" "drop drop";grid-gap:12px;gap:12px;padding:0 14px calc(14px + env(safe-area-inset-bottom, 0px));pointer-events:none}@media (pointer:fine){.shitris-controls{display:none}}.shitris-cluster{display:flex;gap:12px;pointer-events:auto}.shitris-cluster-left{grid-area:left;justify-self:start}.shitris-cluster-right{grid-area:right;justify-self:end}.shitris-ctl{display:flex;align-items:center;justify-content:center;width:64px;height:64px;color:var(--text-primary);background:var(--surface-2);border:2px solid var(--border-color-strong);border-radius:12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.shitris-ctl:active{background:var(--surface-3)}.shitris-ctl-rotate{color:var(--warning-color);border-color:color-mix(in srgb,var(--warning-color),transparent 55%)}.shitris-ctl-rotate:active{background:color-mix(in srgb,var(--warning-color),transparent 82%);border-color:color-mix(in srgb,var(--warning-color),transparent 40%)}.shitris-harddrop{grid-area:drop;pointer-events:auto;width:100%;padding:16px;font-family:var(--font-pixel);font-size:12px;letter-spacing:2px;color:var(--text-on-accent);background:var(--accent-violet);border:none;border-radius:10px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.shitris-harddrop:active{filter:brightness(1.15)}.shitris-lb-cover,.shitris-opt-cover{position:absolute;inset:0;z-index:3;display:flex;justify-content:center;padding:20px;background:var(--surface-1)}.shitris-leaderboard{display:flex;flex-direction:column;gap:16px;width:100%;max-width:520px;max-height:100%}.shitris-lb-header,.shitris-opt-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px}.shitris-lb-back,.shitris-opt-back{position:absolute;left:0;display:flex;align-items:center;gap:4px;font-family:var(--font-pixel);font-size:9px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer}.shitris-lb-back:hover,.shitris-opt-back:hover{text-shadow:0 0 8px currentColor}.shitris-lb-title,.shitris-opt-title{margin:0;font-size:18px;color:var(--warning-color);text-shadow:none}.shitris-lb-tabs{display:flex;flex-direction:column;gap:10px}.shitris-lb-tabgroup{display:flex;gap:8px;padding:6px;border:2px solid var(--border-color);border-radius:10px;background:var(--surface-2)}.shitris-lb-tab{flex:1 1;padding:10px 8px;font-family:var(--font-pixel);font-size:10px;letter-spacing:1px;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.shitris-lb-tab--active{color:var(--text-on-accent);background:var(--warning-color)}.shitris-lb-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;overflow-y:auto}.shitris-leaderboard>.shitris-lb-list{flex:1 1}.shitris-lb-row{display:flex;align-items:center;gap:14px;padding:10px 14px;border:2px solid var(--border-color);border-radius:10px;background:var(--surface-2)}.shitris-lb-rank{display:flex;align-items:center;gap:4px;min-width:34px;font-family:var(--font-pixel);font-size:13px;color:var(--text-secondary)}.shitris-lb-who{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.shitris-lb-name{font-family:var(--font-pixel);font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shitris-lb-handle{font-family:var(--font-pixel);font-size:8px;color:var(--text-secondary)}.shitris-lb-score{font-family:var(--font-pixel);font-size:13px;color:var(--text-primary)}.shitris-lb-lines,.shitris-lb-time{flex:none;min-width:40px;font-family:var(--font-pixel);font-size:11px;color:var(--text-secondary);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shitris-lb-empty{color:var(--text-muted)}.shitris-lb-row--crown{border-color:var(--warning-color)}.shitris-lb-crown,.shitris-lb-row--crown .shitris-lb-rank,.shitris-lb-row--crown .shitris-lb-score{color:var(--warning-color)}.shitris-lb-crown{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--warning-color),transparent 20%))}.shitris-lb-pinned{display:flex;flex-direction:column;gap:6px}.shitris-lb-you-label{font-family:var(--font-pixel);font-size:8px;letter-spacing:2px;color:var(--text-secondary)}.shitris-lb-row--you{border-style:dashed;border-color:var(--warning-color);background:color-mix(in srgb,var(--warning-color),transparent 94%)}.shitris-lb-row--you .shitris-lb-rank,.shitris-lb-row--you .shitris-lb-score{color:var(--warning-color)}@media (max-width:640px){.shitris-overlay{align-items:stretch;justify-content:flex-start;padding:0 10px}.shitris-frame{width:auto;max-width:none;flex:1 1;align-items:stretch}.shitris-stage{flex:1 1;min-height:0;margin:0 0 calc(150px + env(safe-area-inset-bottom, 0px));display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"hud next" "board board";align-items:start;grid-gap:8px;gap:8px}.shitris-hud{grid-area:hud;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;justify-items:start;align-content:start;grid-gap:6px;gap:6px;min-width:0}.shitris-hud>.shitris-stat:first-child,.shitris-hud>.shitris-stat:last-child{order:1}.shitris-next{grid-area:next;flex-direction:column;align-items:center;gap:8px;min-width:0}.shitris-combo,.shitris-stat{padding:5px 9px;gap:3px}.shitris-board{grid-area:board;justify-self:center;align-self:center;height:100%;max-width:100%;min-height:0;aspect-ratio:1/2}.shitris-canvas{height:100%;width:100%;max-width:100%}.shitris-panel{left:calc((100% - 100vw + 20px) / 2);right:calc((100% - 100vw + 20px) / 2);bottom:calc(10px - 150px - env(safe-area-inset-bottom, 0px))}.shitris-panel-title{font-size:28px}.shitris-actions{max-width:260px}.shitris-actions button{font-size:12px;padding:15px 14px}.shitris-final>div{font-size:12px}.shitris-newbest{font-size:13px}.shitris-lb-row{gap:8px;padding:9px 11px}.shitris-lb-lines,.shitris-lb-time{min-width:0;font-size:10px}}.shitris-entrance-piece{position:fixed;top:0;z-index:9990;display:grid;grid-gap:2px;gap:2px;padding:0;border:none;background:transparent;cursor:pointer;filter:drop-shadow(0 0 12px currentColor);animation:shitris-entrance-drift 5.1s ease-out forwards}.shitris-entrance-cell{width:36px;height:36px;border-radius:3px}.shitris-entrance-piece--still{top:14vh;animation:shitris-entrance-fade 5.1s ease-out forwards}@keyframes shitris-entrance-drift{0%{transform:translateY(-14vh);opacity:0}5%{opacity:1}49%{transform:translateY(calc(100dvh - 74px - 16px - env(safe-area-inset-bottom, 0px)));opacity:1}88%{transform:translateY(calc(100dvh - 74px - 16px - env(safe-area-inset-bottom, 0px)));opacity:1}to{transform:translateY(calc(100dvh - 74px - 16px - env(safe-area-inset-bottom, 0px)));opacity:0}}@keyframes shitris-entrance-fade{0%{opacity:0}5%{opacity:1}88%{opacity:1}to{opacity:0}}.spooky-moon{position:fixed;top:16px;right:16px;width:56px;height:56px;pointer-events:none;z-index:9999;filter:drop-shadow(0 0 10px rgba(220,224,230,.45))}@media (min-width:769px){.spooky-moon{width:72px;height:72px}}