@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2)format("woff2");font-style:normal;font-weight:45 920;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--white:#fff;--ink:#07142f;--muted:#5c687c;--faint:#637086;--line:#dbe2ec;--line-strong:#b9c5d5;--surface:#f7f9fc;--blue:#075df5;--blue-deep:#004bd3;--blue-soft:#eff5ff;--green:#17720f;--purple:#7046e8;--teal:#006b76;--orange:#aa4300;--red:#ad2b20;--shadow-dialog:0 24px 80px #07142f33;--radius-sm:8px;--radius:12px;--page-gutter:clamp(22px, 3.2vw, 52px);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--white);min-width:320px;min-height:100vh;color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #075df53d}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--white);width:min(100%,1600px);min-height:100vh;margin:0 auto}.site-header{z-index:20;height:68px;padding:0 var(--page-gutter);border-bottom:1px solid var(--line);background:#fffffff5;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.wordmark{width:max-content;color:var(--ink);letter-spacing:-.035em;font-size:25px;font-weight:730}.wordmark span{color:var(--blue)}.header-nav{align-items:center;gap:48px;display:flex}.header-nav a,.header-nav button{color:#1e2b40;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:14px;font-weight:650;position:relative}.header-nav a:after,.header-nav button:after{content:"";background:var(--blue);height:2px;transition:transform .18s;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0)}.header-nav a:hover:after,.header-nav button:hover:after{transform:scaleX(1)}.header-actions{justify-self:end;align-items:center;gap:10px;display:flex}.login-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;align-items:center;gap:7px;min-height:40px;padding:0 18px;font-size:13px;font-weight:650;transition:border-color .16s,background .16s;display:flex}.login-button svg{width:16px;height:16px}.login-button:hover{border-color:var(--ink);background:var(--surface)}.mobile-menu-button,.mobile-search-link{display:none}main{padding:0 var(--page-gutter)}.hero{padding:34px 0 8px}.hero-copy{max-width:900px}.hero h1{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(38px,4.05vw,64px);font-weight:740;line-height:1.16}.mobile-title-break{display:none}.hero p{color:#334158;letter-spacing:-.02em;margin:16px 0 0;font-size:clamp(15px,1.28vw,18px);line-height:1.65}.search-form{grid-template-columns:24px 1fr auto;align-items:center;gap:12px;width:min(100%,1030px);min-height:54px;margin-top:20px;display:grid}.search-form>svg{z-index:1;color:#657188;grid-area:1/1;width:20px;margin-left:16px}.search-form input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--white);width:100%;height:54px;color:var(--ink);grid-area:1/1/auto/3;padding:0 18px 0 49px;font-size:15px;transition:border-color .16s,box-shadow .16s}.search-form input::placeholder{color:#7c8798}.search-form input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #075df51a}.search-form button{border:1px solid var(--blue);border-radius:var(--radius-sm);background:var(--blue);color:#fff;cursor:pointer;min-width:112px;height:54px;font-size:15px;font-weight:700;transition:background .16s,transform .16s}.search-form button:hover{background:var(--blue-deep)}.search-form button:active{transform:translateY(1px)}.filter-rail{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);grid-template-columns:1.45fr 1.2fr .95fr .88fr .72fr;margin-top:8px;display:grid;position:relative}.filter-scroll{display:contents}.filter-group{border-right:1px solid var(--line);min-width:0;padding:17px 20px 18px}.filter-group label,.filter-group .filter-label{color:#2a3649;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.organizer-filter-button{background:var(--surface);width:100%;min-height:38px;color:var(--ink);cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:13px;font-weight:650;display:flex;overflow:hidden}.organizer-filter-button:hover,.organizer-filter-button.is-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.organizer-filter-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.organizer-filter-button svg{flex:none;width:16px}.filter-group select{background-color:var(--surface);width:100%;min-height:38px;color:var(--ink);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:0 34px 0 12px;font-size:13px;font-weight:650}.filter-group select:hover{border-color:var(--line-strong)}.desktop-options{align-items:center;gap:4px;display:flex}.desktop-options button{color:#46546a;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:5px;min-height:34px;padding:0 9px;font-size:11px;font-weight:620;transition:color .14s,background .14s}.desktop-options button:hover{background:var(--surface);color:var(--ink)}.desktop-options button.is-active{background:var(--blue);color:var(--white);font-weight:720}.mobile-filter-select{display:none}.filter-summary{border-top:1px solid var(--line);min-height:42px;color:var(--muted);grid-column:1/-1;align-items:center;gap:8px;padding:0 14px;font-size:12px;display:flex}.filter-summary>svg{width:16px}.filter-summary button{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-left:0;font-size:12px;font-weight:650;display:flex}.filter-summary .saved-filter{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:6px 10px}.filter-summary>.saved-filter:first-of-type{margin-left:auto}.filter-summary .saved-filter:hover,.filter-summary .saved-filter.is-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.filter-summary .reset-filter{padding:6px 8px}.filter-summary button svg{width:14px}.filter-summary button:disabled{color:var(--faint);cursor:default}.competition-section{padding:26px 0 0}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.section-heading-main{align-items:baseline;gap:14px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:clamp(21px,2vw,28px);font-weight:700;line-height:1.36}.section-heading span{color:var(--blue);font-size:14px;font-weight:760}.section-heading-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.section-heading-actions p{color:var(--faint);margin:0;font-size:11px}.view-switcher{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:3px;display:inline-flex}.view-switcher button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:680;display:inline-flex}.view-switcher button:hover{color:var(--ink)}.view-switcher button.is-active{background:var(--white);color:var(--blue);box-shadow:0 1px 4px #07142f1a}.view-switcher svg{width:15px;height:15px}.section-heading .data-source-badge{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;margin-right:7px;padding:3px 7px;font-size:9px;line-height:1.4;display:inline-flex}.section-heading .data-source-badge.is-live{color:#1b6b23;background:#f1fbf2;border-color:#afd6b2}.source-status-panel{border:1px solid var(--line);background:var(--white);border-radius:10px;margin:0 0 18px}.source-status-panel summary{min-height:48px;color:var(--muted);cursor:pointer;padding:15px 16px}.source-status-title{color:var(--ink);align-items:center;gap:8px;margin-right:12px;font-size:12px;font-weight:720;display:inline-flex}.source-status-title svg{width:16px;height:16px;color:var(--blue)}.source-status-summary{font-size:10px}.source-status-grid{border-top:1px solid var(--line);max-height:340px;overflow:auto}.source-status-row{min-height:44px;color:var(--muted);border-bottom:1px solid #eef1f5;grid-template-columns:minmax(170px,1fr) 74px 82px 152px;align-items:center;gap:10px;padding:7px 16px;font-size:10px;display:grid}.source-status-row:last-child{border-bottom:0}.source-status-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.source-status-label{color:#24712e;background:#eff8f0;border-radius:999px;width:fit-content;padding:2px 7px;font-weight:700}.source-status-label.is-error{color:#a92e37;background:#fff0f1}.source-status-label.is-stale{color:#986114;background:#fff7e8}.source-status-label.is-monitoring{color:#4f6790;background:#f0f4fb}.source-status-row time{text-align:right}.competition-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.competition-list{border-top:1px solid var(--line);min-width:0}.list-header{color:#607086;grid-template-columns:132px minmax(240px,1.7fr) minmax(112px,.8fr) 96px 82px 98px 46px 46px;align-items:center;min-height:44px;font-size:11px;font-weight:650;display:grid}.list-header>span{padding:0 10px}.competition-row{border-top:1px solid var(--line);background:var(--white);grid-template-columns:minmax(0,1fr) 46px 46px;min-height:75px;transition:background .15s,box-shadow .15s;display:grid;position:relative}.competition-row:last-child{border-bottom:1px solid var(--line)}.competition-row:hover{background:#fbfcff}.competition-row.is-selected{z-index:1;background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue), 0 0 0 1px #075df5b8;border-color:#075df5a8}.competition-main{text-align:left;cursor:pointer;background:0 0;border:0;grid-column:1;grid-template-columns:132px minmax(240px,1.7fr) minmax(112px,.8fr) 96px 82px 98px;align-items:center;min-width:0;padding:0;text-decoration:none;display:grid}.competition-main>span{color:#314056;text-overflow:ellipsis;min-width:0;padding:9px 10px;font-size:12px;overflow:hidden}.competition-main .type-label{white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:720;display:flex}.type-label svg{stroke-width:1.9px;width:17px;height:17px}.type-ps{color:var(--blue)!important}.type-hackathon{color:var(--purple)!important}.type-ai-data{color:var(--teal)!important}.type-game{color:var(--orange)!important}.type-security{color:var(--red)!important}.competition-title strong,.competition-title small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.competition-title strong{color:var(--ink);letter-spacing:-.025em;font-size:14px;font-weight:720}.competition-title small{color:#6f7b8e;margin-top:6px;font-size:10px}.organizer{white-space:nowrap;line-height:1.45}.deadline-cell strong,.deadline-cell small{display:block}.deadline-kind{color:var(--blue);white-space:nowrap;margin-bottom:3px;font-size:9px;font-weight:720;display:block}.deadline-kind.is-start{color:#6b5ca5}.deadline-cell strong{color:var(--green);font-size:15px;font-weight:760}.deadline-cell small{color:#718096;margin-top:4px;font-size:10px}.row-action{color:#44536a;cursor:pointer;background:0 0;border:0;place-items:center;width:46px;min-height:100%;transition:color .15s,background .15s;display:grid}.row-action svg{stroke-width:1.8px;width:17px;height:17px}.row-action:hover,.row-action.is-active{color:var(--blue);background:#075df50f}.row-action.external{color:var(--blue)}.mobile-expanded-detail{display:none}.competition-detail{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);position:sticky;top:20px;overflow:hidden}.detail-topline{justify-content:space-between;align-items:center;gap:10px;padding:20px 20px 10px;display:flex}.detail-topline .type-label{align-items:center;gap:6px;font-size:11px;font-weight:720;display:flex}.detail-topline .type-label span{letter-spacing:-.045em;font-size:10px}.source-freshness{color:var(--faint);white-space:nowrap;font-size:9px}.detail-heading{grid-template-columns:1fr auto;align-items:start;gap:12px;padding:4px 20px 18px;display:grid}.detail-heading h3{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:19px;font-weight:680;line-height:1.48}.icon-button{color:#47566c;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover,.icon-button.is-active{background:var(--blue-soft);color:var(--blue)}.icon-button svg{stroke-width:1.8px;width:19px}.deadline-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:15px 20px;display:grid}.deadline-summary span{color:#47566b;align-items:center;gap:8px;font-size:12px;display:flex}.deadline-summary span svg{stroke-width:1.8px;width:16px}.deadline-summary strong{color:var(--green);font-size:18px}.deadline-summary time{color:var(--muted);text-align:right;grid-column:1/-1;font-size:10px}.detail-list{margin:0;padding:0 20px}.detail-list>div{border-bottom:1px solid var(--line);grid-template-columns:105px 1fr;align-items:start;gap:10px;padding:13px 0;display:grid}.detail-list dt{color:#4d5b70;align-items:center;gap:8px;font-size:11px;display:flex}.detail-list dt svg{stroke-width:1.8px;width:15px;min-width:15px}.detail-list dd{color:#2e3b50;text-align:right;margin:0;font-size:11px;line-height:1.55}.detail-list .tag-row dd{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.tag-row dd span{border:1px solid var(--line-strong);background:var(--white);color:#46546a;border-radius:999px;padding:3px 7px;font-size:9px}.detail-summary{color:#516077;margin:0;padding:16px 20px;font-size:11px;line-height:1.65}.detail-actions{grid-template-columns:1fr 1fr;gap:8px;margin:0 20px 10px;display:grid}.detail-actions button{border:1px solid var(--line-strong);background:var(--white);color:#334158;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:40px;font-size:11px;font-weight:680;display:flex}.detail-actions button:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.detail-actions svg{width:15px}.official-link{background:var(--blue);min-height:49px;color:var(--white);border-radius:6px;justify-content:center;align-items:center;gap:9px;margin:0 20px;font-size:13px;font-weight:700;transition:background .16s;display:flex}.official-link:hover{background:var(--blue-deep)}.official-link svg{stroke-width:1.9px;width:17px}.source-note{color:var(--faint);text-align:center;margin:10px 20px 16px;font-size:9px}.empty-state{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:330px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state>span{color:var(--blue);font-family:monospace;font-size:40px}.empty-state h3{color:var(--ink);margin:16px 0 6px;font-size:18px}.empty-state p{margin:0;font-size:13px}.subscribe-strip{border-radius:var(--radius);background:linear-gradient(90deg,#f7faff 0%,#fff 72%);border:1px solid #c7d9f8;justify-content:space-between;align-items:center;gap:32px;min-height:102px;margin:28px 0 0;padding:20px 30px;display:flex}.subscribe-copy{align-items:center;gap:18px;display:flex}.subscribe-icon{background:var(--blue);width:48px;height:48px;color:var(--white);border-radius:50%;flex:none;place-items:center;display:grid}.subscribe-icon svg{width:23px}.subscribe-copy h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:17px}.subscribe-copy p{color:var(--muted);margin:6px 0 0;font-size:11px}.utility-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.utility-actions button,.calendar-footer button{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex}.utility-actions .secondary-action,.calendar-footer .secondary-action{border-color:var(--line-strong);background:var(--white);color:#334158}.utility-actions button:hover,.calendar-footer button:hover{background:var(--blue-deep);color:var(--white)}.utility-actions button:disabled,.calendar-footer button:disabled{border-color:var(--line);background:var(--surface);color:var(--faint);cursor:not-allowed}.utility-actions svg,.calendar-footer svg{width:16px}footer{margin:42px var(--page-gutter) 0;border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:26px 0 34px;display:grid}.footer-wordmark{font-size:18px}footer p{color:var(--faint);margin:0;font-size:10px}.footer-copy{min-width:0}.footer-copy nav{gap:14px;margin-top:7px;display:flex}.footer-copy nav a{color:var(--muted);text-underline-offset:3px;font-size:10px;text-decoration:underline}footer button{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:underline}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#060f227a;place-items:center;padding:22px;animation:.15s both fade-in;display:grid;position:fixed;inset:0}.dialog{background:var(--white);width:min(100%,590px);max-height:min(84vh,760px);box-shadow:var(--shadow-dialog);border-radius:14px;animation:.18s both dialog-in;overflow:auto}.dialog-heading{z-index:1;border-bottom:1px solid var(--line);background:#fffffff7;justify-content:space-between;align-items:start;gap:20px;padding:24px 26px 20px;display:flex;position:sticky;top:0}.dialog-heading h2{letter-spacing:-.04em;margin:0;font-size:23px}.dialog-heading p{color:var(--muted);margin:7px 0 0;font-size:12px}.dialog-heading>button{background:var(--surface);cursor:pointer;border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.dialog-heading button svg{width:19px}.organizer-filter-dialog{padding:20px 26px 24px}.organizer-search{position:relative}.organizer-search svg{width:18px;color:var(--faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.organizer-search input{border:1px solid var(--line-strong);background:var(--white);border-radius:8px;width:100%;height:46px;padding:0 14px 0 42px}.organizer-search input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #075df51a}.organizer-result-count{color:var(--faint);margin:8px 2px 12px;font-size:11px}.favorite-organizer-filter{border:1px solid var(--line);min-height:42px;color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:9px;margin-bottom:10px;padding:0 12px;font-size:12px;font-weight:650;display:flex}.favorite-organizer-filter.is-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.favorite-organizer-filter:has(input:disabled){opacity:.6;cursor:default}.organizer-options{border:1px solid var(--line);border-radius:8px;max-height:min(44vh,390px);margin:0;padding:0;overflow-y:auto}.organizer-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;min-height:48px;display:grid}.organizer-row:last-child{border-bottom:0}.organizer-row>label{cursor:pointer;align-items:center;gap:10px;min-width:0;padding:9px 12px;font-size:12px;display:flex}.organizer-row>label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.organizer-favorite{border:0;border-left:1px solid var(--line);color:var(--faint);cursor:pointer;background:0 0;place-items:center;display:grid}.organizer-favorite:hover,.organizer-favorite.is-active{color:#a86700;background:#fff9e8}.organizer-favorite svg{width:18px}.organizer-empty{color:var(--muted);text-align:center;margin:0;padding:36px 18px;font-size:12px}.organizer-preference-note{color:var(--faint);margin:12px 2px 0;font-size:10px;line-height:1.6}.organizer-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin:18px -26px -24px;padding:18px 26px 24px;display:flex}.organizer-footer button{border:1px solid var(--blue);background:var(--blue);min-width:108px;min-height:44px;color:var(--white);cursor:pointer;border-radius:8px;font-size:12px;font-weight:700}.organizer-footer .secondary-action{border-color:var(--line-strong);background:var(--white);color:var(--muted)}.organizer-footer button:disabled{opacity:.45;cursor:default}.calendar-view-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.competition-calendar{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);min-width:0;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;min-height:66px;padding:11px 14px;display:grid}.calendar-navigation{align-items:center;gap:5px;display:flex}.calendar-navigation button{border:1px solid var(--line);background:var(--white);min-width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:650;display:inline-flex}.calendar-navigation button:hover{border-color:var(--blue);color:var(--blue)}.calendar-navigation svg{width:16px}.calendar-toolbar h3{letter-spacing:-.03em;text-align:center;white-space:nowrap;margin:0;font-size:18px}.calendar-toolbar h3 span{color:var(--faint);letter-spacing:0;margin-top:3px;font-size:9px;font-weight:600;display:block}.calendar-legend{justify-self:end;align-items:center;gap:6px;display:flex}.calendar-kind{border-radius:4px;flex:none;justify-content:center;align-items:center;padding:2px 5px;font-size:9px;font-weight:750;line-height:1.35;display:inline-flex}.calendar-kind.kind-application{color:var(--green);background:#eaf7ec}.calendar-kind.kind-start{background:var(--blue-soft);color:var(--blue)}.month-calendar-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.month-calendar{table-layout:fixed;border-spacing:0;border-collapse:separate;width:100%;min-width:760px}.month-calendar th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:36px;color:var(--faint);font-size:10px;font-weight:700}.month-calendar th:first-child{color:var(--red)}.month-calendar th:last-child{color:var(--blue);border-right:0}.month-calendar td{vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);height:124px;padding:0 6px 6px;position:relative}.month-calendar tr:last-child td{border-bottom:0}.month-calendar td:last-child{border-right:0}.month-calendar td.is-outside-month{background:#fafbfd}.month-calendar td.is-selected{background:var(--blue-soft);box-shadow:inset 0 0 0 2px #075df573}.calendar-day-button{width:100%;min-height:34px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:5px 2px 3px;display:flex}.calendar-day-button time{border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-weight:700;display:grid}.is-outside-month .calendar-day-button{color:#99a3b2}.is-today .calendar-day-button time{background:var(--blue);color:var(--white)}.calendar-day-button small{color:var(--blue);font-size:9px;font-weight:700}.calendar-cell-events,.calendar-day-agenda ul{margin:0;padding:0;list-style:none}.calendar-cell-events{gap:4px;display:grid}.calendar-event{background:var(--surface);width:100%;min-height:27px;color:var(--ink);text-align:left;cursor:pointer;border:0;border-left:3px solid;border-radius:4px;align-items:center;gap:5px;padding:3px 5px;display:flex;overflow:hidden}.calendar-event:hover,.calendar-event[aria-pressed=true]{background:#e4edff}.calendar-event span{text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:650;overflow:hidden}.calendar-overflow{min-height:24px;color:var(--blue);cursor:pointer;background:0 0;border:0;margin-top:3px;padding:0 3px;font-size:9px;font-weight:700}.calendar-month-empty{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin:0;padding:18px;font-size:12px}.calendar-day-agenda{border-top:1px solid var(--line)}.calendar-day-agenda-heading{padding:16px 18px 10px}.calendar-day-agenda h4{letter-spacing:-.02em;margin:0;font-size:14px}.calendar-day-agenda h4 span{color:var(--blue);margin-left:8px;font-size:11px}.calendar-day-agenda ul{padding:0 12px 12px}.calendar-day-agenda li+li{border-top:1px solid var(--line)}.calendar-day-agenda li>button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(150px,1fr) minmax(100px,.42fr) auto;align-items:center;gap:9px;width:100%;min-height:48px;padding:8px 6px;display:grid}.calendar-day-agenda li>button:hover,.calendar-day-agenda li>button[aria-pressed=true]{background:var(--blue-soft)}.calendar-day-agenda strong,.calendar-day-agenda li>button>span:nth-of-type(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-day-agenda strong{font-size:12px}.calendar-day-agenda li>button>span:nth-of-type(2),.calendar-day-agenda time{color:var(--muted);font-size:10px}.calendar-day-empty{color:var(--muted);text-align:center;margin:0;padding:18px;font-size:11px}.calendar-agenda{padding:8px 26px 26px}.calendar-agenda a{border-bottom:1px solid var(--line);grid-template-columns:105px 1fr 24px;align-items:center;gap:15px;min-height:74px;display:grid}.calendar-agenda a:hover strong{color:var(--blue)}.calendar-agenda time{color:var(--blue);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.calendar-agenda time svg{width:16px}.calendar-agenda span{min-width:0}.calendar-agenda small,.calendar-agenda strong{display:block}.calendar-agenda small{color:var(--faint);margin-bottom:4px;font-size:9px}.calendar-agenda strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.calendar-agenda>a>svg{width:16px;color:var(--blue)}.calendar-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:18px 26px 24px;display:flex}.submission-form{flex-direction:column;padding:24px 26px 28px;display:flex}.submission-form label{color:var(--ink);margin:16px 0 8px;font-size:12px;font-weight:700}.submission-form label:first-child{margin-top:0}.input-with-icon{position:relative}.input-with-icon svg{width:17px;color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.submission-form input,.submission-form textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);border-radius:8px}.submission-form input{height:48px;padding:0 14px 0 43px}.submission-form textarea{resize:vertical;padding:13px 14px;line-height:1.55}.submission-form>button,.dialog-success button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:48px;margin-top:22px;font-size:13px;font-weight:700}.submission-form>button{justify-content:center;align-items:center;gap:8px;display:flex}.submission-form>button svg{width:17px}.form-note{color:var(--faint);margin:12px 0 0;font-size:10px;line-height:1.6}.dialog-success{text-align:center;padding:38px 30px 30px}.dialog-success>svg{width:52px;height:52px;color:var(--green);stroke-width:1.7px}.dialog-success h3{margin:16px 0 7px;font-size:18px}.dialog-success p{max-width:410px;color:var(--muted);margin:0 auto;font-size:12px;line-height:1.7}.dialog-success button{width:100%}.dialog-primary-link{background:var(--blue);min-height:48px;color:var(--white);border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:13px;font-weight:700;display:flex}.dialog-primary-link svg{width:18px}.dialog-success .secondary-action{border:1px solid var(--line-strong);background:var(--white);color:var(--muted);margin-top:9px}.toast{z-index:120;color:#215c29;background:#f5fff6;border:1px solid #b9d5bd;border-radius:10px;align-items:center;gap:10px;max-width:min(420px,100vw - 40px);padding:14px 17px;font-size:12px;line-height:1.45;animation:.2s both toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 35px #07142f24}.toast svg{flex:none;width:18px}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@media (width<=1280px){.competition-layout,.calendar-view-layout{grid-template-columns:minmax(0,1fr) 326px;gap:18px}.list-header,.competition-main{grid-template-columns:118px minmax(210px,1.6fr) minmax(100px,.75fr) 88px 74px 88px}.competition-main>span,.list-header>span{padding-left:7px;padding-right:7px}}@media (width<=1080px){.competition-layout,.calendar-view-layout{display:block}.calendar-view-layout>.competition-detail{margin-top:18px;position:static}.competition-layout>.competition-detail{display:none}.mobile-expanded-detail{background:var(--white);border-top:1px solid #075df538;grid-column:1/-1;display:block}.competition-row.is-selected{box-shadow:inset 3px 0 0 var(--blue)}.mobile-meta{display:none}.competition-detail.is-mobile{border:0;border-radius:0;position:static}.competition-detail.is-mobile .detail-heading{padding-top:9px}.competition-detail.is-mobile .detail-list{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.competition-detail.is-mobile .official-link{margin-bottom:0}}@media (width<=860px){:root{--page-gutter:20px}.site-header{grid-template-columns:1fr auto;height:72px}.wordmark{font-size:24px}.header-actions{grid-column:2}.login-button{display:none}.mobile-search-link,.mobile-menu-button{background:0 0;border:0;border-radius:7px;place-items:center;width:42px;height:42px;display:grid}.mobile-search-link svg,.mobile-menu-button svg{stroke-width:2px;width:25px;height:25px}.header-nav{padding:8px var(--page-gutter) 16px;border-bottom:1px solid var(--line);background:var(--white);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:71px;left:0;right:0;box-shadow:0 14px 30px #07142f14}.header-nav.is-open{display:flex}.header-nav a,.header-nav button{text-align:left;min-height:48px}.hero{padding-top:38px}.hero h1{max-width:620px;font-size:clamp(31px,8.2vw,42px);line-height:1.25}.hero p{max-width:560px;margin-top:17px;font-size:15px;line-height:1.8}.search-form{grid-template-columns:24px 1fr 76px}.search-form input{grid-column:1/4;padding-right:88px}.search-form button{z-index:1;grid-area:1/3;min-width:0;height:42px;margin-right:6px}.filter-rail{border-radius:8px;display:block}.filter-scroll{scrollbar-width:none;overscroll-behavior-inline:contain;display:flex;overflow-x:auto}.filter-scroll::-webkit-scrollbar{display:none}.filter-group{border-right:1px solid var(--line);border-bottom:0;flex:0 0 126px;padding:11px 10px 12px}.filter-group:last-child{border-right:0}.filter-group label,.filter-group .filter-label{margin-bottom:6px;font-size:10px}.filter-group select{background:var(--white);border-color:var(--line);min-height:42px;font-size:12px;display:block}.organizer-filter-button{border-color:var(--line);background:var(--white);min-height:42px;font-size:12px}.desktop-options{display:none}.mobile-title-break{display:block}.filter-summary{flex-wrap:wrap;padding-top:6px;padding-bottom:6px;display:flex}.competition-section{padding-top:36px}.section-heading{align-items:center;margin-bottom:12px}.section-heading h2{font-size:22px}.section-heading-actions p{display:none}.source-status-row{grid-template-columns:minmax(130px,1fr) 70px 76px}.source-status-row time{display:none}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar h3{grid-area:1/1/auto/-1}.calendar-navigation,.calendar-legend{grid-row:2}.month-calendar{min-width:100%}.month-calendar td{height:96px;padding:0 3px 4px}.calendar-event{border-left-width:0;justify-content:center;min-height:24px;padding:2px}.calendar-event span{display:none}.calendar-overflow{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.calendar-day-agenda li>button{grid-template-columns:auto minmax(120px,1fr) auto}.calendar-day-agenda li>button>span:nth-of-type(2),.list-header{display:none}.competition-list{border-top:0}.competition-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 46px 46px;min-height:112px}.competition-row:last-child{border-bottom:1px solid var(--line)}.competition-row.is-selected{border-color:var(--line);background:var(--white);box-shadow:none}.competition-main{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;min-height:112px;padding:18px 0}.competition-main>span{padding:0}.competition-main .type-label{border-radius:5px;grid-area:1/1;align-self:start;padding:5px 8px;font-size:10px;color:#fff!important}.competition-main .type-label svg{display:none}.competition-main .type-ps{background:var(--blue)}.competition-main .type-hackathon{background:var(--purple)}.competition-main .type-ai-data{background:var(--teal)}.competition-main .type-game{background:var(--orange)}.competition-main .type-security{background:var(--red)}.competition-title{grid-area:1/2;align-self:start}.competition-title strong{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.5;display:-webkit-box;overflow:hidden}.competition-title small{display:none}.competition-main .organizer{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:2/1/auto/3;font-size:11px;display:block;overflow:hidden}.competition-main>span:nth-child(4),.competition-main>span:nth-child(5){display:none}.deadline-cell{grid-area:1/3;align-self:start}.deadline-cell strong{white-space:nowrap;font-size:15px}.deadline-kind{margin-bottom:2px;font-size:8px}.deadline-cell small{display:none}.row-action{align-self:start;min-height:64px;margin-top:8px}.row-action svg{width:20px;height:20px}.mobile-meta{color:var(--muted);flex-wrap:wrap;gap:10px 16px;padding:16px 0;font-size:10px;display:flex}.mobile-meta span{align-items:center;gap:5px;display:flex}.mobile-meta svg{width:14px}.competition-detail.is-mobile .detail-topline,.competition-detail.is-mobile .detail-heading,.competition-detail.is-mobile .deadline-summary{display:none}.competition-detail.is-mobile .detail-list{padding:0;display:block}.competition-detail.is-mobile .detail-list>div{border-bottom:0;grid-template-columns:94px 1fr;padding:10px 0}.competition-detail.is-mobile .detail-list dd{text-align:left}.competition-detail.is-mobile .detail-list .tag-row dd{justify-content:flex-start}.competition-detail.is-mobile .detail-summary{border-top:1px solid var(--line);padding:14px 0 18px}.competition-detail.is-mobile .official-link{margin:0 0 22px}.competition-detail.is-mobile .detail-actions{margin:0 0 10px}.competition-detail.is-mobile .source-note{display:none}.mobile-expanded-detail{padding:0 14px 2px}.subscribe-strip{background:#f7faff;flex-direction:column;align-items:stretch;gap:20px;padding:24px 20px}.utility-actions{justify-content:stretch;width:100%}.utility-actions button{flex:1 1 0}footer{grid-template-columns:1fr auto;gap:12px}footer p{grid-area:2/1/auto/-1}}@media (width<=520px){:root{--page-gutter:18px}.hero{padding-top:36px}.hero h1{font-size:31px;line-height:1.28}.hero p{max-width:330px}.search-form button{font-size:12px}.filter-rail{margin-right:calc(var(--page-gutter) * -1);margin-left:calc(var(--page-gutter) * -1);border-left:0;border-right:0;border-radius:0}.section-heading-main{justify-content:space-between;width:100%}.section-heading{flex-direction:column;align-items:stretch;gap:8px}.section-heading-actions{justify-content:stretch}.view-switcher{width:100%}.view-switcher button{flex:1 1 0;justify-content:center;min-height:38px}.filter-summary>span{margin-right:auto}.filter-summary>.saved-filter:first-of-type{margin-left:0}.calendar-toolbar{padding:10px}.calendar-navigation button{min-width:40px;height:40px}.calendar-day-button{justify-content:center;min-height:38px;padding-left:0;padding-right:0}.calendar-day-button small{display:none}.month-calendar th{height:32px}.month-calendar td{height:90px}.calendar-day-agenda li>button{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;min-height:52px}.organizer-filter-dialog{padding-left:18px;padding-right:18px}.organizer-footer{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.competition-row{grid-template-columns:minmax(0,1fr) 40px 40px}.competition-main{gap:9px}.competition-main .type-label{text-overflow:ellipsis;white-space:nowrap;max-width:86px;overflow:hidden}.competition-title strong{font-size:14px}.row-action{width:40px}.subscribe-copy{align-items:flex-start}.subscribe-icon{width:42px;height:42px}.utility-actions,.calendar-footer{flex-direction:column}.utility-actions button,.calendar-footer button{width:100%}.dialog{max-height:calc(100vh - 32px)}.calendar-agenda a{grid-template-columns:82px 1fr 18px}.toast{bottom:18px;left:18px;right:18px}}.deadline-window{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.deadline-window select,.settings-field select{border:1px solid var(--line-strong);background:var(--white);min-height:38px;color:var(--ink);font:inherit;border-radius:6px;padding:7px 10px}.settings-dialog-body{color:var(--ink);gap:20px;padding:24px;font-size:14px;line-height:1.7;display:grid}.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;padding:18px}.settings-card h3{margin:0 0 8px;font-size:15px}.settings-card p{margin:8px 0}.settings-card ol{margin:10px 0;padding-left:22px}.settings-card li+li{margin-top:6px}.settings-help{color:var(--muted);margin:0;font-size:12px}.settings-field{gap:8px;font-weight:600;display:grid}.settings-field input{min-width:0;max-width:100%;font:inherit}.settings-field input::file-selector-button{margin-right:10px;padding:8px 10px}.settings-checkbox{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.settings-checkbox input{accent-color:var(--blue);margin-top:6px}.settings-checkbox small{color:var(--muted);font-size:12px;display:block}.settings-message{background:var(--blue-soft);border-radius:8px;margin:0;padding:12px}.backup-preview{margin-top:16px}.settings-button{background:var(--blue);min-height:44px;color:var(--white);font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:650;display:inline-flex}.settings-button:hover{background:var(--blue-deep)}.settings-button:disabled{background:var(--line-strong);color:var(--muted);cursor:not-allowed}.settings-button svg{width:18px;height:18px}@media (width<=540px){.settings-dialog-body{padding:18px}.settings-card{padding:14px}.settings-button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
