:root,html[data-theme=light]{--oic-bg:#f9faf9;--oic-bg-soft:#f4f6f6;--oic-surface:#fff;--oic-surface-2:#fff;--oic-surface-3:#f7f9fa;--oic-border:#ccd5df;--oic-border-soft:#e4e9ee;--oic-text:#17212e;--oic-muted:#617080;--oic-muted-2:#788595;--oic-blue:#245a91;--oic-blue-strong:#194a7c;--oic-purple:#7753a1;--oic-purple-strong:#69458d;--oic-green:#287749;--oic-red:#ab3243;--oic-amber:#946118}.oic-ui-page{background:var(--oic-bg);color:var(--oic-text)}.oic-ui-frame{position:relative}.oic-section-kicker{color:var(--oic-muted);letter-spacing:.15em;text-transform:uppercase;font-size:.68rem;font-weight:800}.oic-section-heading{border-bottom:1px solid var(--oic-border);justify-content:space-between;align-items:end;gap:1.25rem;padding-bottom:.9rem;display:flex}.oic-section-heading h2{color:var(--oic-text);letter-spacing:-.03em;font-size:clamp(1.45rem,3vw,2rem);font-weight:800}.oic-section-heading>p{max-width:30rem;color:var(--oic-muted);text-align:right;font-size:.84rem;line-height:1.6}.oic-primary-action,.oic-secondary-action,.oic-disabled-action{border-radius:.2rem;justify-content:center;align-items:center;min-height:2.6rem;padding:.65rem 1rem;font-size:.85rem;font-weight:750;display:inline-flex}.oic-primary-action{border:1px solid var(--oic-text);background:var(--oic-text);color:#fff}.oic-primary-action:hover{background:var(--oic-blue-strong)}.oic-secondary-action{border:1px solid var(--oic-border);color:var(--oic-text);background:0 0}.oic-secondary-action:hover{border-color:var(--oic-blue);color:var(--oic-blue)}.oic-disabled-action{border:1px solid var(--oic-border);background:var(--oic-bg-soft);color:var(--oic-muted)}.oic-empty-state{border-top:1px solid var(--oic-border);color:var(--oic-muted);padding:1.25rem 0;line-height:1.7}.oic-page-hero,.oic-contest-hero,.oic-admin-hero{border:0;border-bottom:2px solid var(--oic-text);box-shadow:none;background:0 0;border-radius:0;padding:0 0 1.35rem}.oic-page-hero h1,.oic-contest-hero h1,.oic-admin-hero h1{color:var(--oic-text);letter-spacing:-.04em;font-size:clamp(2rem,5vw,3.3rem);font-weight:850}.oic-contest-meta>p{border-left:1px solid var(--oic-border);padding:.3rem .85rem}.oic-contest-countdown{color:var(--oic-blue);font-weight:750}.oic-contest-card,.oic-problem-card,.oic-ranking-panel{border:0;border-bottom:1px solid var(--oic-border);box-shadow:none;background:0 0;border-radius:0}.oic-contest-card,.oic-problem-card{padding:1.15rem 0}.oic-contest-card:hover,.oic-problem-card:hover{background:#245a9109}.oic-mini-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.oic-mini-meta>div{border-left:1px solid var(--oic-border);padding-left:.75rem}.oic-mini-meta dt{color:var(--oic-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:750}.oic-mini-meta dd{color:var(--oic-text);font-size:.95rem;font-weight:800}.oic-status-badge{border-radius:999px;padding:.25rem .6rem;font-size:.68rem;font-weight:800}.oic-writer-lock-card,.oic-error-card,.oic-staff-lock-card{border-left:3px solid var(--oic-border);padding:1rem 1.4rem}.oic-writer-lock-card{border-left-color:var(--oic-purple)}.oic-writer-lock-mark{color:var(--oic-purple);font-size:1.25rem}.oic-writer-lock-card h1,.oic-error-card h1{font-size:clamp(1.8rem,4vw,2.7rem);font-weight:850}.oic-writer-lock-card>p:not(.oic-section-kicker),.oic-error-card>p:not(.oic-section-kicker){max-width:44rem;color:var(--oic-muted);margin-top:.9rem;line-height:1.7}.oic-answer-input{border-color:var(--oic-border);min-height:3rem;color:var(--oic-text);background:#fff}.oic-answer-input:focus{border-color:var(--oic-blue);outline:2px solid #245a9129}.oic-submit-action{background:var(--oic-text);color:#fff;border-radius:.2rem;min-width:8rem}.oic-division-tabs{border:0;border-bottom:1px solid var(--oic-border);width:fit-content;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:0 1.2rem;padding:0;display:flex}.oic-division-tabs>:is(button,a){color:var(--oic-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.7rem 0}.oic-division-tabs>:is(button,a)[aria-selected=true],.oic-division-tabs>:is(button,a)[data-active=true]{border-bottom-color:var(--oic-text);color:var(--oic-text)}.oic-ranking-panel thead{background:0 0}.oic-ranking-panel :is(th,td){border-bottom:1px solid var(--oic-border)}.oic-ranking-row:hover{background:#245a9109}.oic-ranking-row[data-rank="1"] td:first-child,.oic-ranking-row[data-rank="2"] td:first-child,.oic-ranking-row[data-rank="3"] td:first-child{color:var(--oic-text);font-weight:900}.oic-admin-nav>a{border-bottom:1px solid var(--oic-border);color:var(--oic-text)}.oic-admin-nav>a:hover{color:var(--oic-blue)}.oic-admin-sidebar{align-self:start}.oic-admin-sidebar button{border-color:var(--oic-border);background:0 0}.oic-admin-sidebar button[data-status=開催中]{border-left:3px solid var(--oic-green)}.oic-admin-sidebar button[data-status=開催前]{border-left:3px solid var(--oic-blue)}.oic-admin-sidebar button[data-status=DRAFT]{border-left:3px solid var(--oic-amber)}.oic-admin-sidebar button[data-status=終了]{border-left:3px solid var(--oic-muted)}.oic-admin-sticky{align-self:start}@media (min-width:1100px){.oic-admin-sidebar,.oic-admin-sticky{max-height:calc(100vh - 7rem);position:sticky;top:5.75rem;overflow:auto}}@media (max-width:900px){.oic-section-heading{flex-direction:column;align-items:start}.oic-section-heading>p{text-align:left}}@media (max-width:640px){.oic-mini-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.oic-division-tabs{width:100%}}
.competition-page{--competition-ink:#17212e;--competition-muted:#617080;--competition-rule:#ccd5df;--competition-accent:#245a91;min-width:0;min-height:100vh;color:var(--competition-ink);background:#f9faf9;overflow-x:clip}.competition-page :is(h1,h2,h3,h4){color:var(--competition-ink);text-wrap:balance;line-height:1.3}.competition-page h1{letter-spacing:-.035em}.competition-page :is(p,li,dd){overflow-wrap:anywhere}.competition-page :is(.text-violet-200,.text-violet-300,.text-violet-400,.text-purple-200,.text-purple-300,.text-purple-400){color:#7753a1}.competition-page :is(.text-amber-200,.text-amber-300,.text-amber-400){color:#946118}.competition-page :is(.text-emerald-200,.text-emerald-300,.text-emerald-400,.text-green-200,.text-green-300,.text-green-400){color:#287749}.competition-page :is(.text-red-200,.text-red-300,.text-red-400){color:#ab3243}.competition-page :is(.text-cyan-200,.text-cyan-300,.text-cyan-400){color:#195c66}.competition-page :is(a,button):focus-visible{outline:2px solid var(--competition-accent);outline-offset:3px}.competition-page header:first-child,.competition-page>div>header:first-child{border:0;border-bottom:2px solid var(--competition-ink);box-shadow:none;background:0 0;border-radius:0;padding:0 0 1.4rem}.competition-page :is(section,article).competition-region,.competition-page .competition-region{border:0;border-bottom:1px solid var(--competition-rule);min-width:0;box-shadow:none;background:0 0;border-radius:0;padding:1.25rem 0}.competition-page .competition-region>:is(h2,h3,h4):first-child{margin-bottom:.8rem}.competition-page .competition-region[class*=border-red-]{border-left:3px solid #ab3243;padding-left:1rem}.competition-page .competition-region[class*=border-amber-]{border-left:3px solid #946118;padding-left:1rem}.competition-page .competition-region[class*=border-emerald-]{border-left:3px solid #287749;padding-left:1rem}.competition-page .competition-region[class*=border-blue-]{border-left:3px solid #245a91;padding-left:1rem}.competition-page .competition-region[class*=border-violet-],.competition-page .competition-region[class*=border-purple-]{border-left:3px solid #7753a1;padding-left:1rem}.competition-page .competition-region>.grid,.competition-page .competition-region>.space-y-3,.competition-page .competition-region>.space-y-4{min-width:0}.competition-page a.competition-row{border:0;border-bottom:1px solid var(--competition-rule);box-shadow:none;background:0 0;border-radius:0;padding:1rem 0;text-decoration:none;display:block}.competition-page a.competition-row:hover{color:var(--competition-accent)}.competition-page :is(table,.competition-table){border-collapse:collapse;width:100%}.competition-page th{color:var(--competition-muted);letter-spacing:.07em;text-align:left;font-size:.7rem}.competition-page :is(th,td){border-bottom:1px solid var(--competition-rule)}.competition-page tr:hover{background:#245a9109}.competition-page :is(input,textarea,select){border-radius:.2rem;max-width:100%}.competition-page .competition-primary{box-shadow:none;color:#fff;background:#17212e;border:1px solid #17212e;border-radius:.2rem;font-weight:750}.competition-page .competition-primary:hover{color:#fff;background:#245a91;border-color:#245a91}.competition-page .competition-primary:disabled{opacity:.55}.competition-page .competition-colored-action{color:#fff;box-shadow:none;border-radius:.2rem}.competition-page .competition-colored-badge{color:#fff}.competition-page .competition-tabs,.competition-page [role=tablist]:not(.oic-mobile-editor-controls){border:0;border-bottom:1px solid var(--competition-rule);width:fit-content;max-width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:0 1.25rem;padding:0;display:flex}.competition-page .competition-tabs>:is(button,a),.competition-page [role=tablist]:not(.oic-mobile-editor-controls)>:is(button,a){box-shadow:none;color:var(--competition-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.75rem 0}.competition-page .competition-tabs>:is(button,a)[aria-selected=true],.competition-page .competition-tabs>:is(button,a)[data-active=true],.competition-page [role=tablist]:not(.oic-mobile-editor-controls)>:is(button,a)[aria-selected=true]{border-bottom-color:var(--competition-ink);color:var(--competition-ink)}.competition-page .practice-solution{border-top:1px solid var(--competition-rule)}.practice-solution-summary{cursor:pointer;color:#17212e;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;font-size:.9rem;font-weight:800;display:flex}.practice-solution-summary:hover{color:#245a91}.practice-solution-hint{color:#536272;font-size:.72rem;font-weight:600}.practice-solution[open] .practice-solution-hint{display:none}.practice-solution-content{padding-top:1.3rem}.practice-solution-section{border-top:1px solid var(--competition-rule);padding:1.15rem 0}.practice-solution-section h2{color:#17212e;letter-spacing:.14em;font-size:.72rem;font-weight:850}.oic-dict-v4-page{color:#17212e;background:#f9faf9}.oic-dict-v4-home-link,.oic-dict-v4-lead,.oic-dict-v4-card-copy,.oic-dict-v4-rules-copy{color:#617080}.oic-dict-v4-eyebrow{color:#617080;letter-spacing:.15em;font-size:.68rem}.oic-dict-v4-page-title,.oic-dict-v4-card-title,.oic-dict-v4-rules-title{color:#17212e}.oic-dict-v4-public-note{color:#287749}.oic-dict-v4-card{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #ccd5df;border-radius:0;padding:1.35rem 0;display:block}.oic-dict-v4-card:hover{background:#245a9109}.oic-dict-v4-card-link,.oic-dict-v4-card-basic .oic-dict-v4-badge{color:#245a91}.oic-dict-v4-card-advanced .oic-dict-v4-badge{color:#7753a1}.competition-auth>[aria-hidden=true].pointer-events-none{display:none}.competition-auth .competition-auth-intro{border-right:1px solid #ccd5df}.competition-auth .competition-auth-header{background:0 0;border:0;border-bottom:2px solid #17212e;border-radius:0}.competition-auth .competition-region{border-color:#ccd5df}.competition-auth :is(input,textarea,select){border-radius:.2rem}.competition-auth a:not(.competition-primary):hover{color:#245a91}@media (max-width:640px){.competition-page{padding-inline:1rem}.competition-page header:first-child,.competition-page>div>header:first-child{padding-bottom:1rem}.competition-page :is(section,article).competition-region,.competition-page .competition-region{padding-block:1rem}.competition-page .competition-tabs{gap:0 1rem;width:100%}.competition-page :is(table,.competition-table){font-size:.8rem}.competition-page :is(th,td){padding-inline:.4rem}.competition-page :is(.overflow-x-auto,.overflow-auto){-webkit-overflow-scrolling:touch}.competition-auth .competition-auth-intro{border-bottom:1px solid #ccd5df;border-right:0;padding-inline:0}.competition-auth .competition-region{padding-inline:0}}.site-utility__toggle{color:#17212e;box-shadow:none;background:#f9faf9;border:0;border-bottom:2px solid #17212e;border-radius:0}.site-utility__toggle:hover{color:#245a91}.site-utility__panel{background:#f9faf9;border:1px solid #ccd5df;border-radius:0;box-shadow:0 5px 16px #17212e14}.site-utility__link{border-bottom:1px solid #e4e9ee;border-radius:0}.site-utility__link:hover{color:#245a91}
[data-oic-page=problem-submit]{color:#0f172a!important;background:radial-gradient(circle at 12% 8%,#dbeafeb8,#0000 34rem),radial-gradient(circle at 88% 6%,#ede9fec7,#0000 36rem),#f8fafc!important}[data-oic-page=problem-submit] [class~=bg-violet-950\/20]{background-color:#f5f3fff0!important}[data-oic-page=problem-submit] [class~=border-violet-900]{border-color:#c4b5fd!important}[data-oic-page=problem-submit] [class~=text-violet-100]{color:#4c1d95!important}[data-oic-page=problem-submit] [class~=bg-neutral-950\/50],[data-oic-page=problem-submit] [class~=bg-neutral-950\/60],[data-oic-page=problem-submit] [class~=bg-neutral-950],[data-oic-page=problem-submit] [class~=bg-neutral-900]{background-color:#fffffff5!important}[data-oic-page=problem-submit] [class~=bg-violet-500\/10]{background-color:#f5f3ff!important}[data-oic-page=problem-submit] [class~=border-neutral-800]{border-color:#e2e8f0!important}[data-oic-page=problem-submit] [class~=border-neutral-700]{border-color:#cbd5e1!important}[data-oic-page=problem-submit] [class~=text-neutral-300]{color:#334155!important}[data-oic-page=problem-submit] [class~=text-neutral-400]{color:#475569!important}[data-oic-page=problem-submit] [class~=text-neutral-500]{color:#64748b!important}[data-oic-page=problem-submit] [class~=bg-amber-950\/25]{background-color:#fffbeb!important}[data-oic-page=problem-submit] [class~=border-amber-700]{border-color:#f59e0b!important}[data-oic-page=problem-submit] [class~=text-amber-100]{color:#78350f!important}[data-oic-page=problem-submit] form{color:#0f172a}[data-oic-page=problem-submit] input,[data-oic-page=problem-submit] textarea,[data-oic-page=problem-submit] select{color:#0f172a!important;background-color:#fff!important}[data-oic-page=problem-submit] input::placeholder,[data-oic-page=problem-submit] textarea::placeholder{opacity:1;color:#94a3b8!important}[data-oic-page=problem-submit] code{color:#334155;background-color:#f1f5f9}[data-oic-page=problem-submit] [class~=border-red-900]{border-color:#fca5a5!important}[data-oic-page=problem-submit] [class~=text-red-300]{color:#b91c1c!important}[data-oic-page=problem-submit] [class~="hover:bg-red-950/40"]:hover{background-color:#fef2f2!important}
:is(.oic-ui-page,.competition-page) :is(section,article,aside,div)[class*=rounded][class*=border]:not([role=dialog]):not([aria-modal=true]){border:0!important;border-bottom:1px solid var(--oic-border,#ccd5df)!important;box-shadow:none!important;color:var(--oic-text,#17212e)!important;background:0 0!important;border-radius:0!important}.oic-ui-page .oic-problem-card,.oic-ui-page .oic-problem-card:hover{background:0 0}.exam-page{min-height:100vh;padding:2rem 1rem 5rem}.exam-shell{width:100%;max-width:72rem;margin-inline:auto}.exam-problem{border-bottom:1px solid var(--oic-border);min-width:0;padding:1.15rem 0}.exam-answer-form .oic-answer-input{color:var(--oic-text);background:#fff;border-radius:0}.exam-answer-form button{box-shadow:none;border-radius:0}.exam-page .oic-problem-engagement button{box-shadow:none!important;border-radius:0!important}.exam-answer-form .oic-submit-action{border:1px solid var(--oic-text);background:var(--oic-text);color:#fff}.exam-answer-form .oic-submit-action:hover:not(:disabled){border-color:var(--oic-blue);background:var(--oic-blue)}.exam-answer-form button:not(.oic-submit-action){border-color:var(--oic-border);color:var(--oic-text);background:0 0}.exam-answer-form button:not(.oic-submit-action):hover:not(:disabled){border-color:var(--oic-blue);color:var(--oic-blue)}.exam-page>section{max-width:72rem;margin-inline:auto;padding-inline:0}@media (min-width:640px){.exam-page{padding-inline:1.5rem}}@media (min-width:1024px){.exam-page{padding-inline:2rem}}
