:root{--color-bg: #f2f2f2;--color-bg-dark: #0b0b0b;--color-surface: #ffffff;--color-text: #111111;--color-text-inverse: #ffffff;--color-accent: #c8102e;--color-accent-strong: #9f001a;--color-border: #101010}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;color:var(--color-text);background-color:var(--color-bg);line-height:1.6}p{margin-bottom:1em}.container ul{list-style-position:outside;padding-left:1.5em;margin-bottom:1em}.container li{margin-bottom:.35em}h1,h2,h3{text-align:center}label{display:block;margin-bottom:.5rem;font-weight:700}.header{display:flex;align-items:center;padding:1em 2em;background-color:var(--color-bg-dark);border-bottom:4px solid var(--color-accent)}.logo-wrapper{margin-right:20px;margin-left:0;width:7em;height:7em;flex:0 0 7em;display:flex;align-items:center;justify-content:center}.logo{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover}.header-right{flex:1;display:flex;flex-direction:column;align-items:center}.nav{display:flex;justify-content:center;gap:20px;margin-bottom:10px}.menu-item{text-decoration:none;color:var(--color-text-inverse);font-weight:700;padding:.5em 1em;border-radius:3px;transition:background-color .3s,color .3s;font-size:1.1em;border:1px solid transparent}.menu-item:hover{background-color:var(--color-accent);color:var(--color-text-inverse)}.menu-item.active{background-color:var(--color-accent);color:var(--color-text-inverse);border-color:#ff5a72}.language-selector{padding:8px 12px;margin-bottom:10px;display:inline-block;background-color:#151515;border:1px solid var(--color-accent);color:var(--color-text-inverse);border-radius:4px;font-size:.9em;font-weight:700;cursor:pointer;text-decoration:none;transition:background-color .3s,border-color .3s}.language-selector:hover{background-color:#242424}.language-selector:focus{outline:none;border-color:#ff5a72;box-shadow:0 0 0 3px #c8102e59}.menu-toggle-checkbox,.menu-toggle-label{display:none}.container{max-width:clamp(800px,60vw,1600px);margin:20px auto;padding:4vw;background-color:var(--color-surface);border-radius:8px;border:2px solid var(--color-border);box-shadow:0 10px 24px #0000002e}.action-button{display:inline-block;padding:15px 30px;background-color:var(--color-accent);color:var(--color-text-inverse);text-decoration:none;border-radius:5px;font-size:1.2em;font-weight:700;transition:background-color .3s,color .3s,transform .2s;text-align:center;border:1px solid var(--color-accent-strong)}button{padding:10px 20px;background-color:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:5px;font-size:1em;cursor:pointer;margin-top:1rem}button:hover{background-color:var(--color-surface);color:var(--color-accent);border:1px solid var(--color-accent)}.action-button:hover{background-color:var(--color-surface);color:var(--color-accent);border:1px solid var(--color-accent);transform:translateY(-1px)}a{color:var(--color-accent);font-weight:700}a:hover{color:var(--color-accent-strong)}.footnote-ref,.footnote-backlink{text-decoration:none}.footnotes{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid #d3d3d3}.footnotes ol{padding-left:1.5rem}.footnotes li{scroll-margin-top:1.5rem;padding:.15rem .4rem;border-radius:6px;overflow-wrap:anywhere;transition:background-color .25s ease,box-shadow .25s ease}.footnotes li:target{background-color:#c8102e1f;box-shadow:0 0 0 1px #c8102e59}.footnote-backlink{margin-left:.35rem;white-space:nowrap}@media(max-width:767px){.header{flex-direction:column;align-items:center}.logo-wrapper{margin-right:0;margin-bottom:10px;width:88px;height:88px;flex-basis:88px}.header-right{width:100%;position:relative}.nav{display:none;flex-direction:column;gap:10px;margin-top:10px;width:100%;align-items:center}.menu-toggle-label{display:block;position:absolute;top:0;right:0;font-size:24px;cursor:pointer;color:var(--color-text-inverse)}.menu-toggle-checkbox:checked~.nav{display:flex}.logo{width:100%;height:100%;transform:scale(1.25);transform-origin:center}.container{margin:10px auto;padding:10px;background-color:var(--color-surface);border-radius:8px;border:2px solid var(--color-border);box-shadow:0 6px 18px #0003}.about-animation-stage{min-height:220px}.about-animation-gif{max-height:180px}.animation-caption{font-size:.85rem;padding:0 .5rem;text-align:center}.action-button{width:100%;box-sizing:border-box}}@media(min-width:1440px){.header{padding:40px}.logo{transform:scale(1.3);transform-origin:center center}.menu-item{font-size:1.4em;padding:12px 25px}.container{padding:50px}.action-button{padding:30px 60px;font-size:1.5em}}
