:root{color:var(--ink,#172033);background:var(--background,#f5f7fb);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.content{flex:1;width:100%;max-width:640px;margin:0 auto}.screen{min-height:100vh;padding:28px 20px 110px}.screen-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#635bff);font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}.screen h1{margin:8px 0 0;font-size:30px;line-height:1.05}.text-button,.back-button{color:var(--accent);background:0 0;border:0;padding:8px 0;font-weight:700}.mock-badge{color:#5149cf;background:#e7e8ff;border-radius:99px;margin-top:22px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.deck{touch-action:none;justify-content:center;align-items:center;height:530px;margin:20px 0 18px;display:flex;position:relative}.card-drag{z-index:2;width:100%;transition:transform .2s}.vacancy-card,.detail-card{background:var(--surface,#fff);border:1px solid #e8ebf3;border-radius:22px;padding:25px;box-shadow:0 16px 38px #252b4c12}.vacancy-card{cursor:grab;flex-direction:column;gap:12px;min-height:420px;display:flex}.vacancy-card h2{margin:4px 0;font-size:28px;line-height:1.05}.company{color:#33405c;font-weight:700}.meta{color:var(--muted,#758099);font-size:14px}.vacancy-card strong,.detail-card>strong{margin-top:4px;font-size:20px}.score{color:#198543;background:#e9f8ed;border-radius:99px;align-self:flex-start;padding:7px 10px;font-size:12px;font-weight:800}.reasons{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.reasons span{color:#45516b;background:#f1f3f8;border-radius:10px;padding:8px;font-size:12px}.vacancy-card small{color:var(--muted);margin-top:6px}.swipe-hint{opacity:.3;z-index:1;font-size:11px;font-weight:800;position:absolute;top:44%}.swipe-hint.left{color:#d34d63;left:0}.swipe-hint.right{color:#198543;right:0}.action-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.round-action{background:var(--surface);border:1px solid #e4e7ef;border-radius:50%;width:58px;height:58px;font-size:28px}.round-action.dislike{color:#d34d63}.round-action.interested{color:#198543}.primary,.secondary{cursor:pointer;border:0;border-radius:13px;padding:13px 16px;font-size:14px;font-weight:800}.primary{background:var(--accent,#635bff);color:#fff}.secondary{color:#3d4860;background:#eef0f6}.details-button{flex:1}.bottom-nav{max-width:640px;padding:10px 8px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;background:#fffe;border-top:1px solid #e8ebf3;grid-template-columns:repeat(4,1fr);margin:auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#8992a5;background:0 0;border:0;padding:8px 2px;font-size:11px}.bottom-nav button.active{color:var(--accent);font-weight:800}.dialog-backdrop{z-index:10;background:#17203366;justify-content:center;align-items:end;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);width:min(640px,100%);padding:28px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:0 -12px 32px #17203320}.dialog-icon{color:var(--accent);text-align:center;background:#e9e8ff;border-radius:12px;width:38px;height:38px;padding-top:9px;display:block}.dialog h2{margin:16px 0 8px}.dialog p,.simple-screen p{color:var(--muted);line-height:1.5}.dialog-actions,.detail-actions{gap:10px;margin-top:22px;display:flex}.dialog-actions>*{flex:1}.details-screen .back-button{margin-bottom:18px}.detail-card{flex-direction:column;gap:12px;display:flex}.detail-card h1{margin:0;font-size:31px}.detail-card p{color:#4c5870;margin:10px 0;line-height:1.55}.detail-card h3{margin:8px 0 0}.detail-actions{flex-wrap:wrap}.detail-actions>*{flex:1}.simple-screen{padding-top:42px}.list-item{background:var(--surface);border-radius:16px;flex-direction:column;gap:5px;margin-top:12px;padding:16px;display:flex}.list-item span,.list-item small{color:var(--muted);font-size:13px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.stat-grid div{background:var(--surface);border-radius:18px;flex-direction:column;gap:8px;padding:20px;display:flex}.stat-grid strong{font-size:32px}.stat-grid span{color:var(--muted);font-size:12px}.empty-state{text-align:center;color:var(--muted);margin-top:150px}.empty-state h2{color:var(--ink)}.empty-state button{margin-top:14px}@media (width>=600px){.screen{padding-left:32px;padding-right:32px}.dialog-backdrop{align-items:center}.dialog{border-radius:24px;max-width:480px}}.snackbar{z-index:8;color:#fff;background:#172033;border-radius:12px;padding:11px 16px;font-size:13px;font-weight:700;position:fixed;bottom:82px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #17203333}.favorite-list{gap:18px;margin-top:24px;display:grid}.favorite-item{background:var(--surface);border-radius:22px;padding:12px}.favorite-item .vacancy-card{box-shadow:none;border:0;min-height:300px;padding:16px}.favorite-actions{gap:8px;padding:0 4px 4px;display:flex}.favorite-actions>*{flex:1}.favorite.saved{color:#8a6500;background:#f8d653}.bottom-nav{grid-template-columns:repeat(5,1fr)}.chip{color:#45516b;background:#eef0f6;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700;display:inline-flex}.compact-section{flex-direction:column;gap:6px;display:flex}.compact-section>small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.compact-section .reasons{margin-top:0}.summary{color:#4c5870;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.summary.lines-2{-webkit-line-clamp:2}.summary.lines-4{-webkit-line-clamp:4}.summary.lines-8{-webkit-line-clamp:8}.expand-button{color:var(--accent);background:#f1f3f8;border:0;border-radius:10px;align-self:flex-start;padding:8px;font-size:12px;font-weight:800}.block-responsibilities,.block-requirements,.block-reasons,.block-risks,.block-skills{width:100%}.detail-info{flex-direction:column;gap:12px;display:flex}.detail-info .reasons{margin-top:0}.detail-info .summary{-webkit-line-clamp:unset}.vacancy-card h2{letter-spacing:-.035em;overflow-wrap:anywhere;margin:2px 0 0;font-size:clamp(30px,8vw,38px);line-height:1.02}.vacancy-card .company{color:#53617a;font-size:14px}.vacancy-card .score{padding:5px 8px;font-size:11px}.vacancy-card .block-title{order:-3}.vacancy-card .block-company{order:-2}.vacancy-card .block-score{order:-1}.vacancy-card .block-salary{order:0;font-size:17px}.deck{height:min(530px,68vh)}.vacancy-card{gap:8px;min-height:0;padding:18px}.vacancy-card .compact-section{gap:4px}.vacancy-card .reasons{gap:5px}.vacancy-card .reasons span{padding:5px 7px}.vacancy-card .summary{font-size:13px}.cards-screen{padding-bottom:120px}.cards-screen .search-button{width:100%;margin:0 0 10px}.cards-screen .deck{height:max(330px,min(460px,100vh - 300px));min-height:0;overflow:hidden}.cards-screen .card-drag{height:100%}.cards-screen .vacancy-card{height:100%;max-height:100%;overflow:hidden}.cards-screen .action-row{z-index:3;flex-shrink:0;position:relative}.last-search{color:var(--muted);justify-content:space-between;gap:10px;margin:8px 0;font-size:12px;display:flex}.last-search strong{color:var(--text)}.search-empty{gap:14px;display:grid}.empty-actions{gap:8px;display:grid}@media (height<=700px){.cards-screen .deck{height:max(300px,100vh - 290px)}.cards-screen .vacancy-card{gap:6px;padding:14px}.cards-screen .vacancy-card h2{font-size:clamp(26px,7vw,32px)}.cards-screen .vacancy-card .reasons span{padding:4px 6px}}.search-progress{background:var(--surface);border:1px solid #e5e8f1;border-radius:16px;margin:16px 0 10px;padding:12px 14px;font-size:12px}.search-progress-heading{justify-content:space-between;gap:12px;display:flex}.search-progress-heading span{color:var(--muted);font-variant-numeric:tabular-nums}.search-progress-bar{background:#e9ebf3;border-radius:99px;height:6px;margin:10px 0 8px;overflow:hidden}.search-progress-bar span{border-radius:inherit;background:var(--accent);height:100%;transition:width .25s;display:block}.search-progress-summary{color:var(--muted)}.search-progress-stats{color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin-top:9px;display:flex}.search-progress-stats b{color:var(--ink)}.search-progress-error{color:#b33d53}.search-progress-failed{border-color:#f1cbd2}.search-progress-failed p{color:var(--muted);margin:8px 0 0}.source-settings{background:var(--surface);border-radius:18px;margin-top:24px;padding:16px}.source-settings h2{margin-bottom:14px}.source-settings h3{margin:20px 0 8px;font-size:14px}.source-modes{grid-template-columns:1fr;gap:8px;display:grid}.source-modes button{text-align:left;color:var(--ink);background:0 0;border:1px solid #e4e7ef;border-radius:12px;padding:10px}.source-modes button.active{border-color:var(--accent);color:var(--accent);background:#eeedff;font-weight:800}.source-row{color:var(--ink);align-items:center;gap:9px;padding:9px 0;display:flex}.source-row.custom{border-top:1px solid #eef0f5;align-items:flex-start}.source-row.custom span{overflow-wrap:anywhere;flex:1}.source-row small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.source-add{gap:8px;display:flex}.source-add input{border:1px solid #e1e5ef;border-radius:10px;flex:1;min-width:0;padding:10px}.source-add .primary{padding:10px 12px}.source-check{white-space:nowrap;padding:8px 10px}.source-error{color:#b33d53!important}.source-success{color:#198543!important}
