:root{--paper:#F4F5F6;--surface:#FFFFFF;--white:var(--surface);--ink:#181B20;--ink-hover:#30363F;--muted:#626973;--line:#D9DDE2;--control-line:#7E8895;--soft:#E9ECEF;--sage:var(--soft);--accent:#D5673A;--accent-text:#A74823;--accent-wash:rgba(213,103,58,.09);--stage:#12161C;--stage-surface:#242B34;--illustration-mid:#A3ABB5;--danger:#A33232;--danger-line:#D8B7B8;--danger-soft:#F8EDEE;--header-surface:rgba(244,245,246,.96);--selection:rgba(213,103,58,.22);--shadow-soft:rgba(24,27,32,.14);--shadow-deep:rgba(24,27,32,.15);--overlay:rgba(18,22,28,.44);--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.48;cursor:default}p,h1,h2,h3{margin:0}h1,h2,h3{letter-spacing:-.045em}svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}::selection{background:var(--selection);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:14px;top:14px;padding:14px 18px;z-index:50;background:var(--ink);color:var(--surface);transform:translateY(-180%)}.skip-link:focus{transform:none}.wordmark{font-weight:900;letter-spacing:-1.4px;font-size:25px;line-height:1;white-space:nowrap}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1.6;color:var(--muted)}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:12px 18px;border-radius:3px;font-weight:600;font-size:13px;border:1px solid transparent;line-height:1.5;transition:background .2s,border-color .2s}.button-dark{background:var(--ink);color:var(--surface)}.button-dark:hover:not(:disabled){background:var(--ink-hover)}.button-outline{border-color:var(--control-line);background:transparent}.button-outline:hover:not(:disabled){background:var(--soft);border-color:var(--ink)}.button-danger{background:var(--danger);color:var(--surface)}.button>span[aria-hidden]{font-size:19px;font-weight:400}.text-link{text-decoration:underline;text-underline-offset:5px;font-size:13px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 2px;font-size:13px;color:var(--ink)}.text-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:5px}.loading-view{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px}.loading-view p{font-size:13px;color:var(--muted)}.loader{display:block;width:25px;height:25px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .9s linear infinite}
/* Sign in: the brand has space; the form stays direct. */
.login-view{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr;animation:appear .35s var(--ease) both}.login-story{position:relative;display:flex;flex-direction:column;padding:clamp(32px,4.5vw,72px);overflow:hidden;min-width:0;border-right:1px solid var(--line)}.login-story>.wordmark{align-self:flex-start}.login-brand-art{display:flex;align-items:center;justify-content:center;flex:1;min-height:260px;padding:32px 0 22px}.portal-logo{width:min(100%,390px);height:auto;overflow:visible;stroke:none;color:var(--ink)}.portal-logo path{fill:currentColor;stroke:none;transform-box:fill-box;transform-origin:center;transform:none;opacity:1}.login-story-copy{padding:0 0 40px}.login-story h1{font-size:clamp(34px,3.2vw,49px);line-height:1.2;font-weight:550}.login-story-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:17px}.login-story-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);letter-spacing:.09em;line-height:1.7}.login-panel{display:flex;flex-direction:column;padding:clamp(30px,4.5vw,72px);min-width:0;background:var(--surface)}.back-link{font-size:12px;color:var(--muted);align-self:flex-end;padding:2px 0 12px;min-height:32px}.back-link:hover{text-decoration:underline;text-underline-offset:4px}.login-form-wrap{width:100%;max-width:370px;margin:auto;padding:48px 0}.login-form-wrap>.eyebrow{margin-bottom:14px}.login-form-wrap h2{font-size:35px;line-height:1.35;font-weight:550}.login-description{margin-top:15px;margin-bottom:32px;font-size:14px;line-height:1.8;color:var(--muted)}.field{margin-bottom:22px;min-width:0}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.field input,.field textarea,.field select{display:block;width:100%;max-width:100%;border:1px solid var(--control-line);background:var(--surface);border-radius:3px;padding:12px 13px;min-height:48px;color:var(--ink);font-size:15px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.field input::placeholder,.field textarea::placeholder,.search-field input::placeholder{color:var(--muted)}.field textarea{resize:vertical;min-height:116px;max-height:280px}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;top:2px;right:3px;height:44px;width:50px;font-size:12px;color:var(--muted)}.password-field button:hover{color:var(--ink)}.remember{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;cursor:pointer}.remember input{width:17px;height:17px;accent-color:var(--ink);flex-shrink:0;margin:2px 0 0}.remember small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.login-submit{width:100%;justify-content:space-between;margin-top:26px;min-height:50px}.account-help{font-size:12px;line-height:1.85;color:var(--muted);margin-top:24px}.account-help a{display:inline-flex;align-items:center;gap:12px;margin-top:4px;color:var(--ink);text-decoration:underline;text-underline-offset:4px;min-height:32px}.login-footnote{font-size:11px;line-height:1.7;color:var(--muted);display:flex;align-items:flex-start;justify-content:center;gap:7px}.tiny-dot{width:4px;height:4px;background:var(--accent);border-radius:50%;flex-shrink:0;margin-top:7px}.form-message{font-size:13px;line-height:1.8;padding:12px 0;margin-top:12px}.form-message.error{color:var(--danger);border-block:1px solid var(--danger-line)}.unavailable-view{min-height:100dvh;padding:42px clamp(24px,6vw,90px);display:flex;flex-direction:column;align-items:flex-start}.unavailable-card{margin:auto 0;padding:70px 0;max-width:630px}.unavailable-card .eyebrow{margin-bottom:24px}.unavailable-card h1{font-size:clamp(30px,4vw,47px);line-height:1.4}.unavailable-card p{font-size:14px;line-height:1.9;margin-top:20px;color:var(--muted)}.unavailable-actions{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}
/* The workspace is a page, not a collection of nested cards. */
.workspace-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;border-right:1px solid var(--line);padding:37px 24px 28px;display:flex;flex-direction:column}.sidebar>.wordmark{font-size:22px;align-self:flex-start}.workspace-identity{margin-top:55px;min-width:0}.workspace-identity strong{display:block;font-size:13px;line-height:1.6;font-weight:550}.workspace-identity div>span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.workspace-nav{margin-top:22px}.workspace-nav button{display:flex;width:100%;align-items:center;gap:10px;text-align:left;padding:14px 0;border-bottom:1px solid transparent;font-size:13px;color:var(--muted);min-height:48px;line-height:1.5;margin-bottom:7px}.workspace-nav button[aria-current=page]{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}.workspace-nav button:hover{color:var(--ink)}.workspace-nav svg{width:17px;height:17px;flex-shrink:0}.nav-letter{font-size:17px;width:17px;text-align:center;font-weight:900}.nav-arrow{margin-left:auto;color:var(--muted);font-size:17px}.sidebar-bottom{margin-top:auto;padding-top:44px}.sidebar-bottom p{color:var(--muted);font-size:12px;line-height:1.9}.support-link{font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:46px;margin-top:15px;border-bottom:1px solid var(--line)}.support-link>span{font-size:17px}.sidebar-home{display:block;font-size:11px;color:var(--muted);margin-top:14px;padding:5px 0;line-height:1.6}.workspace-main{min-width:0}.workspace-header{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:81px;padding:16px clamp(24px,4vw,60px);border-bottom:1px solid var(--line)}.breadcrumb{display:flex;gap:11px;align-items:center;flex-shrink:0;font-size:12px;color:var(--muted)}.breadcrumb strong{color:var(--ink);font-weight:400}.account-actions{display:flex;align-items:center;gap:18px;min-width:0}.account-email{font-size:12px;color:var(--muted);max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-actions button{font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:10px;min-height:44px;border-left:1px solid var(--line);padding-left:18px}.account-actions button>span{font-size:16px}.workspace-content{padding:24px clamp(24px,4vw,60px) 0;max-width:1600px;margin-inline:auto}.test-notice{display:flex;align-items:flex-start;gap:9px;color:var(--muted)}.test-notice p{font-size:11px;line-height:1.8}.test-badge{display:inline-flex;font-size:9px;font-weight:600;letter-spacing:.08em;line-height:1.8;margin-top:1px;flex-shrink:0;color:var(--accent-text)}.board-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;padding:42px 0 30px}.board-heading .eyebrow{margin-bottom:13px}.board-heading h1{font-size:clamp(29px,3vw,42px);line-height:1.3;font-weight:550;outline-offset:6px}.board-heading p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:12px}.board-heading .button{flex-shrink:0}.summary-line{display:flex;align-items:center;gap:25px;flex-wrap:wrap;padding:0 0 27px;font-size:13px;color:var(--muted)}.summary-line>span{display:flex;gap:9px;align-items:baseline}.summary-line strong{font-weight:550;font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}.summary-line small{font-size:12px;margin-left:auto}.task-board,.rank-board{border-top:1px solid var(--ink);min-width:0}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0}.board-toolbar h2{font-size:17px;display:flex;align-items:center;gap:9px;letter-spacing:-.03em;font-weight:550}.count-badge{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:0}.refresh-button{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);min-height:44px;padding:6px 0}.refresh-button>span{font-size:20px;line-height:1}.board-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 15px;border-bottom:1px solid var(--line)}.status-filters{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.status-filters button{font-size:13px;padding:9px 0;min-height:44px;border-bottom:2px solid transparent;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.status-filters button>span{font-size:11px;font-variant-numeric:tabular-nums}.status-filters button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);font-weight:600}.status-filters button:hover{color:var(--ink)}.search-field{position:relative;width:215px;max-width:100%;flex-shrink:0}.search-field svg{position:absolute;left:10px;top:14px;width:16px;height:16px;color:var(--muted);pointer-events:none}.search-field input{display:block;width:100%;height:44px;border:1px solid var(--control-line);border-radius:3px;background:var(--surface);color:var(--ink);font-size:14px;padding:7px 10px 7px 34px}.task-list{display:grid}.task-card{display:grid;grid-template-columns:36px minmax(0,1fr) 106px 38px;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:23px 0;animation:row-arrive .35s var(--ease) both}.task-card:last-child{border-bottom:0}.task-check{width:36px;height:40px;border:1px solid var(--control-line);background:transparent;display:grid;place-items:center;border-radius:3px;color:transparent;padding:0;font-size:18px}.task-check:hover:not(:disabled){border-color:var(--ink)}.task-check[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.task-info{min-width:0}.task-title{display:block;font-size:15px;line-height:1.65;font-weight:550;text-align:left;padding:0;max-width:100%;word-break:break-word;text-underline-offset:4px}.task-title:hover:not(:disabled){text-decoration:underline}.task-title:disabled{opacity:1}.task-card.is-done .task-title{color:var(--muted)}.task-description{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.7;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.task-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:9px;font-size:11px;color:var(--muted)}.priority-label{display:inline-flex;align-items:center;gap:5px}.priority-dot{width:4px;height:4px;border-radius:50%;background:var(--muted)}.priority-high{color:var(--accent-text)}.priority-high .priority-dot{background:var(--accent)}.task-status-select{width:106px;min-height:44px;border:1px solid var(--control-line);border-radius:3px;color:var(--ink);background:transparent;padding:8px;font-size:13px;cursor:pointer}.task-actions{position:relative}.task-delete{width:38px;height:44px;color:var(--muted);display:grid;place-items:center}.task-delete:hover{color:var(--danger)}.task-delete svg{width:18px;height:18px}.board-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.8}.tasks-loading{padding:35px 0;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;color:var(--muted)}.tasks-loading .loader{width:18px;height:18px}.empty-state{text-align:center;padding:50px 20px}.empty-icon{display:block;color:var(--muted);font-size:27px;margin:0 auto 15px}.empty-state h3{font-size:19px;line-height:1.5;font-weight:500}.empty-state p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:9px}.empty-state .button{margin-top:20px}.workspace-footer{display:flex;justify-content:space-between;gap:20px;padding:32px 0 26px;font-size:10px;letter-spacing:.07em;color:var(--muted);line-height:1.7}
/* Ranking: results and state remain visible; setup is a secondary action. */
.rank-last-saved{text-align:right;flex-shrink:0;padding-bottom:2px}.rank-last-saved>span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.rank-last-saved strong{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.6}.rank-automation{padding:20px 0 23px;border-top:1px solid var(--line)}.rank-operation-line{display:flex;align-items:center;justify-content:space-between;gap:23px;flex-wrap:wrap}.rank-automation-summary{display:flex;gap:27px;flex-wrap:wrap;min-width:0}.rank-automation-summary>div{min-width:0}.rank-automation-summary span{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}.rank-automation-summary strong{font-size:13px;line-height:1.6;font-weight:550;display:block;font-variant-numeric:tabular-nums}.rank-auto-state::before{content:"";display:inline-block;width:5px;height:5px;background:var(--illustration-mid);border-radius:50%;margin:0 7px 2px 0}.rank-auto-state.is-running::before{background:var(--accent)}.rank-automation-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.rank-automation-controls .button{min-height:44px;padding:10px 14px;font-size:12px}.rank-automation-controls .text-button{padding-inline:8px;font-size:12px}.rank-status-reason{font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px}.rank-connection{margin-top:8px}.rank-connection-heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rank-connection h3{font-size:12px;font-weight:500;letter-spacing:-.02em;line-height:1.6}.rank-connection-dot{height:5px;width:5px;background:var(--illustration-mid);border-radius:50%;flex-shrink:0}.rank-connection-dot.is-connected{background:var(--ink)}.rank-connection .text-button{font-size:11px;min-height:34px;margin-left:8px;color:var(--muted)}.rank-connection>p{font-size:11px;line-height:1.8;color:var(--muted)}.rank-list-actions{display:flex;align-items:center;gap:20px}.rank-list-actions .text-button{font-size:12px}.rank-notice{padding:12px 0;color:var(--ink);font-size:13px;line-height:1.8;border-block:1px solid var(--line);margin-bottom:12px}.rank-readonly{padding:0 0 15px;color:var(--muted);font-size:12px;line-height:1.8}.rank-table-wrap{max-width:100%}.rank-table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;table-layout:fixed}.rank-table th{font-size:11px;color:var(--muted);font-weight:400;padding:12px 8px;border-block:1px solid var(--line);line-height:1.6}.rank-table th:first-child,.rank-table td:first-child{padding-left:0;width:36px}.rank-table th:nth-child(2){width:26%}.rank-table th:nth-child(3){width:21%}.rank-table th:nth-child(4){width:15%}.rank-table th:last-child,.rank-table td:last-child{padding-right:0;width:44px}.rank-table td{padding:19px 8px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}.rank-table tr:last-child td{border-bottom:0}.rank-row-number{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.rank-keyword{font-size:14px;font-weight:550;letter-spacing:-.02em;line-height:1.6;overflow-wrap:anywhere;word-break:break-word}.rank-code-cell code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;letter-spacing:.01em;color:var(--muted);overflow-wrap:anywhere}.rank-result{display:inline-flex;font-size:13px;line-height:1.6;color:var(--muted);letter-spacing:0}.rank-result.is-found{font-size:17px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.rank-result.is-failed{color:var(--danger)}.rank-result.is-pending{color:var(--muted)}.rank-time-cell{font-size:11px;line-height:1.8;color:var(--muted);font-variant-numeric:tabular-nums}.rank-delete-button{min-height:44px;min-width:44px;color:var(--muted);font-size:11px;padding:9px 0}.rank-delete-button:hover:not(:disabled){color:var(--danger);text-decoration:underline;text-underline-offset:4px}.rank-item-note{font-size:12px;line-height:1.8;color:var(--danger);margin-top:7px}.rank-mobile-label{display:none}.rank-add-section,.rank-help>details{border-bottom:1px solid var(--line)}.rank-add-section{margin-top:22px}.rank-add-section summary,.rank-help summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:58px;padding:14px 0;font-size:13px;cursor:pointer}.rank-add-section summary::-webkit-details-marker,.rank-help summary::-webkit-details-marker{display:none}.rank-add-section summary>span,.rank-help summary>span{font-size:19px;line-height:1;transition:transform .2s}.rank-add-section[open] summary>span,.rank-help details[open] summary>span{transform:rotate(45deg)}.rank-add-section>div>p{font-size:12px;line-height:1.8;color:var(--muted);padding-top:2px}.rank-add-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:16px;margin:19px 0 24px}.rank-add-form .field{margin:0}.rank-add-form .button{white-space:nowrap}.rank-help{margin-top:10px}.rank-install,.rank-guide{font-size:13px;line-height:1.85;color:var(--muted)}.rank-install summary,.rank-guide summary{color:var(--ink)}.rank-install ol{padding-left:22px;margin:10px 0 20px}.rank-install li+li{margin-top:10px}.rank-install a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.rank-install code{font-size:12px;background:var(--soft);padding:2px 5px;word-break:break-all;color:var(--ink)}.rank-install>p,.rank-scope{padding:0 0 22px;font-size:12px;line-height:1.9}.rank-scope strong{color:var(--ink);font-weight:550}.rank-scope p{margin-top:9px}.rank-item-list[aria-busy=true]{opacity:.65}
/* Only dialogs, controls, and validation use bounded surfaces. */
dialog{color:var(--ink);border:1px solid var(--line);border-radius:5px;background:var(--surface);padding:30px;width:calc(100% - 36px);max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 24px 100px var(--shadow-deep)}dialog::backdrop{background:var(--overlay);backdrop-filter:blur(3px)}dialog[open]{animation:row-arrive .25s var(--ease) both}.task-dialog{max-width:530px}.dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:30px}.dialog-header .eyebrow,.delete-dialog>.eyebrow{margin-bottom:12px}.dialog-header h2,.delete-dialog h2{font-size:28px;font-weight:500;line-height:1.4}.close-button{font-size:27px;line-height:1;width:44px;height:44px;display:grid;place-items:center;color:var(--muted);margin-top:-8px;margin-right:-10px}.close-button:hover{color:var(--ink)}.field label>span:not(.optional){color:var(--accent-text)}.field .optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:5px}.field-hint{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dialog-actions .button{min-width:78px}.delete-dialog{max-width:440px}.delete-dialog>p{line-height:1.7;font-size:14px;margin-top:18px;word-break:break-word}.delete-dialog .delete-description{font-size:12px;color:var(--muted);margin-top:8px}.delete-dialog .dialog-actions{margin-top:30px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 19px;background:var(--ink);color:var(--surface);border-radius:4px;z-index:100;display:flex;align-items:center;gap:11px;box-shadow:0 8px 30px var(--shadow-soft);max-width:calc(100% - 36px);width:max-content}.toast>span{font-size:16px}.toast p{font-size:13px;line-height:1.7}.noscript-message{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px;text-align:center;background:var(--paper);z-index:999;font-size:14px;line-height:1.9}.noscript-message a{text-decoration:underline}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0}to{opacity:1}}@keyframes row-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.login-brand-art .portal-logo{width:450px}.login-story-copy{padding-bottom:50px}}
@media(max-width:1100px){.workspace-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-inline:21px}.workspace-header,.workspace-content{padding-inline:30px}.board-controls{flex-wrap:wrap}.search-field{width:100%}.rank-add-form{grid-template-columns:1fr 1fr}.rank-add-form .button{grid-column:1/-1;justify-self:end}.rank-last-saved{padding-bottom:0}.naver-heading{align-items:flex-start;flex-wrap:wrap;gap:18px}.rank-last-saved{text-align:left}.rank-automation-summary{gap:24px}.summary-line{gap:20px}.summary-line small{margin-left:0}}
@media(max-width:850px){.login-view{grid-template-columns:.95fr 1fr}.login-story,.login-panel{padding:35px}.login-story h1{font-size:36px}.login-story-footer{flex-direction:column;align-items:flex-start;gap:5px}.login-brand-art{min-height:230px;padding-block:32px}.workspace-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:24px 28px 0;border-right:0;border-bottom:1px solid var(--line);gap:17px}.sidebar>.wordmark{font-size:22px}.workspace-identity{margin:0;text-align:right}.workspace-identity strong{font-size:11px}.workspace-identity div>span{display:none}.workspace-nav{display:flex;flex:1 0 100%;gap:25px;margin-top:0}.workspace-nav button{width:auto;flex:0 1 auto;margin:0;padding:13px 0;gap:8px;font-size:13px;min-height:49px}.workspace-nav button .nav-arrow{display:none}.sidebar-bottom{display:none}.workspace-header{min-height:64px;padding-block:8px}.workspace-content{max-width:900px}.board-heading{padding-top:32px}.naver-heading{flex-wrap:nowrap;align-items:flex-end}.rank-last-saved{text-align:right}.rank-automation-summary{gap:32px}.rank-add-form{grid-template-columns:1fr 1fr auto}.rank-add-form .button{grid-column:auto}.board-controls{flex-wrap:nowrap}.search-field{width:200px}}
@media(max-width:600px){html{scrollbar-gutter:auto}.login-view{display:flex;flex-direction:column}.login-story{padding:25px 24px 22px;border:0;display:block}.login-story>.wordmark{font-size:24px}.login-brand-art,.login-story-copy,.login-story-footer{display:none}.login-panel{padding:0 24px 25px;background:var(--paper);flex:1}.back-link{position:absolute;top:20px;right:24px;font-size:12px;min-height:35px;padding:7px 0}.login-form-wrap{max-width:420px;margin:0 auto;padding:22px 0 30px}.login-form-wrap>.eyebrow{font-size:10px;margin-bottom:10px}.login-form-wrap h2{font-size:30px}.login-description{font-size:13px;margin-top:10px;margin-bottom:25px;line-height:1.75}.field{margin-bottom:20px}.field input,.field textarea,.field select{font-size:16px;min-height:48px}.field label{font-size:13px}.password-field input{padding-right:60px}.remember{font-size:13px}.remember small{font-size:11px}.login-submit{margin-top:23px}.account-help{font-size:12px;margin-top:22px}.login-footnote{justify-content:flex-start;max-width:420px;width:100%;margin:0 auto;font-size:10px}.sidebar{padding:22px 20px 0;gap:16px 12px}.sidebar>.wordmark{font-size:22px}.workspace-identity strong{font-size:11px;max-width:145px}.workspace-nav{gap:25px}.workspace-nav button{font-size:12px;min-height:47px}.workspace-header{padding:7px 20px;gap:12px;min-height:58px}.breadcrumb{font-size:11px}.breadcrumb>span{display:none}.account-actions{gap:9px}.account-email{font-size:11px;max-width:130px}.account-actions button{font-size:11px;gap:6px;padding-left:10px}.account-actions button>span{font-size:15px}.workspace-content{padding:19px 20px 0}.test-notice p{font-size:10px;line-height:1.8}.test-badge{font-size:9px}.board-heading{padding:28px 0 23px;align-items:flex-start;flex-wrap:wrap;gap:17px}.board-heading h1{font-size:29px}.board-heading .eyebrow{font-size:9px;margin-bottom:11px}.board-heading p{font-size:13px;line-height:1.8;margin-top:9px}.board-heading .button{font-size:12px;min-height:44px}.rank-last-saved{text-align:left}.rank-last-saved>span{display:inline;margin-right:9px;font-size:11px}.rank-last-saved strong{font-size:12px}.rank-automation{padding:18px 0 20px}.rank-operation-line{gap:17px}.rank-automation-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;width:100%}.rank-automation-summary>div:last-child{grid-column:1/-1;display:flex;gap:9px;align-items:baseline}.rank-automation-summary>div:last-child span{margin:0}.rank-automation-summary span{font-size:11px}.rank-automation-summary strong{font-size:12px}.rank-automation-controls{gap:8px;width:100%}.rank-automation-controls .button{font-size:12px;padding-inline:13px}.rank-status-reason{font-size:11px}.rank-connection{margin-top:5px}.rank-connection h3{font-size:11px}.rank-connection>p{font-size:11px}.rank-connection .text-button{margin-left:0}.board-toolbar{gap:12px;padding-block:13px}.board-toolbar h2{font-size:16px;gap:7px}.rank-list-actions{gap:14px}.rank-list-actions .text-button,.refresh-button{font-size:11px}.refresh-button{gap:4px}.rank-table{display:block;width:100%;table-layout:auto}.rank-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rank-table tbody{display:block;width:100%}.rank-table tr.rank-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;border-top:1px solid var(--line);padding:19px 0}.rank-table td{display:block;padding:0;border:0;width:auto!important;min-width:0;max-width:none}.rank-table .rank-row-number{display:none}.rank-keyword-cell{grid-column:1;grid-row:1}.rank-keyword{font-size:15px}.rank-value-cell{grid-column:2;grid-row:1;text-align:right}.rank-result{font-size:12px}.rank-result.is-found{font-size:19px;line-height:1.4}.rank-code-cell{grid-column:1;grid-row:2}.rank-code-cell code{font-size:12px}.rank-time-cell{grid-column:1;grid-row:3;font-size:11px}.rank-actions-cell{grid-column:2;grid-row:2/4;align-self:end;text-align:right}.rank-mobile-label{display:inline;color:var(--muted);font-size:11px;margin-right:8px;font-weight:400}.rank-keyword-cell>.rank-mobile-label,.rank-value-cell>.rank-mobile-label{display:none}.rank-delete-button{min-width:44px;font-size:11px}.rank-item-note{font-size:11px;line-height:1.8}.rank-board .board-footer{flex-wrap:wrap;gap:4px;font-size:10px}.rank-notice,.form-message{font-size:12px}.rank-add-section{margin-top:15px}.rank-add-section summary,.rank-help summary{font-size:13px;min-height:56px}.rank-add-form{grid-template-columns:1fr;margin-top:17px;gap:17px}.rank-add-form .button{width:100%;grid-column:1;min-height:48px}.rank-install,.rank-guide{font-size:12px}.rank-install>p,.rank-scope{font-size:12px}.summary-line{gap:20px;padding-bottom:22px}.summary-line>span{font-size:12px;gap:7px}.summary-line strong{font-size:21px}.summary-line small{width:100%;font-size:11px}.board-controls{flex-direction:column;align-items:stretch;gap:14px}.status-filters{gap:19px;flex-wrap:nowrap;justify-content:flex-start}.status-filters button{font-size:12px;gap:5px}.status-filters button>span{font-size:11px}.search-field{width:100%}.search-field input{font-size:16px}.task-card{grid-template-columns:34px minmax(0,1fr) 32px;gap:8px 11px;padding:22px 0;align-items:start}.task-check{width:34px;height:40px;font-size:18px}.task-title{font-size:14px}.task-description{font-size:12px}.task-meta{font-size:11px;gap:5px 10px}.task-status-select{grid-column:2;grid-row:2;width:112px;min-height:44px;font-size:16px;margin-top:6px}.task-actions{grid-column:3;grid-row:1/3}.task-delete{width:32px;height:44px}.board-footer{font-size:10px;gap:8px;flex-wrap:wrap}.empty-state{padding:35px 12px}.empty-state h3{font-size:18px}.empty-state p{font-size:12px}.workspace-footer{font-size:9px;gap:15px;padding:27px 0;flex-wrap:wrap}dialog{padding:25px 22px;width:calc(100% - 28px);max-height:calc(100dvh - 28px)}.dialog-header{margin-bottom:27px}.dialog-header h2,.delete-dialog h2{font-size:26px}.field-row{gap:14px}.dialog-actions{margin-top:15px}.dialog-actions .button{font-size:12px}.unavailable-view{padding:32px 24px}.unavailable-card h1{font-size:30px}.unavailable-card p{font-size:13px}.unavailable-actions{gap:15px}.toast{bottom:calc(18px + env(safe-area-inset-bottom,0px));padding:12px 16px}.toast p{font-size:12px}}
@media(max-width:380px){.workspace-content{padding-inline:17px}.workspace-header{padding-inline:17px}.sidebar{padding-inline:17px}.account-email{max-width:112px}.breadcrumb{font-size:10px}.workspace-identity strong{max-width:128px;font-size:10px}.board-heading h1{font-size:27px}.rank-list-actions{gap:10px}.board-toolbar h2{font-size:15px}.status-filters{gap:15px}.rank-automation-controls .button{padding-inline:11px}}
@media print{.sidebar,.workspace-header,.test-notice,.board-heading>.button,.board-controls,.refresh-button,.task-check,.task-actions,.task-status-select,.workspace-footer,.toast,.rank-connection,.rank-automation-controls,.rank-add-section,.rank-help,.rank-list-actions,.rank-actions-cell{display:none!important}.workspace-shell{display:block}.workspace-content{padding:0}.task-card{grid-template-columns:1fr;break-inside:avoid}.rank-item{break-inside:avoid}.login-view,.loading-view,.unavailable-view{display:none!important}}


