body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f6f8;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.soj-header{letter-spacing:.04rem;text-align:center;color:#fff;background:#333;margin:0;padding-top:3rem;padding-bottom:3rem;font-size:1.5rem;font-weight:400}.soj-header:before{letter-spacing:.02rem;content:attr(data-label);background:#333;margin:0;padding-top:3rem;padding-bottom:3rem;font-size:2.6rem;font-weight:700;line-height:1.5;display:block}@media screen and (width<=999px){.soj-header{font-size:1rem}.soj-header:before{font-size:1.6rem}}.soj-footer{letter-spacing:.04em;text-align:center;color:#fff;background:#333;margin:0;padding-top:2rem;padding-bottom:2rem;font-size:1rem;font-weight:400}.soj-footer:before{letter-spacing:.02rem;text-align:center;content:attr(data-label);background:#333;margin:0;padding-top:2rem;padding-bottom:2rem;font-size:2rem;font-weight:700;line-height:1.5;display:block}@media screen and (width<=999px){.soj-footer{font-size:.9rem}.soj-footer:before{font-size:1.5rem}}.white-link{color:#ffc}.white-link:hover{color:#dd9}details{color:#666;background-color:#fff;border:1px solid #e0e0e0;border-radius:0;margin:.2rem auto;padding:.5rem .5rem 0;font-size:1rem}summary{color:#666;background-color:#f8f9fa;margin:-.5rem -.5rem 0;padding:.5rem;font-size:1rem;font-weight:700}summary:hover{background-color:#e9ecef}details[open]{color:#666;background-color:#fff;margin:.2rem auto;padding:.5rem .5rem 1rem}details[open] summary{color:#666;background-color:#fff;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;margin-bottom:.5em;margin-left:auto;margin-right:auto}details>:not(summary){padding:0 1rem}@media screen and (width<=999px){details,summary{font-size:.9rem}}h2{color:#333;background:0 0;border-bottom:3px solid #333;margin-top:0;margin-bottom:1.5rem;padding:0 0 .5rem}h3{color:#444;background:0 0;border-left:4px solid #333;margin-top:2rem;padding:.25rem .8rem}h4{color:#333;margin-top:1.5rem;font-size:1.1rem;font-weight:700}@media screen and (width<=999px){h2,h3{font-size:1rem}h4{font-size:.9rem}}.soj-centering{text-align:center;width:100%}.soj-main{box-sizing:border-box;background-color:#fff;border-radius:12px;width:60%;margin:2rem auto;padding:2.5rem;box-shadow:0 4px 12px #0000000d}li{color:#555;line-height:1.6}p{color:#666;font-size:1rem}.black-line{border-top:2px solid #eee;margin:2rem 0}@media screen and (width<=999px){.soj-main{width:96%;margin:1rem auto;padding:1.2rem}li,p{font-size:.9rem}}.tab-container{border-bottom:2px solid #333;justify-content:center;width:90%;margin:1rem auto 0;display:flex}.tab-button{color:#666;cursor:pointer;background-color:#eee;border:1px solid #ccc;border-bottom:none;border-radius:4px 4px 0 0;margin:0 .2rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:700;transition:background-color .2s,color .2s}.tab-button:hover{color:#333;background-color:#ddd}.tab-button.active{color:#fff;background-color:#333;border-color:#333}.table-container{background-color:#fff;border:1px solid #666;border-top:none;width:90%;max-height:400px;margin:0 auto 2rem;overflow-y:auto}.problem-table{border-collapse:collapse;text-align:left;width:100%}.problem-table th{color:#333;z-index:1;background-color:#f5f5f5;border-bottom:1px solid #ccc;padding:.8rem;position:sticky;top:0}.problem-table td{color:#666;cursor:pointer;border-bottom:1px solid #eee;padding:.8rem;transition:background-color .2s}.problem-table tr:hover td{color:#333;background-color:#f9f9f9}.problem-table tr.selected-row td{color:#333;background-color:#e6f2ff;border-left:4px solid #333;font-weight:700}.problem-table .col-id{width:35%;font-family:monospace,Meiryo,sans-serif;font-size:.9rem}.problem-table .col-title{width:65%}@media screen and (width<=999px){.tab-container{width:96%}.tab-button{text-align:center;flex-grow:1;margin:0 1px;padding:.6rem .2rem;font-size:.8rem}.table-container{width:96%;max-height:300px}.problem-table th,.problem-table td{padding:.6rem;font-size:.85rem}.problem-table .col-id{word-break:break-all;width:40%}}pre{font-optical-sizing:auto;white-space:pre-wrap;width:90%;margin:.8rem auto;font-style:normal;font-weight:400;line-height:1.5}.code-font{font-family:monospace,Meiryo,Hiragino Maru Gothic ProN W4,Hiragino Mincho ProN,Verdana,Times New Roman,YuMincho,Yu Mincho,MS PMincho,serif,sans-serif;font-size:1rem;font-weight:600}.text-block{font-optical-sizing:auto;color:#666;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;background-color:#eee;margin:.8rem auto;padding:.8rem;font-style:normal;font-weight:400}textarea{font-optical-sizing:auto;color:#333;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;box-sizing:border-box;resize:vertical;border:2px solid #ddd;border-radius:8px;width:90%;max-width:90%;margin-top:1rem;margin-left:auto;margin-right:auto;font-family:monospace,Meiryo,Hiragino Maru Gothic ProN W4,Hiragino Mincho ProN,Verdana,Times New Roman,YuMincho,Yu Mincho,MS PMincho,serif,sans-serif;font-size:1rem;font-weight:500;transition:border-color .2s,box-shadow .2s}textarea:focus{border-color:#007acc;outline:none;box-shadow:0 0 0 3px #007acc1a}.code-block,.text-block{color:#d4d4d4;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;background-color:#1e1e1e;border:none;border-radius:8px;margin:1rem auto;padding:1.2rem;box-shadow:inset 0 2px 4px #0003}@media screen and (width<=999px){.code-font,textarea{font-size:.9rem}.code-block,.text-block{padding:1rem}}.soj-image{max-width:100%;padding-top:1rem}.select-button{cursor:pointer;text-align:center;color:#fff;background-color:#333;border:1px solid #333;border-radius:.2rem;width:30%;margin:1rem auto;padding:.8rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s;display:block}.select-button:hover{color:#333;background:#fff;font-weight:700}.run-button{cursor:pointer;text-align:center;color:#fff;background-color:#007acc;border:none;border-radius:6px;width:30%;margin:1rem auto;padding:.8rem;font-size:1rem;font-weight:700;text-decoration:none;display:block;box-shadow:0 4px 6px #007acc33}.run-button:hover{color:#fff;background-color:#005999;transform:translateY(-2px);box-shadow:0 6px 12px #007acc4d}@media screen and (width<=999px){.select-button,.run-button{width:50%;min-width:200px;font-size:.8rem}}.App{font-family:Meiryo,Hiragino Maru Gothic ProN W4,Hiragino Mincho ProN,Verdana,Times New Roman,YuMincho,Yu Mincho,MS PMincho,serif,sans-serif}.main-nav{text-align:center;justify-content:center;gap:1.5rem;margin:2rem 0;display:flex}.nav-button{color:#007acc;background-color:#fff;border:2px solid #007acc;border-radius:8px;padding:.8rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block;box-shadow:0 2px 4px #0000000d}.nav-button:hover{background-color:#f0f8ff;transform:translateY(-2px);box-shadow:0 4px 8px #007acc33}.nav-button.active{color:#fff;pointer-events:none;background-color:#007acc;box-shadow:0 4px 6px #007acc4d}@media screen and (width<=999px){.main-nav{gap:.8rem}.nav-button{padding:.6rem 1.2rem;font-size:.9rem}}
