:root{color:#202124;background:#fff;font-family:Arial,Helvetica Neue,Helvetica,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#fff}button,textarea,input{font:inherit}.event-time{margin:-12px 0 24px;color:#5f6368}.event-join-card,.admin-events,.event-admin-info{margin-bottom:28px;padding:22px;border:1px solid #dadce0;border-radius:8px}.event-join-card>p{margin:10px 0 18px;color:#5f6368}.event-join-form,.event-create-form{display:grid;gap:14px}.event-join-form label,.event-create-form label{display:grid;gap:6px;color:#5f6368;font-size:.84rem}.event-join-form input,.event-create-form input{min-height:40px;padding:8px 10px;border:1px solid #dadce0;border-radius:4px;color:#202124;background:#fff}.admin-events>.panel-heading{margin-bottom:18px}.admin-event-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px}.event-create-form fieldset{min-width:0;padding:12px;border:1px solid #dadce0;border-radius:4px}.event-task-picker{display:grid;max-height:190px;overflow:auto;gap:6px}.event-task-picker label{display:flex;align-items:center;grid-template-columns:auto 1fr}.event-task-picker input{min-height:auto}.event-task-order,.event-admin-info>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px}.event-admin-info{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.event-admin-info>div{display:grid;justify-content:initial;padding:0}@media(max-width:800px){.admin-event-grid{grid-template-columns:1fr}}button{border-radius:4px}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:32px 24px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:#5f6368;font-size:.76rem;font-weight:500;letter-spacing:0}h1,h2,p{margin:0}h1{color:#202124;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.08;letter-spacing:0}.playground-title{font-size:clamp(1.75rem,3vw,2.6rem)}h2{color:#202124;font-size:.92rem;font-weight:500}.run-button{min-width:112px;height:40px;border:1px solid #1a73e8;background:#1a73e8;color:#fff;cursor:pointer;font-size:.88rem;font-weight:500;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.run-button:hover:not(:disabled){border-color:#1765cc;background:#1765cc;box-shadow:0 1px 2px #3c40434d}.run-button:disabled{cursor:wait;opacity:.7}.secondary-button{min-width:88px;height:40px;border:1px solid #dadce0;background:#fff;color:#1a73e8;cursor:pointer;font-size:.88rem;font-weight:500;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.secondary-button:hover:not(:disabled){background:#f8fafd;border-color:#c7cdd6;box-shadow:0 1px 2px #3c404329}.secondary-button:disabled{cursor:wait;opacity:.7}.text-button{border:0;background:transparent;color:#1a73e8;cursor:pointer;font-size:.84rem;font-weight:500}.text-button:hover{text-decoration:underline}.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-width:88px;height:40px;padding:0 14px;border:1px solid #dadce0;border-radius:4px;background:#fff;color:#1a73e8;cursor:pointer;font-size:.88rem;font-weight:500;text-decoration:none}.secondary-link:hover{background:#f8fafd;border-color:#c7cdd6;box-shadow:0 1px 2px #3c404329}.secondary-link.compact{min-width:82px;height:34px;padding:0 12px;font-size:.82rem}.secondary-link.disabled{color:#9aa0a6;cursor:default;background:#f8fafd;box-shadow:none}.text-link{color:#1a73e8;font-size:.88rem;font-weight:500;text-decoration:none}.text-link:hover{text-decoration:underline}.link-button{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;text-decoration:none}.list-shell{width:min(960px,100%)}.task-list{display:grid;gap:12px}.task-list-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #dadce0;border-radius:8px;color:inherit;text-decoration:none;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.task-list-item:hover{background:#f8fafd;border-color:#c7cdd6;box-shadow:0 1px 2px #3c404329}.task-list-item h2{margin-top:6px;font-size:1.08rem}.task-list-item .case-count{flex:0 0 auto;color:#5f6368;font-size:.82rem;font-weight:500}.task-list-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.task-number{color:#1a73e8;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8rem;font-weight:600}.status-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:700}.status-badge.answered{color:#5f6368;background:#f1f3f4}.status-badge.solved{color:#137333;background:#e6f4ea}.task-summary{margin-top:10px;color:#3c4043;font-size:.92rem;line-height:1.6}.task-note{margin-top:7px;color:#b06000;font-size:.82rem;font-weight:600}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(300px,38vh) minmax(320px,1fr);gap:16px;min-height:calc(100vh - 150px)}.editor-panel,.result-panel,.benchmark-panel,.task-statement,.task-constraints,.task-table,.solution-panel,.submission-history,.judge-panel{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border:1px solid #dadce0;border-radius:8px;background:#fff}.result-panel,.benchmark-panel{grid-column:1 / -1}.benchmark-error{padding:12px 14px;color:#b3261e;font-size:.84rem}.benchmark-table{min-width:1080px}.benchmark-table td,.benchmark-table th{white-space:nowrap}.benchmark-table td:last-child{min-width:280px;white-space:normal}.benchmark-column-heading{position:relative;display:inline-flex;align-items:center;gap:5px;cursor:help;outline-offset:3px}.benchmark-help-icon{display:inline-grid;width:16px;height:16px;place-items:center;border:1px solid #9aa0a6;border-radius:50%;color:#5f6368;font-size:.68rem;font-weight:600;line-height:1}.benchmark-column-heading:after{position:absolute;left:0;top:calc(100% + 7px);z-index:4;width:max-content;max-width:260px;padding:7px 9px;border-radius:4px;color:#fff;background:#3c4043;content:attr(data-tooltip);font-size:.75rem;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .1s ease,transform .1s ease;white-space:normal}.benchmark-column-heading:hover:after,.benchmark-column-heading:focus-visible:after{opacity:1;transform:translateY(0)}.benchmark-table th:nth-last-child(-n+2) .benchmark-column-heading:after{right:0;left:auto}.benchmark-table code{display:block;padding-left:8px;border-left:3px solid #9aa0a6;font-size:.76rem}.benchmark-table code.is-scan{border-left-color:#d93025}.benchmark-table code.is-search{border-left-color:#188038}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 14px;border-bottom:1px solid #dadce0;background:#f8fafd}.panel-heading span{color:#5f6368;font-size:.8rem;white-space:nowrap}.panel-heading-meta{display:flex;align-items:center;gap:12px}.input-format-toggle{display:inline-flex;overflow:hidden;border:1px solid #dadce0;border-radius:4px}.input-format-toggle button{min-width:48px;height:26px;padding:0 9px;border:0;border-right:1px solid #dadce0;border-radius:0;background:#fff;color:#5f6368;cursor:pointer;font-size:.72rem;font-weight:500}.input-format-toggle button:last-child{border-right:0}.input-format-toggle button.is-active{background:#e8f0fe;color:#1967d2}.input-format-toggle button:focus-visible{outline:2px solid #1a73e8;outline-offset:-2px}textarea{width:100%;flex:1;resize:none;border:0;outline:none;padding:16px;color:#202124;background:#fff;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;line-height:1.58}textarea:focus{box-shadow:inset 0 0 0 1px #1a73e8}.editor-input{position:relative;display:flex;min-height:0;flex:1}.editor-input textarea{height:100%}.sql-completions{position:absolute;z-index:20;right:12px;bottom:12px;width:min(380px,calc(100% - 24px));max-height:min(310px,calc(100% - 24px));margin:0;padding:4px;overflow-y:auto;border:1px solid #bdc1c6;border-radius:6px;background:#fff;box-shadow:0 4px 14px #3c40433d;list-style:none}.sql-completions li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:34px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:.82rem}.sql-completions li.is-active{background:#e8f0fe}.sql-completion-label{overflow:hidden;color:#202124;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sql-completion-detail{overflow:hidden;max-width:150px;color:#5f6368;text-overflow:ellipsis;white-space:nowrap}.sql-completion-kind{padding:2px 5px;border-radius:3px;color:#5f6368;background:#f1f3f4;font-size:.68rem;line-height:1.3}.sql-completion-kind.kind-table{color:#174ea6;background:#e8f0fe}.sql-completion-kind.kind-column{color:#137333;background:#e6f4ea}.result-content{flex:1;overflow:auto}.result-section{border-bottom:1px solid #dadce0}.result-section:last-child{border-bottom:0}.query-title{padding:12px 14px;color:#5f6368;background:#fff;border-bottom:1px solid #e8eaed;font-size:.86rem;line-height:1.45;word-break:break-word}.status-output{padding:14px;color:#137333;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88rem}.execution-metrics{padding:18px 16px 20px;border-top:1px solid #dadce0;background:#f8fafd}.execution-metrics-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.execution-metrics-heading h3,.query-plan h4{margin:0;color:#202124;font-size:.9rem;font-weight:500}.execution-metrics-heading span{color:#5f6368;font-size:.75rem}.metrics-grid{display:flex;flex-wrap:wrap;gap:10px;margin:0}.metric-item{min-width:150px;padding:10px 12px;border:1px solid #dadce0;border-radius:6px;background:#fff}.metric-item dt{color:#5f6368;cursor:help;font-size:.75rem}.metric-item dd{margin:5px 0 0;color:#202124;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1rem;font-weight:600}.metric-item.is-primary dd{color:#1967d2;font-size:1.2rem}.query-plan{margin-top:16px}.query-plan-lines{display:grid;gap:6px;margin-top:8px}.query-plan-lines code,.statement-sql{padding:9px 10px;border:1px solid #dadce0;border-radius:4px;background:#fff;color:#3c4043;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}.query-plan-lines code.is-scan{border-left:3px solid #d93025}.query-plan-lines code.is-search{border-left:3px solid #188038}.statement-metrics-list{display:grid;gap:8px;margin-top:16px}.statement-metrics-list details{border:1px solid #dadce0;border-radius:6px;background:#fff}.statement-metrics-list summary{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;color:#3c4043;cursor:pointer;font-size:.82rem}.statement-metrics-list summary strong{color:#1967d2;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.statement-metrics-list .statement-sql{display:block;margin:0 12px 12px}.statement-metrics-list .metrics-grid,.statement-metrics-list .query-plan{margin:0 12px 12px}.table-wrap{overflow:auto}.data-table-result{min-width:0}.table-copy-action{position:relative;display:flex;min-height:42px;align-items:center;justify-content:flex-end;gap:10px;padding:5px 10px;border-bottom:1px solid #e8eaed;background:#fff}.copy-image-button{position:relative;display:inline-grid;width:32px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:1px solid transparent;background:transparent;color:#5f6368;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.copy-image-button:hover:not(:disabled),.copy-image-button:focus-visible{border-color:#dadce0;background:#f8fafd;color:#1a73e8}.copy-image-button:focus-visible{outline:2px solid rgba(26,115,232,.35);outline-offset:1px}.copy-image-button:disabled{cursor:wait;opacity:.55}.copy-image-button.is-success{color:#137333}.copy-image-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.copy-image-button:after{position:absolute;right:0;top:calc(100% + 7px);z-index:2;width:max-content;padding:5px 8px;border-radius:4px;color:#fff;background:#3c4043;content:attr(data-tooltip);font-size:.75rem;line-height:1.2;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .1s ease,transform .1s ease}.copy-image-button:hover:after,.copy-image-button:focus-visible:after{opacity:1;transform:translateY(0)}.copy-feedback{color:#5f6368;font-size:.78rem;line-height:1.3}.copy-feedback.success{color:#137333}.copy-feedback.error{color:#b3261e}.table-image-stage{position:fixed;top:0;left:-100000px;z-index:-1;opacity:0;pointer-events:none}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{max-width:420px;padding:11px 14px;border-bottom:1px solid #e8eaed;text-align:left;vertical-align:top;word-break:break-word}th{position:sticky;top:0;background:#f8fafd;color:#3c4043;font-weight:500}.error-output{margin:0;overflow:auto;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88rem;line-height:1.55;white-space:pre-wrap}.error-output{color:#b3261e;background:#fce8e6;border-bottom:1px solid #f4c7c3}.empty-state{display:grid;flex:1;place-items:center;padding:32px;color:#5f6368;text-align:center}.empty-state.compact{min-height:120px}.empty-state.page{min-height:calc(100vh - 64px)}.task-shell{width:min(1260px,100%)}.task-nav,.task-bottom-nav{display:flex;align-items:center;justify-content:space-between;gap:16px}.task-nav{margin-bottom:18px}.task-bottom-nav{margin-top:18px;padding-top:18px;border-top:1px solid #e8eaed}.task-nav-pager{display:flex;align-items:center;gap:10px}.task-position{min-width:54px;color:#5f6368;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;text-align:center}.task-actions{display:flex;flex-wrap:wrap;gap:10px}.user-chip{margin-top:8px;color:#5f6368;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem}.task-details{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:16px;margin-bottom:16px}.task-statement{min-height:180px}.task-table{grid-column:1 / -1}.input-table-list{display:grid;gap:14px;padding:14px}.input-table-item{overflow:hidden;border:1px solid #e8eaed;border-radius:6px}.input-table-name{padding:10px 12px;border-bottom:1px solid #e8eaed;background:#fff;color:#3c4043;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.84rem;font-weight:600}.task-copy{padding:18px}.task-copy h3,.case-heading h3{margin:0;color:#202124;font-size:1rem;font-weight:500;letter-spacing:0}.task-copy p{margin-top:12px;color:#3c4043;font-size:.95rem;line-height:1.7}.task-constraints dl{margin:0;padding:6px 0}.task-constraints div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid #e8eaed}.task-constraints div:last-child{border-bottom:0}.task-constraints dt{color:#5f6368;font-size:.82rem;font-weight:500}.task-constraints dd{margin:0;color:#202124;font-size:.86rem;line-height:1.45}.task-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(360px,42vh) auto minmax(320px,1fr) minmax(260px,auto) minmax(260px,auto);gap:16px;min-height:980px}.answer-editor{grid-column:1 / -1;border-color:#1a73e8;box-shadow:0 1px 2px #3c404333,0 0 0 1px #1a73e82e}.answer-editor .panel-heading{border-bottom-color:#c6dafc;background:#f1f6fe}.answer-editor .panel-heading h2{color:#174ea6;font-size:1rem;font-weight:600}.answer-editor .panel-heading span{color:#1a73e8;font-weight:500}.answer-editor textarea{background:#fff;font-size:1rem;line-height:1.65}.solution-panel,.submission-history,.task-workspace .result-panel{grid-column:1 / -1}.solution-summary{display:flex;min-height:44px;align-items:center;gap:9px;padding:10px 14px;color:#202124;background:#f8fafd;cursor:pointer;font-size:.95rem;font-weight:600;list-style:none}.solution-summary::-webkit-details-marker{display:none}.solution-summary:before{color:#5f6368;content:"›";font-size:1.25rem;line-height:1;transition:transform .12s ease}.solution-panel[open] .solution-summary{border-bottom:1px solid #dadce0}.solution-panel[open] .solution-summary:before{transform:rotate(90deg)}.solution-summary:hover{background:#f1f3f4}.solution-summary:focus-visible{outline:2px solid #1a73e8;outline-offset:-2px}.solution-actions{display:flex;min-height:40px;align-items:center;justify-content:space-between;padding:6px 14px;border-bottom:1px solid #e8eaed;color:#5f6368;font-size:.78rem}.judge-panel{grid-column:1 / -1;min-height:260px}.history-list{display:grid;gap:0;overflow:auto}.history-item{border-bottom:1px solid #e8eaed}.history-item:last-child{border-bottom:0}.history-item-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}.history-item-heading div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.history-item-heading time{color:#5f6368;font-size:.8rem}.history-query{max-height:180px;margin:0;overflow:auto;padding:0 14px 14px;color:#202124;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.84rem;line-height:1.55;white-space:pre-wrap}.case-list{overflow:auto}.case-item{padding:14px;border-bottom:1px solid #e8eaed}.case-item:last-child{border-bottom:0}.case-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:700}.badge.accepted{color:#137333;background:#e6f4ea}.badge.failed{color:#b3261e;background:#fce8e6}.comparison-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.comparison-label{margin-bottom:8px;color:#5f6368;font-size:.8rem;font-weight:500}.error-output.inline{border:1px solid #f4c7c3;border-radius:4px}.admin-shell{width:min(1320px,100%)}.admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.event-task-editor{overflow:hidden;margin-bottom:16px;border:1px solid #dadce0;border-radius:8px}.event-task-list{margin:0;padding:0;list-style:none}.event-task-list li{display:grid;grid-template-columns:30px 54px minmax(180px,1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e8eaed}.event-task-position{color:#5f6368;font-family:SFMono-Regular,Consolas,monospace}.event-task-actions,.event-task-add,.event-task-save{display:flex;align-items:center;gap:8px}.event-task-add,.event-task-save{padding:14px}.event-task-add select{min-width:0;min-height:38px;flex:1;padding:7px 9px;border:1px solid #dadce0;border-radius:4px;background:#fff}.secondary-button.compact{min-height:32px;padding:4px 9px}.secondary-button.danger{color:#b3261e}.save-success{color:#137333;font-size:.86rem;font-weight:600}@media(max-width:760px){.event-task-list li{grid-template-columns:30px 50px minmax(0,1fr) auto}.event-task-actions{grid-column:2 / -1}}.admin-summary div{display:flex;min-height:76px;flex-direction:column;justify-content:center;gap:6px;border:1px solid #dadce0;border-radius:8px;padding:14px;background:#fff}.admin-summary span{color:#5f6368;font-size:.78rem;font-weight:500}.admin-summary strong{color:#202124;font-size:1.35rem;font-weight:500}.admin-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);gap:16px;align-items:start}.admin-table-panel,.admin-detail,.solution-check-panel{overflow:hidden;border:1px solid #dadce0;border-radius:8px;background:#fff}.solution-check-panel{margin-bottom:16px}.admin-table-panel{display:flex;min-height:0;flex-direction:column;max-height:calc(100vh - 210px)}.admin-table-panel .table-wrap{flex:1;min-height:0}.admin-table-panel tbody tr{cursor:pointer}.admin-table-panel tbody tr:hover,.admin-table-panel tbody tr.selected-row{background:#f1f6fe}.submission-meta{margin:0;padding:6px 0}.submission-meta div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid #e8eaed}.submission-meta dt{color:#5f6368;font-size:.78rem;font-weight:500}.submission-meta dd{margin:0;color:#202124;font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}.admin-detail .benchmark-panel{border:0;border-top:1px solid #e8eaed;border-radius:0}.sql-preview{max-height:300px;margin:0;overflow:auto;padding:14px;border-bottom:1px solid #e8eaed;color:#202124;background:#f8fafd;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.86rem;line-height:1.55;white-space:pre-wrap}.admin-cases{padding:14px}@media(max-width:860px){.app-shell{padding:18px}.app-header{align-items:flex-start;flex-direction:column}.run-button,.task-actions{width:100%}.task-nav,.task-bottom-nav{align-items:stretch;flex-direction:column}.task-nav-pager{width:100%}.task-nav-pager .secondary-link{flex:1}.task-bottom-nav .secondary-link,.task-bottom-nav .run-button{width:100%}.task-actions .run-button,.task-actions .secondary-button{flex:1}.workspace{grid-template-columns:1fr;grid-template-rows:300px 300px minmax(360px,1fr)}.result-panel,.task-table{grid-column:auto}.task-details,.task-workspace,.comparison-grid{grid-template-columns:1fr}.task-workspace{grid-template-rows:380px auto 280px 320px 260px;min-height:auto}.answer-editor,.solution-panel,.submission-history,.task-workspace .result-panel,.judge-panel{grid-column:auto}.admin-summary,.admin-workspace{grid-template-columns:1fr}.admin-table-panel{max-height:none}.task-list-item{align-items:flex-start;flex-direction:column}}
