:root{--color-bg:#000;--color-bg-secondary:#0a0a0a;--color-bg-card:#111;--color-text:#e0e0e0;--color-text-muted:#888;--color-text-dim:#555;--color-accent:#ff4800;--color-accent-hover:#ff5a1a;--color-accent-yellow:#fcee21;--color-error:#ff6b6b;--color-success:#7bffb8;--color-border:#ffffff1a;--color-border-focus:#ffffff40;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font-sans:"Zen Kaku Gothic New",sans-serif;--font-en:"Ysabeau Infant",sans-serif;--transition-fast:.15s ease;--transition-normal:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;overscroll-behavior-x:none;font-size:16px;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);overscroll-behavior-x:none;touch-action:pan-y;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;line-height:1.7;overflow-x:hidden}body.modal-open{width:100%;height:100dvh;position:fixed;left:0;right:0;overflow:hidden!important}.app-container{z-index:1;flex-direction:column;max-width:375px;min-height:100dvh;margin:0 auto;padding:0 20px 40px;display:flex;position:relative}.header{text-align:center;padding:60px 0 0;position:relative}.header__logo-wrapper{margin-bottom:20px;display:inline-block;position:relative}.header__glow{pointer-events:none;z-index:2;opacity:1;width:150px;height:150px;animation:7s ease-in-out infinite lightFlicker;position:absolute;top:67%;left:62%;transform:translate(-50%,-50%)}.header__logo{z-index:1;width:180px;height:auto;position:relative}.header__subtitle{color:#fff;letter-spacing:.12em;margin-top:4px;font-size:15px;font-weight:500;line-height:1.8}.input-area{flex-direction:column;gap:14px;margin-top:32px;display:flex}.input-field{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);font-size:.9rem;font-family:var(--font-sans);transition:border-color var(--transition-fast);background:0 0;outline:none;padding:14px 18px}.input-field::placeholder{color:var(--color-text-dim);font-size:.85rem}.input-field:focus{border-color:var(--color-border-focus)}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:6px;font-size:.95rem;font-weight:700;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);letter-spacing:.08em;width:100%;margin-bottom:30px;padding:16px 24px;font-size:1rem}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary .btn-emoji{font-size:1rem}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border);padding:10px 16px;font-size:.82rem}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-focus);background:#1a1a1a}.btn-ghost{color:var(--color-text-dim);background:0 0;padding:4px 8px;font-size:.72rem;font-weight:500}.btn-ghost:hover:not(:disabled){color:var(--color-text-muted)}.error-message{border-radius:var(--radius-sm);color:var(--color-error);background:#ff6b6b14;border:1px solid #ff6b6b26;margin-top:8px;padding:12px 16px;font-size:.82rem;animation:.3s fadeSlideIn}.loading-area{flex-direction:column;align-items:center;gap:16px;margin-top:36px;padding:32px;animation:.3s fadeIn;display:flex}.spinner{border:2.5px solid #ffffff1a;border-top-color:var(--color-accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.loading-text{color:var(--color-text-muted);font-size:.82rem}.trivia-card{width:405px;min-height:550px;margin-top:28px;margin-left:-20px;margin-right:-20px;padding:0 0 60px;animation:.5s cardAppear;position:relative;overflow:visible}.trivia-close-btn{z-index:10;cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;margin:22px 6px 0 0;padding:0;animation:.5s cubic-bezier(.34,1.56,.64,1) .6s forwards bounceIn;display:flex;position:absolute;top:20px;right:20px}.trivia-close-btn:hover{opacity:1}.trivia-close-btn img{width:170px;height:50px}.trivia-close-btn span{font-size:11px;font-family:var(--font-en);color:var(--color-accent-yellow);letter-spacing:.08em;font-weight:600}.trivia-blob-wrapper{pointer-events:none;z-index:0;width:88%;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards blobBounceIn;position:absolute;top:0;left:0}.trivia-blob{width:100%;height:auto;display:block}.trivia-content{z-index:1;opacity:0;max-width:82%;padding:90px 60px 60px 36px;animation:.8s .3s forwards textFadeIn;position:relative}.trivia-keyword{color:#000;margin:0;font-size:20px;font-weight:700;line-height:29px}.trivia-text{color:#716a00;margin-top:20px;font-size:14px;line-height:30px}.action-buttons{z-index:1;justify-content:center;align-items:flex-end;gap:25px;padding:0 40px 0 10px;display:flex;position:absolute;inset:435px 0 70px}.action-btn{cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.action-btn:first-child{opacity:0;order:3;margin-bottom:80px;animation:.5s cubic-bezier(.34,1.56,.64,1) .5s forwards bounceIn}.action-btn:nth-child(2){opacity:0;order:2;margin-bottom:8px;margin-left:15px;animation:.5s cubic-bezier(.34,1.56,.64,1) .65s forwards bounceIn}.action-btn:nth-child(3){opacity:0;order:1;margin-bottom:0;animation:.5s cubic-bezier(.34,1.56,.64,1) .8s forwards bounceIn}.action-btn:hover:not(:disabled){transform:scale(1.05)}.action-btn:active:not(:disabled){transform:scale(.95)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn img{width:90px;height:90px}.history-section{padding-top:30px}.history-header{justify-content:space-between;align-items:flex-end;margin-bottom:6px;display:flex}.history-title{color:var(--color-text);font-size:.95rem;font-weight:700}.history-note{color:var(--color-text-dim);margin-bottom:14px;font-size:12px}.history-list{flex-direction:column;gap:0;display:flex}.history-item{cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.history-item:hover{opacity:.8}.history-item__left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.history-item__denkyu{flex-shrink:0;width:8px;height:auto}.history-item__keyword{color:#fff;font-size:.88rem;font-weight:400}.history-item__arrow{border:1px solid var(--color-text-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.history-item__arrow svg{fill:none;width:8px;height:8px;stroke:var(--color-text-dim);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.toast{color:var(--color-success);border-radius:var(--radius-md);opacity:0;pointer-events:none;transition:all var(--transition-normal);z-index:1000;background:#1a1a1a;border:1px solid #7bffb826;padding:10px 24px;font-size:.82rem;font-weight:500;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 32px #00000080}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.footer{text-align:center;margin-top:auto;padding-top:48px;padding-bottom:16px}.footer__text{color:var(--color-text-dim);letter-spacing:.05em;font-size:.65rem;font-family:var(--font-en);font-optical-sizing:auto;font-weight:400}.modal-backdrop{z-index:99;animation:.3s forwards fadeIn;position:fixed;inset:0;background:#00000073!important;border-radius:0!important}.modal-overlay{z-index:100;background:0 0;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow:hidden auto}.modal-content{border:0;width:100%;max-width:405px;min-height:660px;margin:auto;padding:0;position:relative;overflow:visible;background:0 0!important;border-radius:0!important}.modal-noise{z-index:10;pointer-events:none;opacity:.35;background-image:url(../media/noise.16d07475.png);background-repeat:repeat;background-size:auto;position:fixed;inset:0}.modal-logo{z-index:1;opacity:0;margin-left:-2.5px;animation:.5s cubic-bezier(.34,1.56,.64,1) .2s forwards bounceIn;position:absolute;top:40px;left:50%;right:auto}.modal-logo img{width:220px;height:auto;animation:8s linear infinite logoSpin}@keyframes logoSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-blob-group{z-index:2;width:365px;height:464px;margin-left:-207.5px;position:absolute;top:160px;left:50%}.modal-blob-wrapper{z-index:1;width:100%;height:100%;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards blobBounceIn;position:absolute;top:0;left:0}.modal-blob-wrapper img{width:100%;height:auto}.modal-text-content{z-index:3;opacity:0;width:375px;padding:0 80px 0 30px;animation:.8s .3s forwards textFadeIn;position:absolute;top:100px;left:20px}.modal-keyword{color:#000;margin:0 0 20px;font-size:20px;font-weight:700;line-height:29px}.modal-trivia{color:#716a00;margin:0;font-size:14px;line-height:30px}.modal-action-buttons{z-index:4;pointer-events:none;position:absolute;inset:0}.modal-action-buttons .action-btn-wrapper{pointer-events:auto;width:90px;height:90px;position:absolute}.modal-action-buttons .action-btn{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0}.modal-action-buttons .action-btn-wrapper:first-child{z-index:30;bottom:-30px;right:0;transform:translate(10px,-110px)}.modal-action-buttons .action-btn-wrapper:nth-child(2){z-index:20;bottom:-70px;right:90px;transform:translateY(-60px)}.modal-action-buttons .action-btn-wrapper:nth-child(3){z-index:10;bottom:-110px;right:180px;transform:translate(-40px,-70px)}.modal-action-buttons .action-btn-wrapper:first-child .action-btn{opacity:0;animation:.5s cubic-bezier(.34,1.56,.64,1) .5s forwards bounceIn}.modal-action-buttons .action-btn-wrapper:nth-child(2) .action-btn{opacity:0;animation:.5s cubic-bezier(.34,1.56,.64,1) .65s forwards bounceIn}.modal-action-buttons .action-btn-wrapper:nth-child(3) .action-btn{opacity:0;animation:.5s cubic-bezier(.34,1.56,.64,1) .8s forwards bounceIn}.modal-action-buttons .action-btn img{backface-visibility:hidden;-webkit-font-smoothing:antialiased;width:90px;height:90px;transform:translateZ(0)}.modal-close-bottom{cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;width:375px;margin-left:-187.5px;padding:0;transition:opacity .2s;animation:.5s cubic-bezier(.34,1.56,.64,1) .9s forwards bounceIn;display:flex;position:absolute;bottom:40px;left:50%;right:auto;transform:none}.modal-close-bottom:hover{opacity:.8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardAppear{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes lightFlicker{0%{opacity:1}8%{opacity:.4}12%{opacity:.9}20%{opacity:.6}25%{opacity:1}35%{opacity:.85}42%{opacity:.3}46%{opacity:.8}55%{opacity:1}65%{opacity:.5}70%{opacity:.95}78%{opacity:.35}82%{opacity:.75}90%{opacity:1}95%{opacity:.6}to{opacity:1}}@keyframes blobBounceIn{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.96)}85%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.15)}70%{transform:scale(.92)}85%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
