:root{--blue: #0EA5E9;--blue-dark: #0369A1;--blue-light: #E0F2FE;--coral: #F97316;--coral-dark: #C2410C;--coral-light: #FFEDD5;--teal: #14B8A6;--teal-dark: #0F766E;--teal-light: #CCFBF1;--red: #DC2626;--red-light: #FEE2E2;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-500: #64748B;--gray-900: #0F172A;--white: #FFFFFF;--radius: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .12);--nav-height: 60px;--header-height: 52px;--content-width: 640px}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--gray-900);background:var(--gray-50);-webkit-font-smoothing:antialiased;overflow-x:hidden;height:100dvh;min-height:100dvh;overflow-y:hidden;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{height:100%}h1,h2,h3{line-height:1.25}img{display:block;max-width:100%}a{color:var(--blue-dark)}ul{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--gray-500)}.center{text-align:center}.app-header{height:var(--header-height);display:flex;align-items:center;justify-content:center;background:var(--white);border-bottom:1px solid var(--gray-200)}.app-header-logo{height:32px;width:auto}.logo-badge{display:inline-flex;padding:12px 16px;border-radius:16px;background:var(--white);box-shadow:var(--shadow)}.logo-badge .logo{height:48px;width:auto}.app-main{height:calc(100% - var(--header-height));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.screen{width:100%;max-width:var(--content-width);margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.screen-title{font-size:1.5rem;font-weight:700}.section-title{font-size:1.125rem;font-weight:600;margin-bottom:8px}.splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:var(--white);font-size:1.75rem;font-weight:700}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 16px;text-align:center;color:var(--gray-500)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--white);border-top:1px solid var(--gray-200);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.bottom-nav-inner{display:flex;max-width:var(--content-width);margin:0 auto}.nav-item{flex:1;min-width:44px;min-height:var(--nav-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--gray-500);font-size:.75rem;font-weight:500}.nav-item[aria-current=page]{color:var(--blue);font-weight:600}@media (max-width: 359px){.nav-label{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 20px;border:2px solid transparent;border-radius:var(--radius-full);font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .15s,transform .1s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45}.btn-full{width:100%}.btn-primary{background:var(--blue);color:var(--white)}.btn-secondary{background:var(--blue-light);color:var(--blue-dark)}.btn-ghost{background:none;color:var(--gray-500)}.btn-dashed{width:100%;background:var(--blue-light);border:2px dashed var(--blue);border-radius:var(--radius);color:var(--blue-dark);justify-content:flex-start}.back-btn{align-self:flex-start;padding-left:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:none;border-radius:var(--radius-full);background:none;color:var(--gray-500)}.round-btn{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-full);border:2px solid var(--gray-200);background:var(--white);box-shadow:var(--shadow)}.round-btn-small{width:48px;height:48px;color:var(--gray-500)}.round-btn-skip{color:var(--gray-500)}.round-btn-like{color:var(--white);background:var(--coral);border-color:var(--coral)}@media (hover: hover){button:not(:disabled),.clickable,a{cursor:pointer}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-secondary:hover:not(:disabled){background:#bae6fd}.btn-ghost:hover:not(:disabled),.icon-btn:hover{background:var(--gray-100);color:var(--gray-900)}.nav-item:hover{color:var(--blue)}.round-btn:hover{box-shadow:var(--shadow-lg)}.option:hover,.like-card:hover{border-color:var(--blue)}}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);background:var(--blue-light);color:var(--blue-dark);font-size:.875rem;font-weight:500}.chip-teal{background:var(--teal-light);color:var(--teal-dark)}.chip-coral{background:var(--coral-light);color:var(--coral-dark)}.chip-outline{background:var(--white);color:var(--gray-500);border:1px solid var(--gray-200)}.chip-note{font-weight:400;opacity:.8}.banner{width:calc(100% - 32px);max-width:calc(var(--content-width) - 32px);margin:16px auto 0;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;border-radius:var(--radius);background:var(--blue-light);color:var(--blue-dark);font-weight:500}.banner-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.toast-region{position:fixed;left:16px;right:16px;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 16px);z-index:60;display:flex;justify-content:center;pointer-events:none}.toast{max-width:100%;padding:12px 20px;border-radius:var(--radius-full);background:var(--gray-900);color:var(--white);font-weight:600;text-align:center;box-shadow:var(--shadow-lg)}.toast-error{background:var(--red)}.toast-link{color:inherit;text-decoration:underline;pointer-events:auto}.feed{overscroll-behavior:contain}.card-stack{position:relative;display:grid;min-height:min(60dvh,480px)}.job-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.job-card:active{cursor:grabbing}.job-card-company{color:var(--gray-500);font-weight:500}.job-card-title{font-size:1.5rem;font-weight:700}.job-card-meta{display:flex;align-items:center;gap:4px;color:var(--gray-500)}.job-card-desc{color:var(--gray-500);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.points-pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:auto;padding:6px 12px;border-radius:var(--radius-full);background:var(--coral-light);color:var(--coral-dark);font-weight:600}.swipe-stamp{position:absolute;top:20px;padding:4px 12px;border:3px solid currentColor;border-radius:8px;font-weight:800;text-transform:uppercase;pointer-events:none}.swipe-stamp-like{right:20px;color:var(--coral);transform:rotate(12deg)}.swipe-stamp-skip{left:20px;color:var(--gray-500);transform:rotate(-12deg)}.swipe-actions{display:flex;align-items:center;justify-content:center;gap:24px}.card-list{display:flex;flex-direction:column;gap:12px}.like-card{position:relative;padding:16px;border-radius:var(--radius);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow)}.like-card-title{font-size:1.125rem;font-weight:600}.like-card-title a{color:var(--gray-900);text-decoration:none}.like-card-meta{color:var(--gray-500);margin-top:2px}.stretched-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.like-card:focus-within{outline:3px solid var(--blue);outline-offset:2px}.like-card .stretched-link:focus-visible{outline:none}.like-card-stats{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:12px}.like-card-stats dt{font-size:.75rem;color:var(--gray-500)}.like-card-stats dd{margin:0;font-weight:600}.like-card-status{margin-top:12px}.accent{color:var(--coral-dark)}.balance{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;text-align:center;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--gray-200)}.balance .screen-title{font-size:1rem;font-weight:600;color:var(--gray-500)}.balance-number{font-size:4rem;font-weight:800;line-height:1;color:var(--blue)}.balance-caption{font-size:1.125rem}.bottle-count{font-weight:800;color:var(--coral-dark)}.balance .btn{margin-top:8px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:top}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);background:var(--gray-100)}.table tbody tr:last-child td{border-bottom:none}.code{display:block;font-family:ui-monospace,Menlo,monospace;font-size:.875rem;color:var(--gray-500)}.qr-code{margin-top:16px;padding:20px;border:2px dashed var(--blue);border-radius:var(--radius);font-family:ui-monospace,Menlo,monospace;font-size:1.25rem;font-weight:700;text-align:center;word-break:break-all}.profile-head{display:flex;align-items:center;gap:16px}.avatar{width:64px;aspect-ratio:1;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--blue-light);color:var(--blue-dark);font-size:1.5rem;font-weight:700}.profile-name{font-size:1.25rem;font-weight:700}.profile-form{display:flex;flex-direction:column;gap:16px}.fieldset{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white)}.fieldset legend{float:left;width:100%;padding:0;font-size:1.125rem;font-weight:700}.fieldset legend+*{clear:both}.fieldset>.btn{align-self:flex-start}.field{display:flex;flex-direction:column;gap:4px}.label{font-weight:600;font-size:.9375rem}.hint{font-size:.875rem;color:var(--gray-500)}.input,.select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);font-size:max(16px,1rem)}.input:focus,.select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light)}.save-state{min-height:1.5em;font-size:.875rem;color:var(--gray-500)}.save-state-saved{color:var(--teal-dark)}.save-state-error{color:var(--red)}.form-error{padding:8px 12px;border-radius:var(--radius);background:var(--red-light);color:#991b1b;font-size:.875rem}.form-success{padding:8px 12px;border-radius:var(--radius);background:var(--teal-light);color:var(--teal-dark);font-size:.875rem}.talent-list{display:flex;flex-direction:column;gap:8px}.talent-row{display:grid;grid-template-columns:1fr minmax(96px,120px) 44px;align-items:center;gap:8px;padding:4px 0 4px 12px;border-radius:var(--radius);background:var(--gray-100)}.talent-name{font-weight:500;overflow-wrap:anywhere}.dialog{width:min(560px,100% - 32px);max-height:min(85dvh,760px);padding:0;border:none;border-radius:var(--radius-lg);background:var(--white);color:var(--gray-900);box-shadow:var(--shadow-lg);overscroll-behavior:contain}.dialog::backdrop{background:#0f172a80}.dialog[open]{display:flex}.dialog-inner{display:flex;flex-direction:column;width:100%;max-height:inherit}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 12px 20px;border-bottom:1px solid var(--gray-200)}.dialog-header h2{font-size:1.125rem}.dialog-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.dialog-footer{display:flex;flex-direction:column;gap:8px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--gray-200)}.stack{display:flex;flex-direction:column;gap:12px}.button-row{display:flex;justify-content:flex-end;gap:8px}.option-list{display:flex;flex-direction:column;gap:8px}.option{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 14px;border:2px solid var(--gray-200);border-radius:var(--radius);background:var(--white);text-align:left}.option[aria-pressed=true]{border-color:var(--blue);background:var(--blue-light)}.option-emoji{font-size:1.5rem}.option-text{display:flex;flex-direction:column;flex:1}.option-name{font-weight:600}.option-desc{font-size:.875rem;color:var(--gray-500)}.option-check{color:var(--blue);flex-shrink:0}.propose{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.input-row{display:flex;flex-wrap:wrap;gap:8px}.input-row .input{flex:1 1 180px;width:auto}.job-detail-title{font-size:1.75rem;font-weight:800}.prose{color:var(--gray-500);white-space:pre-line}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--gray-200);box-shadow:0 -8px 24px #0f172a1f}.cookie-banner-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.cookie-title{font-size:1.0625rem;font-weight:700}.cookie-banner p{font-size:.9375rem;color:var(--gray-900)}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cookie-btn{background:var(--white);color:var(--gray-900);border:2px solid var(--gray-900)}.cookie-btn[aria-pressed=true]{background:var(--gray-900);color:var(--white)}.consent-settings{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white)}.consent-settings-title{font-size:1.125rem;font-weight:700}.small{font-size:.875rem}@media (hover: hover){.cookie-btn:hover{background:var(--gray-100)}.cookie-btn[aria-pressed=true]:hover{background:var(--gray-900)}}
