:root{--color-primary: #FFB800;--color-secondary: #FF5C5C;--color-bg: #FFF9F2;--color-text: #2D3436;--color-accent: #E8F5E9;--color-border: #F0E6D6;--color-surface: #FFFFFF;--color-muted: #8D8D8D;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(180, 140, 80, .08);--shadow-md: 0 4px 12px rgba(180, 140, 80, .12);--shadow-lg: 0 8px 24px rgba(180, 140, 80, .16);--font-heading: "Quicksand", sans-serif;--font-body: "Inter", sans-serif;font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:#e5a500}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;min-width:320px}h1,h2,h3{font-family:var(--font-heading);font-weight:700}h1{font-size:2em;line-height:1.2}button{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s;min-height:48px}button:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:active{background-color:#fff3e0}input,select{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.6em .8em;font-size:1em;font-family:inherit;background:transparent;color:var(--color-text);transition:border-color .2s,box-shadow .2s;min-height:48px;box-sizing:border-box}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffb80033}#root{width:100%;flex:1;text-align:center}.navbar{flex:0 0 auto;padding:6px 12px;z-index:1000;display:flex;align-items:center;justify-content:center;gap:2px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.content-container{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:600px;margin:0 auto}.link{cursor:pointer;color:var(--color-text);font-family:var(--font-heading);font-weight:600;font-size:14px;padding:6px 10px;border-radius:var(--radius-xl);transition:background-color .2s,color .2s;text-decoration:none;min-height:44px;display:flex;align-items:center;white-space:nowrap}.link:hover{background-color:#fff3e0;color:var(--color-primary)}.link:active,.link.active{color:var(--color-primary)}.nav-more-wrap{display:none;position:relative}.nav-more-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:4px 12px;font-size:18px;font-weight:700;color:var(--color-text);cursor:pointer;min-height:44px;display:flex;align-items:center;letter-spacing:2px}.nav-more-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px 0;min-width:180px;z-index:2000;display:flex;flex-direction:column}.nav-more-link{display:block;padding:10px 16px;font-family:var(--font-heading);font-weight:600;font-size:15px;color:var(--color-text);text-decoration:none;text-align:left}.nav-more-link:hover{background-color:#fff3e0;color:var(--color-primary)}.nav-more-menu .link{padding:10px 16px;min-height:44px;border-radius:0;font-size:15px;justify-content:flex-start}.nav-more-divider{height:1px;background:var(--color-border);margin:4px 0}@media (min-width: 600px){.nav-more-wrap{display:none!important}.nav-overflow-item{display:flex}}@media (max-width: 599px){.nav-overflow-item{display:none}.nav-more-wrap{display:block}}.card{touch-action:none;cursor:grab;width:90%;height:60%;max-width:800px;max-height:800px;will-change:transform,opacity;border-radius:var(--radius-lg);box-shadow:0 8px 24px #ffb80026,0 2px 8px #00000014;position:absolute;top:50%;left:50%;perspective:1000px;transition:none}.card--expanded{cursor:default;position:fixed;top:0;left:0;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;box-shadow:none;z-index:100;transform:none!important;transition:none}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s ease;position:relative}.card-inner.flipped{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);overflow:hidden}.card--expanded .card-face{border-radius:0}.card-front{background-size:cover;background-position:center}.card-front:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);pointer-events:none}.card--ticket-tear{position:absolute;bottom:72px;left:0;right:0;z-index:2;height:0;border-bottom:2px dashed rgba(255,255,255,.35);pointer-events:none}.card--ticket-tear:before,.card--ticket-tear:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--color-bg);top:50%;transform:translateY(-50%)}.card--ticket-tear:before{left:-8px}.card--ticket-tear:after{right:-8px}.card--name{position:absolute;bottom:20px;left:20px;right:20px;color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1.5rem;text-shadow:0px 2px 8px rgba(0,0,0,.6);z-index:3}.card-info-btn{position:absolute;top:12px;right:12px;z-index:5;width:32px;height:32px;border-radius:50%;background:#0006;color:#fff;border:none;font-size:16px;font-style:italic;font-family:Georgia,serif;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.card-back{transform:rotateY(180deg);background:var(--color-surface, #1a1a1a);display:flex;flex-direction:column;padding:48px 24px 24px}.card-back-close-btn{position:absolute;top:12px;right:12px;z-index:5;width:32px;height:32px;border-radius:50%;background:#ffffff1a;color:var(--color-text, white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.card-back-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-shrink:0;padding:0 40px}.card-back-thumb{width:48px;height:48px;border-radius:8px;background-size:cover;background-position:center;flex-shrink:0}.card-back-name{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--color-text, white);text-align:left}.card-meta-list{list-style:none;padding:0 40px;margin:0;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.card-meta-item{padding:8px 0;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1));text-align:left}.card-meta-key{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted, #999);font-family:var(--font-heading)}.card-meta-value{font-size:15px;margin-top:2px;color:var(--color-text, white)}.card-decision-btn{position:fixed;z-index:110;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d}.card-decision-btn--reject{left:16px;background:#e53935}.card-decision-btn--accept{right:16px;background:#43a047}.card-decision-btn:active{transform:translateY(-50%) scale(.92)}.card--next{transform:translate(-50%,-50%) scale(.95);opacity:.7;cursor:default;pointer-events:none;z-index:0}.card--container{position:relative;height:100%}.swiper{flex:1;position:relative;overflow:visible}.collection-picker{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:10;font-size:14px;padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);max-width:80%;box-shadow:var(--shadow-sm)}.swiper-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-muted);font-size:18px;font-family:var(--font-heading)}.welcome-screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 20px;width:100%;max-width:360px;box-sizing:border-box}.welcome-logo{width:120px;height:120px;object-fit:contain}.welcome-title{margin:0;font-family:var(--font-heading);font-size:28px;font-weight:700;color:var(--color-text)}.welcome-subtitle{margin:0;font-size:16px;color:var(--color-muted);text-align:center}.google-signin-btn{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:4px;font-family:"Roboto",var(--font-body);font-weight:500;font-size:14px;padding:0 16px;height:44px;min-height:44px;width:100%;max-width:280px;cursor:pointer;transition:background-color .2s,box-shadow .2s;box-shadow:0 1px 2px #3c40431a}.google-signin-btn:hover{background:#f7f8f8;box-shadow:0 1px 3px #3c404333;border-color:#dadce0}.google-signin-btn:active{background:#eee}.google-signin-btn svg{flex-shrink:0}.likes-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;margin:16px 0 12px}.likes-header .title{margin:0}.rank-likes-btn{font-size:13px;padding:4px 14px;min-height:36px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-family:var(--font-heading)}.rank-likes-btn:hover{background:#e5a500}.my-likes{display:flex;flex-direction:column;flex:1;padding:0;margin:0 20px}.added-check{color:#66bb6a;font-size:18px;flex:0 0 auto;padding-right:8px}.like-overflow-wrap{position:relative;flex:0 0 auto}.like-overflow-btn{width:36px;height:36px;min-height:36px;border-radius:50%;font-size:16px;font-weight:700;letter-spacing:1px;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--color-muted);border:1px solid var(--color-border);cursor:pointer}.like-overflow-btn:hover{background:var(--color-bg)}.like-overflow-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10;min-width:140px;display:flex;flex-direction:column;overflow:hidden}.like-overflow-item{padding:10px 16px;background:none;border:none;text-align:left;font-size:14px;cursor:pointer;color:var(--color-text);white-space:nowrap}.like-overflow-item:hover{background:var(--color-bg)}.like-overflow-item--danger{color:var(--color-secondary)}.like-overflow-item--danger:hover{background:#fff0f0}.like-overflow-menu .collection-inline-picker{font-size:13px;padding:8px 12px;border:none;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-height:36px;width:100%;border-radius:0}.swipes-section{margin:16px 20px 20px}.swipes-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:8px 0;color:var(--color-text)}.swipes-header-title{font-family:var(--font-heading);font-size:16px;font-weight:600}.swipes-chevron{font-size:14px;color:var(--color-muted);transition:transform .2s ease}.swipes-chevron--open{transform:rotate(90deg)}.swipes-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.reset-btn{font-size:13px;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-secondary);background:transparent;color:var(--color-secondary);cursor:pointer;font-weight:500}.reset-btn:hover{background:var(--color-secondary);color:#fff}.swipes-list{display:flex;flex-direction:column;padding:0;margin:0;gap:6px}.swipe-row{display:flex;align-items:center;gap:10px;list-style:none;background:var(--color-surface);padding:6px 8px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.swipe-row--image{flex:0 0 40px;width:40px;height:40px;border-radius:var(--radius-sm);background-size:cover;background-position:center}.swipe-row--name{flex:1 1 auto;text-align:left;font-size:14px}.undo-btn{font-size:13px;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text);cursor:pointer}.undo-btn:hover{background:var(--color-bg)}.likes{width:100%;margin:0 auto;overflow:auto;display:flex;flex-direction:column;flex:1}.title{view-transition-name:title;font-family:var(--font-heading)}.our-likes{display:flex;flex-direction:column;flex:1;padding:0;margin:0 20px}.restaurant{display:flex;margin-bottom:10px;align-items:center;gap:10px;list-style:none;background:var(--color-surface);padding:8px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.restaurant--index{flex:0 0 20px;color:var(--color-muted)}.restaurant--image{flex:0 0 70px;width:70px;height:70px;border-radius:var(--radius-md);background-size:cover;background-position:center;box-shadow:var(--shadow-sm)}.restaurant--name{flex:1 1 auto;text-align:left;font-weight:500}.groupCodeInput{font-size:16px;margin-right:8px;padding:8px;text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.groupCodeInput:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffb80033}.groupCode{display:flex;align-items:center;justify-content:center}.emptyState{display:flex;flex:1;align-items:center;justify-content:center;color:var(--color-muted);font-family:var(--font-heading)}.mutual-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px}.mutual-header h2{margin:0}.break-tie-btn{font-size:13px;padding:4px 14px;min-height:36px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-family:var(--font-heading)}.break-tie-btn:hover{background:#e5a500}.collections-page{padding:12px 20px 0;box-sizing:border-box;overflow:auto;flex:1}.collections-page *{box-sizing:border-box}.tab-bar{display:flex;gap:8px;margin-bottom:16px;justify-content:center}.tab-btn{padding:6px 16px;font-size:14px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);cursor:pointer;border-radius:var(--radius-xl);font-family:var(--font-heading);font-weight:600;transition:background-color .2s,border-color .2s,box-shadow .2s}.tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 8px #ffb8004d}.create-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.create-input{font-size:16px;padding:8px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-text);box-sizing:border-box;width:100%}.create-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffb80033}.collection-list{list-style:none;padding:0;margin:0}.collection-row{display:flex;align-items:center;gap:8px;padding:12px;margin-bottom:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-width:0}.collection-link{flex:1;min-width:0;display:flex;flex-direction:column;text-decoration:none;color:inherit;gap:2px}.collection-name{font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-meta{font-size:13px;color:var(--color-muted)}.delete-btn,.fork-btn{flex:0 0 auto;padding:4px 10px;font-size:14px;border-radius:var(--radius-sm);min-height:36px}.delete-btn{background:transparent;color:var(--color-secondary);border:1px solid var(--color-secondary)}.delete-btn:hover{background:#ff5c5c14}.fork-btn{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.fork-btn:hover{background:#ffb80014}.discover-filters{display:flex;gap:8px;margin-bottom:12px}.discover-filters .create-input{flex:1}.share-code-section{margin-bottom:16px}.share-code-result{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-surface)}.collection-detail{padding:0 20px}.back-link{display:inline-block;margin-bottom:8px;color:var(--color-primary);text-decoration:none;font-size:14px;font-weight:500}.back-link:hover{color:#e5a500}.collection-header{margin-bottom:12px}.collection-desc{margin:4px 0;color:var(--color-muted);font-size:14px}.collection-meta-detail{font-size:13px;color:var(--color-muted);margin-bottom:8px}.collection-header-actions{display:flex;gap:8px;align-items:center}.edit-btn{font-size:13px;padding:4px 12px;min-height:36px}.decide-btn{font-size:13px;padding:4px 12px;min-height:36px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600}.decide-btn:hover{background:#e5a500}.edit-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.public-toggle{display:flex;align-items:center;gap:6px;font-size:14px}.edit-actions{display:flex;gap:8px}.share-section,.group-link-section{margin-bottom:12px}.share-code-display{display:flex;align-items:center;gap:8px;font-size:14px}.copy-btn{font-size:12px;padding:2px 8px;min-height:32px}.status-filter-bar{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;justify-content:center}.filter-btn{padding:4px 12px;font-size:13px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);border-radius:var(--radius-xl);cursor:pointer;font-family:var(--font-heading);font-weight:600;min-height:36px;transition:background-color .2s,border-color .2s}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 8px #ffb8004d}.entry-list{list-style:none;padding:0;margin:0}.entry-row{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.entry-thumb{flex:0 0 50px;width:50px;height:50px;border-radius:var(--radius-sm);background-size:cover;background-position:center}.entry-info{flex:1;text-align:left;min-width:0}.entry-name{font-weight:500;font-size:15px}.entry-notes{font-size:12px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.entry-notes.expanded{white-space:normal}.status-pill{flex:0 0 auto;font-size:12px;padding:2px 8px;border:1px solid;border-radius:12px;background:transparent;cursor:pointer;min-height:28px;font-weight:500}.remove-btn{flex:0 0 auto;padding:2px 6px;font-size:14px;background:transparent;color:var(--color-secondary);border:none;cursor:pointer;min-height:36px}.add-from-likes-section{margin-top:16px;padding-bottom:20px;overflow:hidden}.add-likes-btn{width:100%;margin-bottom:8px;box-sizing:border-box}.likes-picker{list-style:none;padding:0;margin:0}.likes-picker-row{display:flex;align-items:center;gap:10px;padding:8px;margin-bottom:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.entry-name-editable{cursor:pointer}.entry-name-editable:hover{color:var(--color-primary)}.entry-edit-form{flex:1;display:flex;flex-direction:column;gap:6px;padding:4px 0;min-width:0}.entry-edit-input{font-size:13px;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text);width:100%}.entry-edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffb80033}.entry-edit-actions{display:flex;gap:6px}.entry-edit-actions button{font-size:12px;padding:3px 10px;min-height:32px}.entry-edit-preview{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;align-self:flex-start}.group-collection-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex:1;gap:2px}.collection-count{font-size:13px;color:var(--color-muted)}.entry-edit-metadata{display:flex;flex-direction:column;gap:6px}.entry-edit-metadata-header{display:flex;justify-content:space-between;align-items:center}.entry-edit-metadata-label{font-size:12px;color:var(--color-muted)}.metadata-add-btn{background:none;border:1px solid var(--color-border);color:var(--color-muted);font-size:12px;padding:2px 8px;border-radius:var(--radius-sm);cursor:pointer;min-height:28px}.metadata-row{display:flex;gap:4px;align-items:center}.metadata-remove-btn{flex:0 0 auto;background:none;border:none;color:var(--color-muted);font-size:18px;cursor:pointer;padding:0 2px;line-height:1;min-height:28px}.add-page{padding:0 20px;box-sizing:border-box}.add-page *{box-sizing:border-box}.add-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.add-label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--color-muted)}.edit-input{font-size:16px;padding:8px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-text);box-sizing:border-box;width:100%}.edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffb80033}.add-form button[type=submit],.add-form button:last-child{background:var(--color-primary);color:#fff;border:none;font-weight:600;font-size:16px;padding:12px;border-radius:var(--radius-md)}.add-form button[type=submit]:hover,.add-form button:last-child:hover{background:#e5a500}.image-preview{width:80px;height:80px;border-radius:var(--radius-md);object-fit:cover;display:block;box-shadow:var(--shadow-sm)}.add-extracting{font-size:14px;color:var(--color-muted);margin:8px 0}.success-message{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:40px;font-size:16px;font-family:var(--font-heading)}.success-message p{margin:0;font-size:18px;font-weight:600;color:#66bb6a}.metadata-section{display:flex;flex-direction:column;gap:8px}.metadata-header{display:flex;justify-content:space-between;align-items:center}.metadata-add-btn{background:none;border:1px solid var(--color-border);color:var(--color-muted);font-size:13px;padding:4px 10px;border-radius:var(--radius-md);cursor:pointer}.metadata-row{display:flex;gap:6px;align-items:center}.metadata-key-input{flex:2}.metadata-value-input{flex:3}.metadata-remove-btn{flex:0 0 auto;background:none;border:none;color:var(--color-muted);font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.decide-page{width:100%;overflow:auto;display:flex;flex-direction:column;flex:1;padding:0 20px 40px}.decide-source{color:var(--color-muted);font-size:14px;margin:-8px 0 16px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.mode-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .1s}.mode-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.mode-card:active{transform:scale(.98)}.mode-card--icon{font-size:32px;line-height:1}.mode-card--title{font-family:var(--font-heading);font-weight:700;font-size:16px}.mode-card--desc{font-size:13px;color:var(--color-muted);text-align:center;line-height:1.3}.source-btn{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;margin-bottom:8px;transition:border-color .2s,box-shadow .2s}.source-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.source-btn--name{font-weight:600;font-family:var(--font-heading)}.source-btn--count{font-size:13px;color:var(--color-muted)}.decide-back-btn{align-self:center;background:none;border:none;color:var(--color-muted);font-size:14px;cursor:pointer;padding:8px}.decide-back-btn:hover{color:var(--color-primary)}.decide-empty{color:var(--color-muted);font-family:var(--font-heading);text-align:center;padding:40px 20px}.h2h-page{width:100%;display:flex;flex-direction:column;flex:1;overflow:hidden;padding-top:12px;gap:12px}.h2h-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-family:var(--font-heading)}.h2h-arena{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:0 16px}.h2h-pair{display:flex;align-items:center;gap:12px;width:100%;max-width:560px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0 4px}.h2h-vs{flex:0 0 auto;font-family:var(--font-heading);font-weight:700;font-size:14px;color:var(--color-muted);text-transform:uppercase}.h2h-controls{display:flex;justify-content:center;gap:8px;padding:8px 20px 16px;flex:0 0 auto}.h2h-skip-btn{background:none;border:1px solid var(--color-border);color:var(--color-text);font-size:14px;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;min-height:40px}.h2h-skip-btn:hover{border-color:var(--color-primary)}.h2h-skip-btn:disabled{opacity:.5;cursor:default}.h2h-finish-btn{background:none;border:1px solid var(--color-border);color:var(--color-text);font-size:14px;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;min-height:40px}.h2h-finish-btn:hover{border-color:var(--color-primary)}.h2h-abandon-btn{background:none;border:none;color:var(--color-muted);font-size:13px;padding:8px 12px;cursor:pointer;min-height:40px}.h2h-abandon-btn:hover{color:var(--color-secondary)}@media (max-width: 360px){.h2h-pair{flex-direction:column;gap:8px}.h2h-pair .comparison-card{aspect-ratio:4 / 3;max-height:35vh}}.comparison-card{flex:1;aspect-ratio:3 / 4;max-height:55vh;background-size:cover;background-position:center;border-radius:var(--radius-lg);box-shadow:0 8px 24px #ffb80026,0 2px 8px #00000014;position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:box-shadow .3s ease}.comparison-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);pointer-events:none}.comparison-card--ticket-tear{position:absolute;bottom:60px;left:0;right:0;z-index:2;height:0;border-bottom:2px dashed rgba(255,255,255,.35);pointer-events:none}.comparison-card--ticket-tear:before,.comparison-card--ticket-tear:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--color-bg);top:50%;transform:translateY(-50%)}.comparison-card--ticket-tear:before{left:-6px}.comparison-card--ticket-tear:after{right:-6px}.comparison-card--name{position:absolute;bottom:14px;left:12px;right:12px;color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1.1rem;text-shadow:0px 2px 8px rgba(0,0,0,.6);z-index:3;line-height:1.2}.comparison-card--chosen{box-shadow:0 0 0 3px var(--color-primary),0 8px 24px #ffb8004d}.comparison-card:active{transform:scale(.98)}@media (max-width: 360px){.comparison-card--name{font-size:.95rem}}.progress-bar-wrap{display:flex;align-items:center;gap:10px;padding:0 20px}.progress-bar{flex:1;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.progress-bar--fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.progress-bar--label{font-size:13px;color:var(--color-muted);font-family:var(--font-body);white-space:nowrap}.h2h-results-page{width:100%;overflow:auto;display:flex;flex-direction:column;flex:1;padding-bottom:20px}.h2h-results-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-family:var(--font-heading);text-align:center;padding:20px}.h2h-results-winner{text-align:center;margin:-8px 0 16px;font-family:var(--font-heading);color:var(--color-text)}.results-tab-bar{display:flex;justify-content:center;gap:4px;margin:0 20px 16px;background:var(--color-border);border-radius:var(--radius-md);padding:3px}.results-tab{flex:1;padding:8px 16px;border:none;background:transparent;border-radius:var(--radius-sm);font-family:var(--font-heading);font-weight:600;font-size:14px;color:var(--color-muted);cursor:pointer;min-height:36px;transition:background .2s,color .2s}.results-tab--active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.results-tab:hover:not(.results-tab--active){color:var(--color-text)}.group-ranking-list{list-style:none;padding:0;margin:0 20px;display:flex;flex-direction:column;gap:8px}.group-ranking-row{display:flex;align-items:center;gap:10px;background:var(--color-surface);padding:10px 12px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.group-ranking-row--winner{background:linear-gradient(135deg,#fff9e6,#fff3d0);box-shadow:0 4px 16px #ffb80033}.group-ranking-info{flex:1 1 auto;text-align:left;min-width:0}.group-ranking-meta{font-size:12px;color:var(--color-muted);margin-top:2px}.h2h-results-actions{display:flex;justify-content:center;gap:12px;padding:20px}.h2h-results-primary-btn{background:var(--color-primary);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:15px;cursor:pointer;min-height:48px}.h2h-results-primary-btn:hover{background:#e5a500}.h2h-results-secondary-btn{background:none;border:1px solid var(--color-border);padding:12px 24px;border-radius:var(--radius-md);font-size:15px;cursor:pointer;color:var(--color-text);min-height:48px}.h2h-results-secondary-btn:hover{border-color:var(--color-primary)}.ranking-list{list-style:none;padding:0;margin:0 20px;display:flex;flex-direction:column;gap:8px}.ranking-row{display:flex;align-items:center;gap:10px;background:var(--color-surface);padding:10px 12px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:default}.ranking-row--winner{background:linear-gradient(135deg,#fff9e6,#fff3d0);box-shadow:0 4px 16px #ffb80033}.rank-badge{flex:0 0 36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:12px;color:#fff}.rank-badge--gold{background:linear-gradient(135deg,#ffb800,#ff9500)}.rank-badge--silver{background:linear-gradient(135deg,#b8b8b8,#8e8e8e)}.rank-badge--bronze{background:linear-gradient(135deg,#cd7f32,#a0612b)}.rank-number{flex:0 0 36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-weight:600;font-size:14px}.ranking-thumb{flex:0 0 50px;width:50px;height:50px;border-radius:var(--radius-sm);background-size:cover;background-position:center;box-shadow:var(--shadow-sm)}.ranking-name{flex:1 1 auto;text-align:left;font-weight:500;font-size:15px}.ranking-score{flex:0 0 auto;color:var(--color-muted);font-size:13px;font-family:var(--font-body)}.wheel-page{width:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;flex:1;padding:0 20px 20px;gap:16px}.wheel-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-family:var(--font-heading)}.wheel-container{position:relative;width:280px;height:280px;flex:0 0 auto}.wheel-pointer{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:24px;color:var(--color-primary);z-index:10;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.wheel{width:100%;height:100%;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026,inset 0 0 0 4px var(--color-surface);will-change:transform}.wheel-label{position:absolute;font-family:var(--font-heading);font-weight:700;font-size:9px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;pointer-events:none;text-align:left}.wheel-spin-btn{background:var(--color-primary);color:#fff;border:none;padding:14px 32px;border-radius:var(--radius-lg);font-weight:700;font-size:16px;font-family:var(--font-heading);cursor:pointer;min-height:52px;box-shadow:var(--shadow-md);transition:transform .1s,box-shadow .1s}.wheel-spin-btn:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.wheel-spin-btn:active{transform:scale(.98)}.wheel-spin-btn:disabled{opacity:.6;cursor:default;transform:none}.wheel-result{display:flex;flex-direction:column;align-items:center;gap:16px}.wheel-result-card{display:flex;align-items:center;gap:12px;background:var(--color-surface);padding:12px 16px;border-radius:var(--radius-md);box-shadow:0 4px 16px #ffb80033}.wheel-result-image{width:60px;height:60px;border-radius:var(--radius-sm);background-size:cover;background-position:center;box-shadow:var(--shadow-sm);flex:0 0 60px}.wheel-result-name{font-family:var(--font-heading);font-weight:700;font-size:18px}.wheel-result-actions{display:flex;gap:12px}.wheel-back-btn{background:none;border:1px solid var(--color-border);padding:12px 24px;border-radius:var(--radius-md);font-size:15px;cursor:pointer;color:var(--color-text);min-height:48px}.wheel-back-btn:hover{border-color:var(--color-primary)}