/* Mobile prioritizes the saved results while keeping real execution state visible. */
@media(max-width:600px){
  .sidebar{padding-top:16px;gap:10px 12px}.workspace-nav button{min-height:44px;padding-block:11px}
  .workspace-header{min-height:50px;padding-block:3px}.workspace-content{padding-top:14px}
  .naver-heading{padding-block:21px 18px;gap:10px}.naver-heading .eyebrow,.naver-heading>div:first-child>p{display:none}
  .rank-automation{padding-block:16px 17px}.rank-automation-summary{row-gap:8px}.rank-operation-line{gap:14px}
  .rank-connection{margin-top:6px}.rank-status-reason:not([hidden]){margin-top:12px}
  .rank-board>.board-toolbar{padding-block:10px}
}

/* Readiness is distinct from account validation; recovery never submits credentials. */
.login-service-status{margin:0 0 22px;padding:12px 0;border-block:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--muted)}
.login-service-status[data-state="unavailable"]{color:var(--danger);border-color:var(--danger-line)}
.login-service-status .text-button{font-size:12px;margin-top:5px;color:var(--ink)}
@media(max-width:600px){
  .login-story{padding-bottom:8px}
  .login-brand-art{display:flex;min-height:0;height:119px;padding:12px 0 0;flex:none}
  .login-brand-art .portal-logo{display:block;width:128px;height:auto;max-height:107px}
  .login-form-wrap{padding-top:12px}
  .login-form-wrap>.eyebrow{display:none}
  .login-service-status{font-size:12px;margin-bottom:18px}
}

