:root{--bg:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#000);--hint:var(--tg-theme-hint-color,#8e8e93);--link:var(--tg-theme-link-color,#2481cc);--button:var(--tg-theme-button-color,#2481cc);--button-text:var(--tg-theme-button-text-color,#fff);--card:var(--tg-theme-secondary-bg-color,#f1f1f4)}@media (prefers-color-scheme:dark){:root{--bg:var(--tg-theme-bg-color,#17212b);--text:var(--tg-theme-text-color,#f5f5f5);--hint:var(--tg-theme-hint-color,#708499);--link:var(--tg-theme-link-color,#6ab3f3);--button:var(--tg-theme-button-color,#5288c1);--button-text:var(--tg-theme-button-text-color,#fff);--card:var(--tg-theme-secondary-bg-color,#232e3c)}}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.4 -apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}main{max-width:640px;margin:0 auto;padding:16px}a{color:var(--link)}.hint{color:var(--hint)}h1{margin:8px 0 16px;font-size:24px}form,.stack{flex-direction:column;gap:12px;display:flex}label{color:var(--hint);flex-direction:column;gap:4px;font-size:14px;display:flex}label.row{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:16px}input:not([type=checkbox]){font:inherit;color:var(--text);background:var(--card);border:0;border-radius:10px;padding:12px}button,.button{font:inherit;text-align:center;color:var(--button-text);background:var(--button);cursor:pointer;border:0;border-radius:10px;padding:12px;font-weight:600;text-decoration:none}button.secondary{color:var(--link);background:0 0}button:disabled{opacity:.6}.error{color:#e53935}h2{margin:24px 0 8px;font-size:20px}h3{color:var(--hint);margin:16px 0 8px;font-size:15px;font-weight:600}.topbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.topbar h1{margin:8px 0}.card{background:var(--card);border-radius:12px;padding:12px}.list-link{color:var(--text);justify-content:space-between;text-decoration:none;display:flex}.note{white-space:pre-line}.item{gap:12px;display:flex}.item img{object-fit:cover;border-radius:8px;flex:none;width:64px;height:64px}.item-body{flex-direction:column;gap:4px;min-width:0;display:flex}.item-body a{color:var(--text)}.price{font-weight:600}.actions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}button.small{padding:4px 8px;font-size:14px}form.inline{flex-direction:row;margin-top:12px}form.inline input{flex:1;min-width:0}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}select,textarea{font:inherit;color:var(--text);background:var(--bg);border:0;border-radius:10px;padding:12px}.card input:not([type=checkbox]){background:var(--bg)}main>button{width:100%;margin:8px 0}h1 button.small{vertical-align:middle;margin-left:8px}.badge{background:var(--bg);color:var(--hint);border-radius:6px;align-self:flex-start;padding:2px 8px;font-size:13px}.badge.mine{color:var(--link)}.gift{flex-direction:column;gap:6px;margin-top:4px;display:flex}.bar{background:var(--bg);border-radius:3px;height:6px;overflow:hidden}.bar>div{background:var(--button);height:100%}.santa-result{flex-direction:column;gap:6px;margin:12px 0;display:flex}.santa-result b{font-size:22px}button.danger{color:#e53935}ul{padding-left:20px}.copy{background:var(--card);border-radius:10px;align-items:center;gap:8px;margin:4px 0;padding:8px;display:flex}.copy code{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}ol{padding-left:20px}.swipe-cta{color:var(--text);border:2px solid var(--button);flex-direction:column;gap:4px;margin:8px 0;text-decoration:none;display:flex}.swipe-page{flex-direction:column;gap:12px;display:flex;overflow-x:hidden}.swipe-card{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;text-align:center;background:var(--card);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:52vh;padding:24px;transition:transform .18s ease-out;display:flex;position:relative}.swipe-card.dragging{transition:none}.swipe-kind{color:var(--hint);font-size:14px}.swipe-emoji{font-size:88px;line-height:1}.swipe-title{font-size:24px}.stamp{border:3px solid;border-radius:8px;padding:4px 12px;font-size:20px;font-weight:700;position:absolute;top:20px}.stamp.yes{color:#2e7d32;left:20px;transform:rotate(-12deg)}.stamp.no{color:#e53935;right:20px;transform:rotate(12deg)}.swipe-buttons{justify-content:center;gap:32px;display:flex}button.round{border-radius:50%;width:64px;height:64px;padding:0;font-size:28px}button.round.no{background:var(--card);color:#e53935}button.round.yes{background:var(--card);color:#2e7d32}
