:root{--bg:#fff8ef;--bg-accent:#ffeed6;--ink:#3b2f2f;--ink-soft:#7a6a5f;--card-front-bg:#fff;--card-back-bg:#fff2f5;--primary:#ff6b4a;--primary-dark:#e8542f;--secondary:#ffb84a;--like:#ff4a6b;--radius:20px;--shadow:0 6px 16px #3b2f2f1f;--shadow-hover:0 14px 32px #3b2f2f2e;--flip-speed:.6s}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 15% 10%, var(--bg-accent) 0%, transparent 45%), radial-gradient(circle at 85% 90%, #ffe3e9 0%, transparent 45%), var(--bg);min-height:100dvh;margin:0;font-family:Nunito,system-ui,sans-serif}h1,h2,h3{font-family:Fredoka,Nunito,sans-serif}.site-header{text-align:center;padding:36px 20px 8px;position:relative}.auth-corner{z-index:5;position:absolute;top:16px;right:20px}.user-chip{box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:5px 8px 5px 5px;display:inline-flex}.user-avatar{object-fit:cover;border-radius:50%;width:30px;height:30px}.user-avatar-fallback{background:var(--secondary);color:#6b4a00;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.9rem;font-weight:800;overflow:hidden}.btn-small{padding:6px 12px;font-size:.78rem}.logo{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:inline-flex}.logo-emoji{font-size:2.6rem;animation:3s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-6px)rotate(4deg)}}.logo h1{letter-spacing:-1px;margin:0;font-size:2.6rem}.logo-flip{color:var(--primary);transition:transform var(--flip-speed) cubic-bezier(.34, 1.56, .64, 1);display:inline-block}.tagline{color:var(--ink-soft);margin:6px 0 20px;font-size:1.05rem}.header-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.sort-toggle{align-items:center;gap:6px;display:inline-flex}.sort-toggle-label{color:var(--ink-soft);font-size:.8rem;font-weight:700}.search-wrap{max-width:440px;margin:0 auto}#search{width:100%;box-shadow:var(--shadow);background:#fff;border:3px solid #0000;border-radius:999px;outline:none;padding:13px 20px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,transform .2s}#search:focus{border-color:var(--secondary);box-shadow:var(--shadow-hover);transform:scale(1.02)}main{max-width:1280px;margin:0 auto;padding:28px 24px 48px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:28px;display:grid}.load-more-wrap{justify-content:center;margin-top:36px;display:flex}.load-more-btn{padding:12px 28px}.empty-state{text-align:center;color:var(--ink-soft);padding:60px 0;font-size:1.2rem}.card-wrap{perspective:1600px;height:540px}.card-enter{animation:.5s cubic-bezier(.22,1,.36,1) both card-enter}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.card{width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--flip-speed) cubic-bezier(.34, 1.45, .64, 1);will-change:transform;position:relative}.card.is-flipped{transform:rotateY(180deg)}.card:not(.is-flipped) .card-back,.card.is-flipped .card-front{pointer-events:none}.card-face{backface-visibility:hidden;border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:box-shadow .25s;display:flex;position:absolute;inset:0;overflow:hidden}.card-front{background:var(--card-front-bg);border-top:6px solid var(--secondary);transform:rotateY(0)}.card-back{background:var(--card-back-bg);border-top:6px solid var(--primary);transform:rotateY(180deg)}.card-header{cursor:pointer;align-items:center;gap:14px;padding:18px 20px 10px;display:flex}.card-emoji{font-size:2.4rem;line-height:1}.card-thumb-btn{cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;padding:0;display:inline-flex}.card-thumb{object-fit:cover;border-radius:10px;width:40px;height:40px;display:block}.card-titles h3{margin:0;font-size:1.3rem;line-height:1.2}.card-tagline{color:var(--ink-soft);margin:4px 0 0;font-size:.88rem}.card-meta{color:var(--ink-soft);align-items:center;gap:12px;padding:0 20px 10px;font-size:.82rem;font-weight:700;display:flex}.badge-classic,.badge-you{letter-spacing:.08em;background:var(--secondary);color:#6b4a00;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:800}.badge-you{background:var(--primary);color:#fff}.flip-description{color:var(--ink-soft);margin:0 20px 8px;font-size:.92rem;font-style:italic}.card-body{scrollbar-width:thin;flex:1;padding:4px 20px 12px;overflow-y:auto}@media (hover:none){.card-body{overflow-y:hidden}.card-body.is-focused{touch-action:none;box-shadow:inset 0 0 0 2px var(--primary);border-radius:12px;overflow-y:auto}}.card-section h4{text-transform:uppercase;letter-spacing:.08em;color:var(--primary-dark);margin:10px 0 6px;font-size:.82rem}.card-body ul,.card-body ol{margin:0;padding-left:22px;font-size:.9rem;line-height:1.55}.card-body li{margin-bottom:3px}.card-footer{background:#fff9;border-top:2px dashed #3b2f2f1f;align-items:center;gap:8px;padding:12px 16px;display:flex}.card-footer .btn-flip{margin-left:auto}.card-footer-back{justify-content:space-between}.card-footer-back .btn-flip{margin-left:0}.back-main{flex-direction:column;flex:1;min-height:0;animation:.3s cubic-bezier(.22,1,.36,1) both slide-in;display:flex}@keyframes slide-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.back-empty{color:var(--ink-soft);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;font-size:1.05rem;display:flex}.back-empty-emoji{margin:0;font-size:3rem}.btn{cursor:pointer;color:var(--ink);background:#fff;border:none;border-radius:999px;padding:9px 16px;font-family:inherit;font-size:.88rem;font-weight:800;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s,background .15s,filter .15s;box-shadow:0 2px 6px #3b2f2f26}.btn:active:not(:disabled){filter:brightness(.97);transform:scale(.98)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--primary);color:#fff}.btn-big{width:100%;padding:13px 24px;font-size:1.05rem}.btn-flip{background:var(--secondary);color:#6b4a00}.btn-icon{justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.btn-add{background:var(--primary);color:#fff;font-weight:700}.btn-danger{background:#fff}.report-wrap{position:relative}.report-menu{box-shadow:var(--shadow-hover);z-index:10;white-space:nowrap;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.report-option{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:700}.report-done{color:var(--primary-dark);padding:6px 12px;font-size:.82rem;font-weight:800}.btn-like.is-liked{background:var(--like);color:#fff;animation:.35s cubic-bezier(.34,1.8,.64,1) like-pop}@keyframes like-pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.flip-nav{align-items:center;gap:6px;display:inline-flex}.flip-counter{color:var(--ink-soft);text-align:center;min-width:40px;font-size:.8rem;font-weight:800}.modal-backdrop[hidden]{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;opacity:0;background:#3b2f2f73;justify-content:center;align-items:center;padding:20px;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-backdrop.is-open{opacity:1}.modal{border-radius:var(--radius);border-top:6px solid var(--primary);background:#fff;width:100%;max-width:520px;max-height:88dvh;padding:26px 28px;transition:transform .25s cubic-bezier(.34,1.45,.64,1);position:relative;overflow-y:auto;transform:translateY(16px)scale(.97);box-shadow:0 24px 64px #3b2f2f59}.modal-backdrop.is-open .modal{transform:translateY(0)scale(1)}.modal h2{margin:0 0 18px;padding-right:30px;font-size:1.35rem}.modal-close{background:var(--bg-accent);cursor:pointer;border:none;border-radius:50%;width:32px;height:32px;font-size:.95rem;transition:transform .15s,background .15s;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--secondary);transform:rotate(90deg)}.form-row{margin-bottom:14px}.form-row-split{grid-template-columns:112px 1fr;gap:12px;display:grid}.form-row label{margin-bottom:5px;font-size:.85rem;font-weight:800;display:block}.hint{color:var(--ink-soft);font-weight:400}.form-row input:not(.sr-only),.form-row textarea{resize:vertical;border:2px solid #eadfd3;border-radius:12px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.form-row input:focus,.form-row textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff6b4a26}.form-error{color:#c0392b;margin:0 0 12px;font-size:.88rem;font-weight:700}.emoji-field{position:relative}.emoji-popover{z-index:20;width:246px;box-shadow:var(--shadow-hover);background:#fff;border:2px solid #eadfd3;border-radius:14px;margin-top:8px;padding:10px;position:absolute;top:100%;left:0}.emoji-palette{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.emoji-swatch{cursor:pointer;background:#fff;border:2px solid #eadfd3;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;line-height:1;transition:border-color .15s,transform .15s;display:inline-flex}.emoji-swatch:hover{border-color:var(--primary);transform:translateY(-2px)}.emoji-hint{margin:0;font-size:.8rem}.emoji-hint kbd{background:var(--bg-accent);border:1px solid #eadfd3;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:.85em}.photo-picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.photo-picker label.btn{cursor:pointer;align-items:center;margin-bottom:0;display:inline-flex}.photo-preview{object-fit:cover;width:64px;height:64px;box-shadow:var(--shadow);border-radius:12px}.form-nudge{color:#7a5a12;background:#fdf1d7;border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:.85rem;line-height:1.4}.form-nudge-moderate{color:var(--ink-soft);background:0 0;padding:0 2px}.draft-notice{background:var(--bg-accent);color:var(--ink-soft);border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:.85rem;line-height:1.4}.flip-test{background:var(--bg-accent);border-radius:14px;margin-bottom:18px;padding:12px 16px}.flip-test summary{color:var(--primary-dark);cursor:pointer;margin:0;font-size:.95rem;font-weight:800;list-style:none}.flip-test summary::-webkit-details-marker{display:none}.flip-test summary:before{content:"▸";margin-right:6px;transition:transform .15s;display:inline-block}.flip-test[open] summary:before{transform:rotate(90deg)}.flip-test summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}.flip-test[open] summary{margin-bottom:8px}.flip-test ul{margin:0;padding:0;font-size:.83rem;line-height:1.5;list-style:none}.flip-test li{margin-bottom:4px}.flip-test-emoji{margin-right:4px}.filter-group{border:none;margin:0 0 18px;padding:0}.filter-group legend{color:var(--ink-soft);padding:0 0 8px;font-size:.85rem;font-weight:800}.filter-options{flex-wrap:wrap;gap:8px;display:flex}.filter-clear{margin:4px 0 0;display:block}.lightbox-backdrop{z-index:55;opacity:0;background:#140f0ae6;justify-content:center;align-items:center;padding:20px;transition:opacity .2s;display:flex;position:fixed;inset:0}.lightbox-backdrop.is-open{opacity:1}.lightbox-image{object-fit:contain;border-radius:12px;max-width:92vw;max-height:92vh;box-shadow:0 24px 64px #00000080}.lightbox-close{cursor:pointer;background:#ffffffeb;border:none;border-radius:50%;width:40px;height:40px;font-size:1rem;transition:transform .15s,background .15s;position:fixed;top:20px;right:20px}.lightbox-close:hover{background:#fff;transform:rotate(90deg)}.confirm-message{color:var(--ink-soft);margin:0 0 20px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-actions .btn-big{width:auto}.btn-danger-solid{color:#fff;background:#c0392b}.verify-banner{color:#7c3a00;background:#fff6ec;border:1px solid #f0c9a0;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;max-width:720px;margin:0 auto 18px;padding:12px 18px;font-size:.95rem;display:flex}.verify-banner-actions{align-items:center;gap:8px;display:flex}.admin-btn{align-items:center;gap:6px;display:inline-flex}.admin-count{color:#fff;background:#dc2626;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.modal-wide{max-width:680px}.admin-empty{color:var(--muted);text-align:center;padding:18px 0}.admin-list{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.admin-row{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.admin-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-row-title{align-items:center;gap:8px;font-weight:700;display:flex}.admin-badge{color:#991b1b;background:#fee2e2;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:700}.admin-row-meta{color:var(--muted);font-size:.82rem}.admin-row-reasons{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.admin-reason{background:var(--bg-accent);border-radius:999px;padding:1px 8px;font-size:.75rem}.likes-btn{align-items:center;gap:6px;display:inline-flex}.likes-list{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.likes-row{color:inherit;border:1px solid #eadfd3;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}@media (hover:hover){.likes-row:hover{border-color:var(--primary);background:var(--bg-accent)}}.likes-row-emoji{font-size:1.5rem;line-height:1}.likes-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.likes-row-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.likes-badge{color:#9f1239;background:#ffe4ea;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700}.likes-row-meta{color:var(--ink-soft);font-size:.82rem}.modal-narrow{max-width:400px}.auth-blurb{color:var(--muted);margin:0 0 16px;font-size:.92rem;line-height:1.55}.auth-forgot{text-align:right;margin:-4px 0 14px;font-size:.88rem}.form-notice{color:#15803d;margin:0 0 10px;font-size:.9rem}.social-buttons{flex-direction:column;gap:10px;display:flex}.auth-divider{text-align:center;color:var(--ink-soft);margin:14px 0;font-size:.85rem}.auth-switch{text-align:center;color:var(--ink-soft);margin:14px 0 0;font-size:.88rem}.auth-legal{text-align:center;color:var(--ink-soft);margin:10px 0 0;font-size:.78rem}.auth-legal a{color:inherit;text-decoration:underline}.link-btn{font-family:inherit;font-size:inherit;color:var(--primary-dark);cursor:pointer;background:0 0;border:none;padding:0;font-weight:800;text-decoration:underline}.burst-particle{z-index:100;pointer-events:none;font-size:1.4rem;animation:.9s cubic-bezier(.22,1,.36,1) both burst;position:fixed}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}to{opacity:0;transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(1.4)}}.site-footer{text-align:center;color:var(--ink-soft);padding:24px;font-size:.9rem}.site-footer p{margin:0 0 6px}.site-footer-links{font-size:.82rem}.site-footer-links a{color:var(--ink-soft);text-decoration:none}.site-footer-links a:hover{text-decoration:underline}.error-screen{text-align:center;min-height:70vh;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.error-screen-emoji{font-size:3rem}.error-screen p{color:var(--ink-soft);max-width:40ch}.card-error{text-align:center;background:var(--card-front-bg);border-top:6px solid var(--ink-soft);border-radius:var(--radius);height:100%;box-shadow:var(--shadow);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.card-error-emoji{font-size:2.2rem}.card-error-hint{color:var(--ink-soft);font-size:.9rem}.toast{background:var(--ink);max-width:min(92vw,480px);color:var(--bg);box-shadow:var(--shadow-hover);z-index:60;border-radius:999px;padding:12px 20px;font-size:.95rem;animation:.3s cubic-bezier(.22,1,.36,1) both toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.back-to-top{background:var(--primary);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-hover);z-index:40;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:800;transition:transform .15s,box-shadow .15s;display:inline-flex;position:fixed;bottom:24px;right:20px}.back-to-top:hover{transform:translateY(-3px)}.btn:focus-visible,.report-option:focus-visible,.link-btn:focus-visible,.modal-close:focus-visible,.lightbox-close:focus-visible,.card-thumb-btn:focus-visible{outline:3px solid var(--primary-dark);outline-offset:2px}.btn,.report-option,.link-btn,.modal-close,.lightbox-close,.card-thumb-btn{touch-action:manipulation}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(1.06)saturate(1.15);box-shadow:0 5px 12px #3b2f2f40}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-danger:hover:not(:disabled){background:#ffe3e9}.card-wrap:hover .card-face{box-shadow:var(--shadow-hover)}.logo:hover .logo-flip{transform:rotateX(360deg)}.report-option:hover{background:var(--bg-accent)}}.card-footer .btn{flex-shrink:0}.card-footer-back{flex-wrap:wrap;row-gap:8px}@media (pointer:coarse){.btn-icon{width:40px;height:40px}.report-option{padding:10px 14px}}@media (width<=1120px){.site-header{padding-top:12px}.auth-corner{justify-content:flex-end;margin-bottom:14px;display:flex;position:static}.user-chip{flex-wrap:wrap;justify-content:flex-end}}@media (width<=740px){.card-grid{grid-template-columns:1fr}.card-wrap{height:520px}.logo h1,.logo-emoji{font-size:2.1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn.is-on{background:var(--secondary);border-color:var(--secondary)}.card-body li.diff-added,.card-body li.diff-changed{border-radius:6px;margin-left:-4px;padding:0 4px}.card-body li.diff-added{background:#e6f6df}.card-body ul li.diff-added::marker{content:"+ ";color:#4c8a3f;font-weight:700}.card-body li.diff-changed{background:#fdf1d7}.card-body ul li.diff-changed::marker{content:"± ";color:#b07d1e;font-weight:700}.diff-was{color:var(--ink-soft);font-size:.78rem;text-decoration:line-through;display:block}.card-body li.diff-removed{opacity:.55;text-decoration:line-through}.card-body ul li.diff-removed::marker{content:"− ";font-weight:700}.btn-share{margin-left:auto}