/* Administration uses the portal palette; private detail is rendered only after authorization. */
.admin-shell{min-height:100dvh}.admin-header{display:flex;align-items:center;gap:28px;padding:20px clamp(22px,4vw,64px);border-bottom:1px solid var(--line);min-height:86px}.admin-header .wordmark{font-size:24px}.admin-header-label{font-size:10px;letter-spacing:.12em;color:var(--muted)}.admin-header .account-actions{margin-left:auto}.admin-content{max-width:1480px;margin:auto;padding:0 clamp(22px,4vw,64px)}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:64px 0 40px}.admin-heading .eyebrow{margin-bottom:16px}.admin-heading h1{font-size:clamp(32px,4vw,52px);font-weight:550;line-height:1.2}.admin-heading p{color:var(--muted);font-size:14px;line-height:1.8;margin-top:16px}.admin-heading .button{flex-shrink:0}.admin-summary{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:28px 0;margin:0 0 30px;gap:20px}.admin-summary div{border-left:1px solid var(--line);padding-left:26px}.admin-summary div:first-child{border:0;padding-left:0}.admin-summary dt{font-size:12px;color:var(--muted);line-height:1.6}.admin-summary dd{font-size:34px;font-weight:500;line-height:1.4;margin:8px 0 0;font-variant-numeric:tabular-nums}.admin-toolbar{display:flex;align-items:center;gap:22px;padding:4px 0 24px}.admin-toolbar .search-field{width:min(100%,330px)}.admin-toolbar input{padding-left:13px;background:var(--surface)}.admin-filter-label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.admin-filter-label select{background:transparent;color:var(--ink);border:1px solid var(--control-line);border-radius:3px;min-height:44px;padding:8px 28px 8px 12px;font-size:13px;max-width:100%}.admin-toolbar .refresh-button{margin-left:auto;white-space:nowrap}.admin-panels{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);border-top:1px solid var(--ink);min-height:400px}.admin-directory{min-width:0;padding-right:30px;border-right:1px solid var(--line)}.admin-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.admin-section-title h2{font-size:16px;font-weight:550;display:flex;align-items:center;gap:10px}.admin-section-title>span{font-size:10px;color:var(--muted)}.admin-user-row{display:block;width:100%;padding:21px 8px 21px 0;text-align:left;border-bottom:1px solid var(--line);position:relative;min-width:0}.admin-user-row[aria-pressed=true]{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent);padding-left:15px}.admin-user-row:hover{background:var(--surface)}.admin-user-email{font-size:14px;font-weight:550;display:block;overflow-wrap:anywhere;line-height:1.6}.admin-user-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;font-size:11px;color:var(--muted);line-height:1.7}.admin-user-meta>span:first-child{overflow-wrap:anywhere}.admin-status{flex-shrink:0;font-size:10px;font-weight:500;color:var(--muted)}.admin-status.is-active{color:var(--accent-text)}.admin-detail{padding:30px 0 24px 36px;min-width:0;scroll-margin-top:20px}.admin-detail-empty{padding:40px 0;max-width:340px}.admin-detail-empty>span{font-size:28px;color:var(--accent);display:block;margin-bottom:28px}.admin-detail h2{font-size:21px;font-weight:550;line-height:1.55;overflow-wrap:anywhere}.admin-detail-empty p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:14px}.admin-person-meta{display:flex;gap:10px 18px;flex-wrap:wrap;font-size:11px;color:var(--muted);line-height:1.7;margin:13px 0 26px}.admin-person-tag{display:inline-block;font-size:10px;letter-spacing:.04em;color:var(--accent-text);margin-bottom:12px}.admin-guidance{font-size:12px;line-height:1.9;color:var(--muted);margin:14px 0 22px;overflow-wrap:anywhere}.admin-membership{border-top:1px solid var(--line);padding:23px 0 20px}.admin-membership h3,.admin-assignment h3{font-size:15px;font-weight:550;line-height:1.7;overflow-wrap:anywhere}.admin-membership .admin-guidance{margin:5px 0 17px}.admin-membership-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.admin-role-label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.admin-role-label select{min-height:44px;padding:8px 28px 8px 10px;border:1px solid var(--control-line);border-radius:3px;background:var(--surface);color:var(--ink);font-size:13px;max-width:100%}.admin-active-label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px}.admin-active-label input{height:17px;width:17px;accent-color:var(--ink)}.admin-membership-controls .button{margin-left:auto;min-height:44px;font-size:12px;padding:9px 14px}.admin-assignment{border-top:1px solid var(--line);padding-top:23px;margin-top:4px}.admin-assignment .field-row{margin-top:18px}.admin-assignment .field{margin-bottom:17px}.admin-assignment .field label{font-size:12px}.admin-assignment .field select{font-size:13px;min-height:44px;padding:10px}.admin-assignment .button{font-size:12px;min-height:44px}.admin-footer{border-top:1px solid var(--line);padding:25px 0 36px;margin-top:25px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;font-size:11px;line-height:1.9;color:var(--muted)}.admin-footer>span{white-space:nowrap}.admin-dialog{max-width:510px}.admin-dialog>.eyebrow{margin-bottom:15px}.admin-dialog>h2{font-size:26px;font-weight:500;line-height:1.5}.admin-confirm-summary{font-size:14px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere;margin-top:22px}.admin-dialog .admin-guidance{margin-top:14px}.admin-user-list[aria-busy=true]{opacity:.6}
@media(max-width:1000px){.admin-panels{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}.admin-directory{padding-right:22px}.admin-detail{padding-left:25px}.admin-membership-controls .button{margin-left:0}.admin-header-label{display:none}.admin-assignment .field-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.admin-header{padding:19px 20px;flex-wrap:wrap;gap:14px}.admin-header .wordmark{font-size:22px}.admin-header .account-actions{width:100%;justify-content:space-between}.admin-header .account-email{max-width:calc(100% - 90px);font-size:11px}.admin-header .account-actions button{font-size:11px}.admin-content{padding-inline:20px}.admin-heading{padding:35px 0 26px;display:block}.admin-heading h1{font-size:35px}.admin-heading p{font-size:13px;margin-top:12px}.admin-heading .button{margin-top:23px;font-size:12px;min-height:44px}.admin-summary{grid-template-columns:1fr 1fr;padding:22px 0;gap:23px 20px;margin-bottom:20px}.admin-summary div{padding-left:18px}.admin-summary div:nth-child(3){border:0;padding-left:0}.admin-summary dt{font-size:11px}.admin-summary dd{font-size:28px;margin-top:5px}.admin-toolbar{flex-wrap:wrap;gap:9px 18px;padding-bottom:17px}.admin-toolbar .search-field{width:100%}.admin-filter-label{font-size:11px}.admin-filter-label select{font-size:16px;max-width:165px;padding-right:18px}.admin-toolbar .refresh-button{font-size:11px}.admin-panels{display:block;min-height:0}.admin-directory{padding-right:0;border:0}.admin-detail{border-top:1px solid var(--ink);padding:25px 0 10px;margin-top:26px}.admin-detail-empty{padding:10px 0}.admin-detail-empty>span{margin-bottom:14px}.admin-detail h2{font-size:20px}.admin-user-row{padding-top:18px;padding-bottom:18px}.admin-user-email{font-size:13px}.admin-person-meta{gap:7px 14px}.admin-membership-controls{gap:8px 18px}.admin-membership-controls .button{margin-left:0}.admin-role-label select,.admin-assignment .field select{font-size:16px}.admin-assignment .field-row{grid-template-columns:1fr}.admin-footer{display:block;font-size:10px}.admin-footer>span{display:block;margin-top:12px}.admin-dialog>h2{font-size:23px}.admin-dialog .dialog-actions{flex-wrap:wrap}.admin-confirm-summary{font-size:13px}}

