.staggered-menu{position:fixed;inset:0;z-index:50;pointer-events:none}.staggered-menu__header{position:absolute;z-index:3;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.2rem,4vw,3.5rem);pointer-events:none}.staggered-menu__logo,.staggered-menu__toggle{pointer-events:auto}.staggered-menu__logo{color:var(--snow);font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.12em;text-decoration:none;text-shadow:0 2px 18px rgb(0 0 0 / 56%)}.staggered-menu__toggle{display:inline-flex;align-items:center;gap:.75rem;min-width:88px;border:0;background:transparent;color:var(--snow);font:650 .92rem/1 var(--font-ui);cursor:pointer}[data-open] .staggered-menu__toggle{color:var(--ink)}.staggered-menu__toggle:focus-visible{outline:2px solid var(--blossom);outline-offset:6px}.staggered-menu__icon{position:relative;display:block;width:20px;height:20px;transition:transform .35s ease}.staggered-menu__icon i{position:absolute;top:9px;left:1px;width:18px;height:2px;background:currentColor}.staggered-menu__icon i:last-child{transform:rotate(90deg)}[data-open] .staggered-menu__icon{transform:rotate(135deg)}.staggered-menu__backdrop{position:absolute;inset:0;width:100%;border:0;background:#02071485;opacity:0;pointer-events:none}.staggered-menu__panel{position:absolute;inset:0 0 0 auto;display:flex;width:min(430px,100vw);padding:7.5rem clamp(1.7rem,5vw,3.4rem) 2rem;flex-direction:column;overflow-y:auto;pointer-events:auto;background:#f1f7fcf5;color:var(--ink);box-shadow:-24px 0 70px #01061252}.staggered-menu__eyebrow,.staggered-menu__footer{margin:0;color:#526276;font-size:.72rem;font-weight:700;letter-spacing:.13em}.staggered-menu__list{display:flex;margin:auto 0;padding:2rem 0;flex-direction:column;gap:.7rem;list-style:none}.staggered-menu__clip{overflow:hidden}.staggered-menu__item{display:grid;grid-template-columns:2.2rem 1fr;align-items:start;color:var(--ink);text-decoration:none}.staggered-menu__number{padding-top:.45rem;color:#8a6c91;font-size:.72rem;font-weight:700}.staggered-menu__label{display:block;font-family:var(--font-display);font-size:clamp(2.8rem,9vw,4.6rem);font-weight:780;line-height:.98;transition:color .2s ease,transform .2s ease}.staggered-menu__item:hover .staggered-menu__label,.staggered-menu__item:focus-visible .staggered-menu__label{color:#b05475;transform:translate(.12em)}.staggered-menu__item:focus-visible{outline:2px solid #b05475;outline-offset:4px}.auth-panel,.permission-state,.submission-section,.submission-history,.moderation-section{margin-top:2.5rem;padding-block:2rem;border-block:1px solid var(--line)}.auth-panel{max-width:620px}.auth-panel__modes{display:inline-flex;gap:.3rem;padding:.25rem;border:1px solid var(--line);border-radius:5px}.auth-panel__modes button{display:inline-flex;align-items:center;gap:.4rem;border:0;border-radius:3px;padding:.55rem .8rem;background:transparent;color:#c7d9ea;cursor:pointer}.auth-panel__modes button[aria-pressed=true]{background:#a85270;color:#fff}.auth-panel__modes svg,.account-strip svg,.permission-state svg,.submission-form button svg,.uploader-form svg,.moderation-actions svg{width:1rem;height:1rem}.auth-panel>p{color:#c7d9ea;line-height:1.6}.auth-panel form{display:grid;gap:1rem;margin-top:1.5rem}.auth-panel__config{color:#ffc2ca}.form-field{display:flex;min-width:0;flex-direction:column;gap:.42rem;color:#b7cde0;font-size:.78rem;font-weight:650}.form-field textarea{resize:vertical}.form-error{color:#ffc2ca}.form-success{color:var(--leaf)}.permission-state{display:grid;max-width:650px;justify-items:start}.permission-state>svg{width:2rem;height:2rem;color:var(--blossom)}.permission-state h2{margin-bottom:0}.permission-state p{color:#c7d9ea}.account-strip{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line);color:#c7d9ea}.account-strip button{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;color:var(--snow);cursor:pointer}.submission-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field--wide,.submission-form progress,.submission-form>.form-error{grid-column:1 / -1}.file-picker{padding:1rem;border:1px dashed rgb(194 221 241 / 36%)}.file-picker input{padding:0;border:0;background:transparent}.file-picker small{color:#8facbf;font-weight:400;line-height:1.5}.submission-history article,.moderation-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem;border-top:1px solid var(--line)}.submission-history article>div,.moderation-list article>div:first-child{display:flex;flex-direction:column;gap:.3rem}.submission-history article span,.moderation-list article span{color:#9eb5c9;font-size:.78rem}.submission-history article p{color:#ffc2ca}.uploader-form{display:flex;align-items:end;gap:.8rem;max-width:650px;margin-top:2.5rem}.uploader-form label{flex:1}.moderation-section__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.moderation-section__head label{display:flex;align-items:center;gap:.6rem;color:#b7cde0;font-size:.78rem}.moderation-section__head select{min-height:36px;border:1px solid var(--line);border-radius:3px;background:#111a32;color:#fff}.moderation-actions{display:flex;gap:.35rem}.moderation-actions button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--snow);cursor:pointer}.moderation-actions button:hover,.moderation-actions button:focus-visible{border-color:var(--blossom);color:var(--blossom)}@media(max-width:680px){.submission-form{grid-template-columns:1fr}.form-field--wide,.submission-form progress,.submission-form>.form-error{grid-column:auto}.uploader-form{align-items:stretch;flex-direction:column}.moderation-list article{align-items:flex-start;flex-direction:column}}.flowing-menu{width:min(850px,82vw);overflow:hidden;border-block:1px solid rgb(226 241 255 / 46%);background:#0c132a94;box-shadow:0 24px 70px #02081857;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flowing-menu__item{position:relative;height:clamp(82px,12vh,120px);overflow:hidden;border-bottom:1px solid rgb(226 241 255 / 32%)}.flowing-menu__item:last-child{border-bottom:0}.flowing-menu__link{position:relative;display:flex;align-items:center;justify-content:space-between;height:100%;padding-inline:clamp(1.4rem,4vw,3.5rem);color:var(--snow);font-family:var(--font-display);font-size:clamp(1.65rem,4vw,3.4rem);font-weight:700;text-decoration:none;text-shadow:0 2px 18px rgb(0 0 0 / 48%)}.flowing-menu__link:focus-visible{outline:3px solid var(--blossom);outline-offset:-5px}.flowing-menu__arrow{font-size:.68em;opacity:.75}.flowing-menu__marquee{position:absolute;inset:0;pointer-events:none;transform:translateY(102%);overflow:hidden;background:var(--snow);color:var(--ink)}.flowing-menu__track{display:flex;align-items:center;width:max-content;height:100%;animation:flowing-menu-track 16s linear infinite}.flowing-menu__part{display:flex;flex:none;align-items:center;gap:1.2rem;padding-inline:1.2rem}.flowing-menu__part>span:first-child{font-size:clamp(1.5rem,3.4vw,3rem);font-weight:750}.flowing-menu__image{width:clamp(100px,14vw,170px);height:64px;border-radius:4px;background-position:center;background-size:cover}@keyframes flowing-menu-track{to{transform:translate(-20%)}}@media(max-width:640px){.flowing-menu{width:91vw}.flowing-menu__item{height:84px}}@media(prefers-reduced-motion:reduce){.flowing-menu__track{animation:none}}.masked-heading{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .24em;margin:0;color:var(--snow);font-family:var(--font-display);font-size:clamp(3.2rem,10vw,9rem);font-weight:800;line-height:.95;letter-spacing:0;text-align:center}.masked-heading__clip{display:inline-block;overflow:hidden;padding-block:.08em}.masked-heading__word{display:inline-block;color:transparent;background-image:linear-gradient(#ffffff1f,#ffffff1f),var(--masked-heading-image);background-position:center;background-size:cover;background-clip:text;-webkit-background-clip:text;filter:saturate(1.08) brightness(1.14);text-shadow:0 0 36px rgb(185 219 255 / 22%)}@media(prefers-reduced-motion:reduce){.masked-heading__word{transform:none!important}}.home-page{position:relative;min-height:100svh;overflow:hidden;background:var(--night-deep)}.home-page__image,.home-page__shade{position:absolute;inset:0}.home-page__image{background-image:url(/assets/konata-snow-night.jpg);background-position:center 42%;background-size:cover;transform:scale(1.015)}.home-page__shade{background:linear-gradient(180deg,#0408166b,#040a1c14 35%,#0409169e)}.home-page__menu{position:absolute;left:50%;bottom:clamp(2.8rem,7vh,5.5rem);transform:translate(-50%) rotate(-6deg)}.home-page__note{position:absolute;right:clamp(1.2rem,3vw,2.8rem);bottom:1.1rem;margin:0;color:#f0f8ffbd;font-size:.65rem;font-weight:700;letter-spacing:.12em}.intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1.5rem;background:#080d1e;animation:intro-exit .82s 1.55s both cubic-bezier(.7,0,.3,1)}@keyframes intro-exit{to{visibility:hidden;opacity:0;transform:scale(.965)}}@media(max-width:640px){.home-page__image{background-position:54% center}.home-page__menu{bottom:11vh;transform:translate(-50%) rotate(-3deg)}.home-page__note{display:none}}@media(prefers-reduced-motion:reduce){.intro{animation-duration:.18s!important;animation-delay:.25s!important;transform:none}}.resource-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,.45fr) minmax(130px,.45fr) auto;align-items:end;gap:.8rem;margin:2.5rem 0 1.2rem;padding-block:1.2rem;border-block:1px solid var(--line)}.resource-filters label{display:flex;min-width:0;flex-direction:column;gap:.45rem;color:#b7cde0;font-size:.76rem;font-weight:650}.resource-filters input,.resource-filters select,.form-field input,.form-field textarea,.form-field select{width:100%;min-height:44px;border:1px solid rgb(194 221 241 / 24%);border-radius:4px;padding:.72rem .8rem;background:#040a1b8a;color:var(--snow);outline:none}.resource-filters input:focus,.resource-filters select:focus,.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--blossom);box-shadow:0 0 0 3px #f0adc424}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--line);border-radius:4px;padding:.68rem 1rem;color:var(--snow);background:#ffffff0f;text-decoration:none;cursor:pointer}.button svg,.icon-link svg,.back-link svg,.scan-mark svg,.resource-row__foot svg{width:1.1rem;height:1.1rem}.button--primary{border-color:#f0adc4a6;background:#a85270;box-shadow:0 8px 24px #50152c3d}.button:hover:not(:disabled),.button:focus-visible{filter:brightness(1.12);transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.resource-list{border-top:1px solid var(--line)}.resource-row{display:grid;grid-template-columns:112px minmax(0,1fr) 50px;align-items:center;gap:clamp(1rem,3vw,2.2rem);min-height:150px;padding-block:1.2rem;border-bottom:1px solid var(--line)}.resource-row__cover{display:grid;width:112px;aspect-ratio:4 / 3;place-items:center;overflow:hidden;border-radius:4px;background:linear-gradient(145deg,#304c68,#7d5d77);color:var(--snow);font-size:2rem;font-weight:800}.resource-row__cover img{width:100%;height:100%;object-fit:cover}.resource-row__meta,.resource-row__foot{display:flex;flex-wrap:wrap;gap:.75rem;color:#adc5da;font-size:.74rem}.resource-row__body h2{margin:.4rem 0;font-size:clamp(1.2rem,3vw,1.75rem)}.resource-row__body p{margin:0 0 .7rem;color:#c7d9ea;line-height:1.6}.resource-row__foot span{display:inline-flex;align-items:center;gap:.3rem}.icon-link{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--snow)}.icon-link:hover,.icon-link:focus-visible{border-color:var(--blossom);color:var(--blossom)}.empty-state,.loading-state,.error-state{margin-block:1.5rem;padding:2rem 0;color:#c7d9ea}.error-state{color:#ffc2ca}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:2rem}.pagination button{border:1px solid var(--line);border-radius:4px;padding:.6rem .9rem;background:transparent;color:var(--snow)}.resource-detail__eyebrow{margin:2rem 0 .7rem;color:var(--blossom);font-weight:700}.back-link{display:inline-flex;align-items:center;gap:.45rem;color:#c7d9ea;text-decoration:none}.resource-detail__body{max-width:820px;margin:2.5rem 0;color:#d5e3ef;white-space:pre-wrap;line-height:1.9}.file-list{margin-top:3rem;border-top:1px solid var(--line)}.file-list h2{margin:1.4rem 0}.file-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.8rem 1.5rem;align-items:center;padding-block:1.1rem;border-top:1px solid var(--line)}.file-list article>div{display:flex;flex-direction:column;gap:.3rem}.file-list code{grid-column:1 / -1;overflow-wrap:anywhere;color:#8facbf;font-size:.72rem}.scan-mark{display:inline-flex;align-items:center;gap:.35rem;color:var(--leaf);font-size:.78rem}@media(max-width:760px){.resource-filters{grid-template-columns:1fr 1fr}.resource-filters__search{grid-column:1 / -1}.resource-row{grid-template-columns:76px minmax(0,1fr) 44px;gap:.8rem}.resource-row__cover{width:76px}}@media(max-width:470px){.resource-filters{grid-template-columns:1fr}.resource-filters__search{grid-column:auto}.resource-row{grid-template-columns:60px minmax(0,1fr)}.resource-row__cover{width:60px}.resource-row>.icon-link{grid-column:2;justify-self:end}}:root{--night: #10182e;--night-deep: #080d1e;--snow: #f6fbff;--ice: #9fc9ed;--blossom: #f0adc4;--leaf: #9fc8ad;--ink: #182338;--muted: #66758a;--surface: rgb(13 21 44 / 74%);--surface-light: rgb(247 251 255 / 92%);--line: rgb(200 224 242 / 28%);--font-display: Inter, "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-ui: Inter, "Noto Sans SC", "Microsoft YaHei", sans-serif;color:var(--snow);background:var(--night-deep);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:var(--night-deep)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%}::selection{background:var(--blossom);color:var(--ink)}.page-shell{position:relative;min-height:100vh;padding:7rem clamp(1.2rem,5vw,5rem) 4rem;overflow:hidden;background:linear-gradient(160deg,#111b38,#090f23 68%,#152a30)}.page-shell:before{position:fixed;inset:0;content:"";pointer-events:none;background-image:url(/assets/konata-snow-night.jpg);background-position:center;background-size:cover;opacity:.12}.page-shell__inner{position:relative;width:min(1100px,100%);margin-inline:auto}.page-title{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(2.2rem,6vw,5rem);line-height:1;letter-spacing:0}.page-lead{max-width:720px;margin:0;color:#c7d9ea;font-size:1.02rem;line-height:1.8}.content-band{margin-top:3rem;padding-block:2rem;border-block:1px solid var(--line)}.content-band h2{margin:0 0 .8rem;font-size:1.2rem}.content-band p{max-width:760px;margin:.5rem 0;color:#c7d9ea;line-height:1.8}.content-band a{color:var(--blossom)}.snowfall{position:absolute;inset:-12vh 0 0;overflow:hidden;pointer-events:none}.snowfall i{position:absolute;top:-10px;left:var(--snow-left);width:var(--snow-size);height:var(--snow-size);border-radius:50%;background:#ffffffc7;box-shadow:0 0 6px #d6edffa6;animation:snowfall var(--snow-duration) linear var(--snow-delay) infinite}@keyframes snowfall{to{transform:translate3d(var(--snow-drift),115vh,0) rotate(180deg);opacity:.18}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.snowfall{display:none}}
