:root{font-family:Consolas,Noto Sans JP,monospace;line-height:1.5;font-weight:400;--accent: #6e5faa;--accent-800: #4b3a7a;--accent-600: #5a4b8a;--accent-300: #9a84d8;--accent-a: rgba(161, 149, 207, .65);--accent-r: 110;--accent-g: 95;--accent-b: 170;--surface-accent-1: rgba(var(--accent-r), var(--accent-g), var(--accent-b), .07);--surface-accent-2: rgba(var(--accent-r), var(--accent-g), var(--accent-b), .12);color-scheme:light dark;color:#ffffffde;background-color:#151515;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}a{font-weight:500;color:var(--accent-800);text-decoration:inherit;transition:text-shadow .22s ease,color .22s ease}a:hover{color:var(--accent-600);text-shadow:0 0 5px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2),0 0 5px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2)}body{margin:0;display:flex;align-items:flex-start;justify-content:center;min-width:320px;min-height:100vh;padding:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;outline:1px solid transparent;border-color:var(--accent-600);box-shadow:0 0 14px rgba(var(--accent-r),var(--accent-g),var(--accent-b),0),0 0 14px rgba(var(--accent-r),var(--accent-g),var(--accent-b),0);transition:box-shadow .5s,outline .5s ease}button:hover,button:focus,button:focus-visible{outline:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),1);overflow:visible;box-shadow:0 0 14px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2),0 0 40px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2)}.app-root{width:100%;max-width:1100px;margin:0 auto;padding:20px 24px;box-sizing:border-box}.app-root{width:100%}.timeline{width:100%;max-width:none;margin:24px auto;padding:0;color:#eaeaea}.site-header{background-color:#111;background-image:linear-gradient(180deg,var(--surface-accent-1),transparent);background-blend-mode:overlay;border:1.5px solid rgba(255,255,255,.04);border-radius:15px;overflow:clip;position:sticky;top:0;z-index:290;border-color:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5)}.header-inner{max-width:1100px;width:calc(100% - 32px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;box-sizing:border-box}.header-actions{display:flex;align-items:center;gap:8px}.header-note{text-align:center;padding:6px 12px;color:#ffffffdb;font-size:.95rem;background:#ffffff1a;backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);border-bottom-left-radius:12px;border-bottom-right-radius:12px}.brand{font-weight:700;font-size:1.5rem}.brand-sub{font-size:.85rem;color:#ffffffbf;margin-top:2px}.brand-wrapper{display:flex;align-items:center;gap:12px}.brand-wrapper a{display:inline-flex;align-items:center;text-decoration:none;color:inherit}.brand-logo{height:40px;width:auto;border-radius:8px;object-fit:cover}.app-container{display:block}.content{min-height:60vh;max-width:1100px;width:calc(100% - 32px);margin:12px auto;padding:0 16px;box-sizing:border-box}.layout{display:block}.side-slot{display:none}@media(min-width:900px){.layout{display:grid;grid-template-columns:1fr 300px;gap:12px;align-items:start}.side-slot{display:block;padding-left:8px;margin-top:36px}.side-inner{position:sticky;margin-top:12px;background-color:transparent;background-blend-mode:overlay;border-radius:12px;font-size:.92rem;padding:18px;color:#ddd;min-height:220px;box-shadow:0 8px 24px #00000059;border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.3)}.terms-inner{background-color:transparent;background-blend-mode:overlay;border-radius:12px;padding:18px;color:#ddd;min-height:120px;border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.3);margin-bottom:12px;font-size:.9rem}.terms-inner .terms-list{margin:6px 0 0;padding-left:16px;color:#ffffffdb;font-size:.92rem;line-height:1.45}.content{max-width:720px}}.card.small{padding:12px;background-color:#0f0f0f;background-image:linear-gradient(180deg,var(--surface-accent-1),transparent);background-blend-mode:overlay;border-radius:8px;color:#ddd}@media(max-width:900px){.app-root{max-width:680px;padding:12px 16px}.app-container{display:block}.header-inner,.content{max-width:680px}.timeline{margin:12px auto}}@media(min-width:901px){.app-root{padding:28px 24px}.timeline{margin:24px auto}}@media(max-width:480px){.header-inner{width:calc(100% - 24px);padding:10px 6px}.content{width:calc(100% - 24px);padding:0 12px}.header-actions{flex-direction:column;align-items:flex-end;gap:6px;margin-top:8px}}.fab{position:fixed;right:25px;bottom:25px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:56px;padding:0;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px #00000073,0 0 0 6px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.08);box-shadow:0 0 5px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5),0 0 20px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5);transform:translateZ(0);transition:transform .12s ease,box-shadow .5s ease;z-index:100}.fab:focus,.fab:hover{box-shadow:0 0 40px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5),0 0 40px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5)}.fab:active{transform:scale(.96)}.fab .fab-icon{display:inline-block;transform:translateY(-2px);line-height:1}@media(min-width:901px){.fab{width:72px;height:72px;font-size:36px;line-height:72px;right:36px;bottom:28px}.fab .fab-icon{transform:translateY(-4px);font-size:36px}}.composer-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300}.composer{width:calc(100% - 40px);max-width:640px;background-color:#0f0f0f;background-image:linear-gradient(180deg,var(--surface-accent-1),transparent);background-blend-mode:overlay;padding:16px;border-radius:12px;border:1px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.18);box-shadow:0 28px 80px #000000bf,0 0 90px 18px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.3),0 0 36px 8px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.18);transition:box-shadow .18s ease,transform .12s ease}.composer-overlay{opacity:0;animation:overlay-fade .22s cubic-bezier(.2,.8,.2,1) both}.composer{opacity:0;transform:scale(.98);will-change:transform,opacity;animation:modal-pop .22s cubic-bezier(.2,.8,.2,1) both}.composer-overlay.closing{animation:overlay-fade-out .22s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}.composer.closing{animation:modal-pop-out .22s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}.tutorial-overlay{position:fixed;inset:0;background:#00000080;opacity:0;animation:overlay-fade .22s cubic-bezier(.2,.8,.2,1) both;z-index:12000}.tutorial-overlay.closing{animation:overlay-fade-out .22s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}.tutorial-container{opacity:0;transform:scale(.98);will-change:transform,opacity;animation:modal-pop .22s cubic-bezier(.2,.8,.2,1) both}.tutorial-container.closing{animation:modal-pop-out .22s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}.composer-textarea{width:100%;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px;font-size:1rem;line-height:1.6;font-family:inherit;resize:none;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.composer-textarea:focus,.composer-textarea:focus-visible{outline:none;box-shadow:none;border-color:#ffffff1f}.composer-textarea{overflow:hidden}.composer-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.btn.primary{background:var(--accent);color:#fff;border:none;padding:8px 12px;border-radius:8px}.timeline-title{margin:0 0 12px;font-size:1.8rem}.posts-list{display:grid;gap:12px;width:100%;grid-template-columns:1fr}.post{position:relative;overflow:hidden;background-color:transparent;background-image:none;border-radius:12px;padding:20px 18px 56px;min-height:88px;max-width:100%;word-wrap:break-word;border:1.5px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5);box-shadow:0 2px 6px #0000002e,0 0 6px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.03),0 0 4px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5),inset 0 0 4px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.02);transition:box-shadow .5s ease,border-color .5s ease,inset .18s ease}.post:hover,.post:focus-within{border-color:rgba(var(--accent-r),var(--accent-g),var(--accent-b),.95);box-shadow:0 6px 18px #0000003d,0 0 14px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.22),0 0 30px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5),inset 0 0 10px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5)}.post-meta{position:absolute;right:12px;bottom:12px;display:flex;gap:8px;align-items:center;justify-content:flex-end;color:#ffffff8c;z-index:60;font-size:.78rem}.post-meta .post-id{opacity:.2}.post-meta .post-time{opacity:.55}@media(max-width:480px){.post-meta{font-size:.72rem;flex-direction:column;align-items:flex-end;flex-direction:column-reverse;gap:0px;right:12px;bottom:8px}}@media(min-width:901px){.post{padding:28px 24px 64px}}.posts-list>.post{width:100%!important;display:block!important}.post-text{margin:0;color:#fffffff2;line-height:1.6;font-size:1rem;white-space:pre-line}.post-mask{pointer-events:none;position:absolute;inset:0;background-color:#ffffff03;backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%);border-radius:inherit;border:none;box-shadow:0 6px 18px #0000003d;background-color:#ffffff01;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:background-position .12s linear,mask-position .12s linear,-webkit-mask-position .12s linear;z-index:40}.post-peek{position:absolute;z-index:220;color:#fffffff2;pointer-events:none;font-size:1rem;line-height:1.6;font-weight:500;transform:translate(-50%,-50%);display:inline-block;white-space:pre;max-width:none;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.post,.post-text,.post-peek,.post-meta{user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}h1{font-size:3.2em;line-height:1.1}.login-form h3,.rules-modal h2,.rules-modal h3,.login-modal h3{margin-top:0}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.rules-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.rules-modal{background:#0f0f0f;color:#eee;padding:18px;border-radius:10px;max-width:520px;width:calc(100% - 48px);box-shadow:none;border:none}.rules-modal h2{margin-top:0;margin-bottom:8px}.rules-modal p{margin:8px 0;color:#ffffffdb;font-size:.98rem}.rules-actions{display:flex;justify-content:flex-end;margin-top:12px}@media(max-width:480px){.rules-modal{text-align:left;margin:0 auto;padding-left:12px;padding-right:12px}.rules-actions{justify-content:center}.rules-actions .btn{min-width:120px}}.header-actions{display:flex;gap:8px;align-items:center}.rules-btn{display:inline-block}@media(min-width:901px){.rules-btn{display:none}.rules-overlay{display:none!important}}@media(max-width:900px){.header-actions .btn{font-size:.88rem;padding:.45em .9em}.header-actions .rules-btn{padding:.35em .8em}}@media(max-width:480px){.header-actions .btn{width:6em}}.login-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;z-index:1000}@media(min-width:901px){.login-overlay{align-items:center;padding-top:0}}.login-modal{background:#0f0f0f;color:#eee;padding:18px;border-radius:10px;max-width:520px;width:calc(100% - 48px);box-shadow:none;border:none;z-index:300}@media(max-width:480px){.login-modal{text-align:left;margin:0 auto;padding-left:12px;padding-right:12px}}.login-modal .login-form button{display:block;margin:1rem 0;min-width:140px}.modal-overlay{position:fixed;inset:0;background:#0009;opacity:0;pointer-events:auto;animation:overlay-fade .22s cubic-bezier(.2,.8,.2,1) both;display:flex;align-items:center;justify-content:center;z-index:300}.modal-content{background:#0f0f0f;color:#eee;padding:18px;border-radius:10px;max-width:520px;width:calc(100% - 48px);box-shadow:none;border:none;opacity:0;transform:scale(.98);will-change:transform,opacity;animation:modal-pop .22s cubic-bezier(.2,.8,.2,1) both}.modal-content,.composer{position:relative;z-index:1;outline:1.5px solid rgba(var(--accent-r),var(--accent-g),var(--accent-b),1);transition:outline-color .2s ease,outline-offset .2s ease,transform .16s ease;overflow:visible;box-shadow:0 0 14px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2),0 0 40px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.2)}@keyframes modal-pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-pop-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}.modal-overlay.closing{animation:overlay-fade-out .22s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}.modal-content.closing{animation:modal-pop-out .22s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}#root{width:100%;max-width:1280px;margin:0 auto;padding:0;text-align:left}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em var(--accent-a))}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-spin{animation:refresh-spin 1s linear infinite;transform-origin:50% 50%}.pull-indicator{display:flex;align-items:center;justify-content:center;color:#666;font-size:14px;overflow:hidden;height:0;opacity:0;transform:translateY(-6px);transition:height .22s ease,opacity .22s ease,transform .22s ease}.pull-indicator.show{opacity:1;transform:translateY(0)}.pull-indicator.no-transition{transition:none!important}