/* Isolated administrator verification; no customer workspace layout changes. */
.mfa-view{min-height:100dvh;padding:30px clamp(20px,5vw,72px) 60px;background:var(--paper)}
.mfa-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1100px;margin:auto}
.mfa-header .wordmark{font-size:24px}.mfa-header .text-button{min-height:44px}
.mfa-panel{width:min(100%,460px);margin:clamp(40px,8vh,90px) auto 0;overflow-wrap:anywhere}
.mfa-panel>.eyebrow{display:block;margin-bottom:18px}.mfa-panel h1{font-size:clamp(30px,5vw,40px);font-weight:550;line-height:1.35}
.mfa-description{font-size:14px;line-height:1.9;color:var(--muted);margin-top:18px}.mfa-account-email{font-size:12px;line-height:1.7;margin-top:18px;color:var(--muted)}
.mfa-status{font-size:13px;line-height:1.9;margin:26px 0 20px}.mfa-panel>.button,.mfa-panel form>.button{width:100%;min-height:48px}
.mfa-panel .form-message{margin:18px 0}.mfa-enrollment{margin:24px 0 30px}.mfa-enrollment img{display:block;width:min(224px,100%);height:auto;aspect-ratio:1;background:#fff;border:12px solid #fff;margin:0 auto 20px}
.mfa-enrollment>p{font-size:12px;line-height:1.9;color:var(--muted)}.mfa-enrollment details{margin-top:16px}.mfa-enrollment summary{min-height:44px;cursor:pointer;font-size:12px;line-height:1.7;padding:12px 0}
.mfa-enrollment label{display:block;font-size:12px;margin:10px 0}.mfa-enrollment input{display:block;max-width:100%;width:100%;border:1px solid var(--control-line);background:var(--surface);color:var(--ink);padding:12px;font-size:14px;font-family:monospace}
#mfa-code{font-variant-numeric:tabular-nums;letter-spacing:.16em;font-size:22px}.mfa-retry{margin-top:18px;min-height:44px;font-size:13px}.mfa-panel .field select{max-width:100%}
@media(max-width:480px){.mfa-view{padding:22px 20px 40px}.mfa-panel{margin-top:38px}.mfa-header .wordmark{font-size:22px}.mfa-panel .field select,.mfa-enrollment input{font-size:16px}.mfa-description{font-size:13px}}
@media print{.mfa-view{display:none!important}}
