:root{--pink: #e26d9c;--bg: #fff7fb;--card: #fff;--ink: #2a2130;--muted: #8a7f88;--line: #f0dde8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}.app,.login{max-width:560px;margin:0 auto;padding:16px calc(16px + env(safe-area-inset-right)) 96px calc(16px + env(safe-area-inset-left))}h1{color:var(--pink)}h2{font-size:1rem;margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.hint{color:var(--muted);font-size:.85rem}.error{color:#c0392b;font-size:.9rem}.link{background:none;border:none;color:var(--pink);padding:0;font:inherit;cursor:pointer;text-decoration:underline}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;margin:6px 0}.row{display:flex;gap:8px}.row>*{flex:1}button.post,.login button:not(.link){width:100%;padding:16px;border:none;border-radius:999px;background:var(--pink);color:#fff;font-weight:600;font-size:1.05rem}button:disabled{opacity:.6}.tabs{display:flex;gap:8px;margin-bottom:12px}.tabs button{flex:1;padding:12px;border-radius:999px;border:1px solid var(--line);background:#fff}.tabs button.on{background:var(--pink);color:#fff;border-color:var(--pink)}.composer section{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:14px}.axis{margin:10px 0}.axis label{display:flex;justify-content:space-between;font-weight:600;font-size:.95rem}.axis-val{color:var(--pink);font-weight:500}.axis input[type=range]{width:100%;accent-color:var(--pink);height:32px}.places{list-style:none;padding:0;margin:4px 0}.places button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;margin:4px 0}.places span{color:var(--muted);font-size:.8rem}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.thumb img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;cursor:pointer}.card header{font-size:.9rem;color:var(--muted)}.card .handle{color:var(--ink);font-weight:600}.flavor{font-weight:700;margin:4px 0}.flavor .kind{color:var(--muted);font-weight:400;font-size:.8rem;text-transform:uppercase}.text{margin:6px 0}.rating-summary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.rating-summary .overall{font-size:1.6rem;font-weight:800;color:var(--pink)}.rating-summary .slash{color:var(--muted)}.rating-summary .axes{display:flex;gap:8px;flex-wrap:wrap}.rating-summary em{font-style:normal;font-size:.75rem;color:var(--muted);background:var(--bg);padding:2px 8px;border-radius:999px}.photo-strip{display:flex;gap:6px;overflow-x:auto;margin:8px 0}.photo-strip img{height:120px;border-radius:10px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{color:var(--pink);font-size:.8rem}.card footer{color:var(--muted);font-size:.8rem;margin-top:6px}.reply{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}.reply .handle{font-weight:600;font-size:.85rem}.reply img{max-width:100%;border-radius:10px}.comment-box{display:flex;gap:8px;position:sticky;bottom:0;padding:8px 0;background:var(--bg)}.comment-box input{margin:0}.comment-box button{padding:12px 18px;border:none;border-radius:999px;background:var(--pink);color:#fff}.flag{position:relative;margin-left:auto}.flag-btn{border:none;background:transparent;color:var(--muted, #999);cursor:pointer;font-size:.95rem;padding:2px 6px}.flag-btn:hover{color:var(--pink, #e0559b)}.flag.flagged{margin-left:auto;font-size:.75rem;color:var(--muted, #999)}.flag-menu{position:absolute;right:0;top:100%;z-index:10;display:flex;flex-direction:column;background:var(--bg, #fff);border:1px solid var(--line, #eee);border-radius:10px;box-shadow:0 6px 20px #0000001f;overflow:hidden}.flag-menu button{border:none;background:transparent;text-align:left;padding:10px 16px;white-space:nowrap;cursor:pointer}.flag-menu button:hover{background:#0000000d}.reply{display:flex;align-items:flex-start;gap:8px}.mod-banner{padding:10px 14px;border-radius:10px;margin:8px 0;font-size:.9rem}.mod-banner.warned{background:#fff4d6;color:#7a5b00}.mod-banner.banned{background:#ffe0e0;color:#8a1f1f}.tabs .signout{margin-left:auto;font-size:.85rem}
