:root,[data-theme=dark]{--primary-color:#0070f3;--primary-hover:#0051b3;--secondary-color:#6c757d;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545;--info-color:#17a2b8;--background-color:#fff;--surface-color:#f8f9fa;--card-background:#ffffff;--text-primary:#212529;--text-secondary:#6c757d;--text-muted:#868e96;--text-inverse:#ffffff;--border-color:#dee2e6;--border-light:#e9ecef;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1)}@keyframes chatView{0%{transform:translateY(1rem);opacity:0}30%{transform:translateY(-.3rem);opacity:1}to{transform:translateY(0);opacity:1}}@keyframes emoSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes emoMotion{0%{transform:scale(1)}20%{transform:scaleY(1.2)}40%{transform:scaleY(.8)}60%{transform:scaleX(1.1)}80%{transform:scale(1)}to{transform:scale(1)}}@keyframes ci-motion{0%{transform:scale(0)}20%{transform:scale(1.2)}30%{transform:scale(.9)}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes flip{0%{transform:perspective(400px) rotateY(0)}40%{transform:perspective(400px) rotateY(-10deg)}60%{transform:perspective(400px) rotateY(10deg)}to{transform:perspective(400px) rotateY(0)}}.fade-in{animation:fadeIn .3s ease-in-out}.slide-up{animation:slideUp .3s ease-out}.fade-in-down{animation:fadeInDown .3s ease-out}.scale-in{animation:scaleIn .3s ease-out}.rotate{animation:rotate 1s linear infinite}.pulse{animation:pulse 2s ease-in-out infinite}.bounce{animation:bounce 1s ease-in-out}.slide-in-left{animation:slideInLeft .3s ease-out}.slide-in-right{animation:slideInRight .3s ease-out}.zoom-in{animation:zoomIn .3s ease-out}.flip{animation:flip .6s ease-out}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.duration-fast{animation-duration:.15s}.duration-normal{animation-duration:.3s}.duration-slow{animation-duration:.5s}.ease-in{animation-timing-function:ease-in}.ease-out{animation-timing-function:ease-out}.ease-in-out{animation-timing-function:ease-in-out}.ease-linear{animation-timing-function:linear}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.ml-4{margin-left:1.5rem}.ml-5{margin-left:2rem}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.mr-4{margin-right:1.5rem}.mr-5{margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:1rem}.pt-4{padding-top:1.5rem}.pt-5{padding-top:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:1rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:2rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:1rem}.pl-4{padding-left:1.5rem}.pl-5{padding-left:2rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:1rem}.pr-4{padding-right:1.5rem}.pr-5{padding-right:2rem}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.flex-1{flex:1 1}.flex-auto{flex:auto}.flex-none{flex:none}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:-webkit-sticky;position:sticky}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.border{border:1px solid var(--border-color)}.border-0{border:0}.border-t{border-top:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-l{border-left:1px solid var(--border-color)}.border-r{border-right:1px solid var(--border-color)}.rounded{border-radius:.375rem}.rounded-sm{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-t{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-b{border-bottom-right-radius:.375rem}.rounded-b,.rounded-l{border-bottom-left-radius:.375rem}.rounded-l{border-top-left-radius:.375rem}.rounded-r{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-white{color:#fff}.text-black{color:#000}.bg-primary{background-color:var(--primary-color)}.bg-secondary{background-color:var(--secondary-color)}.bg-surface{background-color:var(--surface-color)}.bg-card{background-color:var(--card-background)}.bg-white{background-color:#fff}.bg-transparent{background-color:rgba(0,0,0,0)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}@media(max-width:768px){.hidden-mobile{display:none}}@media(min-width:769px)and (max-width:1024px){.hidden-tablet{display:none}}@media(min-width:1025px){.hidden-desktop{display:none}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.focus\:outline-none:focus{outline:none}.focus\:ring:focus{box-shadow:0 0 0 3px rgba(var(--primary-color),.1)}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:scale-110:hover{transform:scale(1.1)}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-50:hover{opacity:.5}.layout-container{height:100%;background-color:var(--background-color);transition:background-color .3s ease}.layout-main{width:100%;height:100%}.app-header{display:flex;position:-webkit-sticky;position:sticky;top:0;left:0;width:100%;height:7rem;background-color:#111;z-index:10}.app-header-inner{width:100%;margin:auto;min-width:32rem;overflow:auto}.theme-toggle-btn{position:relative;width:48px;height:24px;background:#e5e7eb;border-radius:12px;border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;padding:2px}.theme-toggle-btn:hover{transform:scale(1.05)}.theme-toggle-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}[data-theme=dark] .theme-toggle-btn{background:#3b82f6}.theme-toggle-slider{width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;transform:translateX(0);box-shadow:0 2px 4px rgba(0,0,0,.2)}[data-theme=dark] .theme-toggle-slider{transform:translateX(24px)}.theme-toggle-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;color:#6b7280;transition:color .3s ease}.theme-toggle-sun{left:2px}.theme-toggle-sun.active{color:#f59e0b}.theme-toggle-moon{right:2px}[data-theme=dark] .theme-toggle-moon{color:#fbbf24}.theme-toggle-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-toggle-loading{width:48px;height:24px;background:#e5e7eb;border-radius:12px;display:flex;align-items:center;padding:2px}@keyframes introSlideDown{0%{transform:translateY(-1rem);opacity:0}to{transform:translateY(0);opacity:1}}.intro-box{display:flex;justify-content:center;align-items:center;flex-direction:column;width:100%;height:100%}.intro-box em{display:block;width:4rem;height:4rem;background:url(/ci-masontalk.png) no-repeat 50% 50%/100% auto;animation:ci-motion .5s both;transform-origin:0 100%}.intro-box span{display:block;margin-top:.5rem;font-size:1.4rem;color:var(--text-primary);opacity:0;animation:introSlideDown .5s .1s both}.game-page{display:flex;flex-direction:column;height:100%;min-height:100vh;background-color:var(--background-color)}.game-lobby-section{flex-shrink:0;padding:1.5rem 1rem 1rem;border-bottom:1px solid var(--border-light)}.game-container{max-width:800px;margin:0 auto;display:flex;flex-direction:column}.game-lobby-header{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.game-lobby-header .game-title{flex:1 1;min-width:0}.game-lobby-header .game-ready-btn{flex-shrink:0}.game-chat-section{flex:1 1;min-height:0;display:flex;flex-direction:column;max-width:800px;margin:0 auto;width:100%;position:relative}.game-chat-section .talk-history-box{flex:1 1;height:100%;min-height:0;overflow-y:auto;padding:1rem 1rem 7rem;box-sizing:border-box}.game-chat-section .talk-history-box.no-header{padding:1rem 1rem 7rem}.game-chat-history{flex:1 1;overflow-y:auto;padding:1rem;box-sizing:border-box}.game-chat-empty{display:flex;align-items:center;justify-content:center;min-height:8rem;text-align:center;font-size:.95rem;color:var(--text-muted);line-height:1.5}.game-chat-date{margin:1.25rem auto;text-align:center}.game-chat-date span{display:inline-block;padding:.5rem 1.25rem;font-size:.85rem;color:var(--text-muted);border-radius:999px;background:var(--surface-color)}.game-chat-message{margin-bottom:.5rem;font-size:.95rem;animation:chatView .4s ease-out both}.game-chat-message p{margin:0}.game-chat-message p span{display:block;margin-bottom:.2rem;font-size:.8rem;color:var(--text-secondary)}.game-chat-message p strong{display:inline-block;padding:.5rem .75rem;font-weight:400;font-size:.95rem;color:var(--text-primary);background:var(--surface-color);border-radius:.5rem;word-break:break-word}.game-chat-message p strong em{display:inline-block;margin-left:.4rem;font-size:.75rem;font-style:normal;opacity:.85}.game-chat-message.is-me p strong{background:var(--primary-color);color:var(--text-inverse)}.game-chat-input-box{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border-light);background:var(--surface-color);flex-shrink:0}.game-chat-textarea{flex:1 1;min-height:2.5rem;max-height:6rem;padding:.6rem .75rem;font-size:.95rem;border:1px solid var(--border-color);border-radius:.5rem;resize:none;background:var(--card-background);color:var(--text-primary)}.game-chat-textarea::placeholder{color:var(--text-muted)}.game-chat-send-btn{padding:.6rem 1rem;font-size:.95rem;font-weight:500;color:var(--text-inverse);background:var(--primary-color);border-radius:.5rem;flex-shrink:0}.game-chat-send-btn:hover{background:var(--primary-hover)}.game-title{font-size:1.75rem;font-weight:600;color:var(--text-primary)}.game-room-id{font-size:.9rem;color:var(--text-secondary)}.game-host-badge{display:inline-block;padding:.25rem .75rem;font-size:.8rem;font-weight:500;background:var(--primary-color);color:var(--text-inverse);border-radius:999px}.game-form{display:flex;flex-direction:column;gap:.75rem}.game-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--card-background);color:var(--text-primary)}.game-input::placeholder{color:var(--text-muted)}.game-error-text{font-size:.875rem;color:var(--danger-color)}.game-submit-btn{padding:.75rem 1rem;font-size:1rem;font-weight:500;color:var(--text-inverse);background:var(--primary-color);border-radius:.5rem}.game-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.game-submit-btn:disabled{opacity:.6}.game-player-list{list-style:none;display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin:.5rem 0 0;padding:0}.game-player-row{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem .6rem;background:var(--surface-color);min-width:0}.game-player-row.is-me{border-color:var(--primary-color)}.game-player-avatar{display:block;width:3rem;height:3rem;background:var(--border-light);border-radius:.35rem;flex-shrink:0}.game-player-row.is-me .game-player-avatar{background:var(--primary-color);opacity:.9}.game-player-nickname{font-weight:500;font-size:1rem;color:var(--text-primary);max-width:4.5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;word-break:break-word;text-align:center}.game-player-ready{position:absolute;top:.25rem;left:.25rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--text-muted);opacity:.7;flex-shrink:0}.game-player-ready.is-ready{background:var(--success-color);opacity:1}.game-ready-badge{font-size:.8rem;color:var(--text-muted)}.game-ready-badge.is-ready{color:var(--success-color)}.game-actions{display:flex;gap:.75rem;flex-wrap:wrap}.game-ready-btn{padding:.75rem 1.25rem;font-size:1rem;font-weight:500;border-radius:.5rem;background:var(--surface-color);color:var(--text-primary);border:1px solid var(--border-color)}.game-ready-btn:hover{opacity:.9}.game-ready-btn.is-ready{background:var(--success-color);color:var(--text-inverse)}.game-start-btn{padding:.75rem 1.25rem;font-size:1rem;font-weight:500;color:var(--text-inverse);background:var(--primary-color);border-radius:.5rem}.game-start-btn:hover:not(:disabled){background:var(--primary-hover)}.game-start-btn:disabled{opacity:.5;cursor:not-allowed}.game-hint{font-size:.85rem;color:var(--text-muted)}.talk-header{display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;width:100%;height:6rem;background-color:rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.talk-header h2{padding:0 2rem;font-weight:400;font-size:1.3rem;color:#000}.talk-header p{margin:0;padding-right:2rem}.talk-header p em{font-style:normal}.talk-history-wrap{width:100%;height:100%;background-color:#f2f2f2}.talk-history-box{width:100%;max-width:720px;height:100%;margin:auto;padding:7rem 1rem 6rem;overflow-y:auto;box-sizing:border-box;background-color:#fff}.talk-history-box.no-header{padding:1rem 1rem 6rem}.talk-date-ui{margin:2rem auto;box-sizing:border-box;text-align:center}.talk-date-ui span{display:inline-block;padding:.8rem 2rem;font-size:1.2rem;color:rgba(0,0,0,.5);border-radius:3rem;background-color:rgba(0,0,0,.1)}.talk-message-ui{display:flex;margin-bottom:.5rem;padding:.4rem 2.4rem .4rem 0;font-size:1.4rem;color:#fff;animation:chatView .7s .2s both}.talk-message-ui.my-talk{flex-direction:row-reverse;margin-left:auto;padding:.4rem 0 .4rem 2.4rem}.talk-message-ui.my-talk p{margin-left:0;margin-right:1rem}.talk-message-ui.my-talk p strong{color:#000;background-color:#ffe776}.talk-message-ui.my-talk p strong:before{left:auto;right:-.6rem;border-left:.5rem solid rgba(0,0,0,0);border-right:.5rem solid rgba(0,0,0,0);border-bottom-color:#ffe776;transform:rotate(65deg)}.talk-message-ui.my-talk p strong em{left:auto;right:100%;margin-right:.6rem}.talk-message-ui .emo{display:block;margin:1rem 0;font-size:12rem}.talk-message-ui .profile{display:flex;justify-content:center;align-items:center;flex-shrink:0;position:relative;width:4rem;height:4rem;font-weight:200;font-size:4rem;color:hsla(0,0%,100%,.6);line-height:1;background-color:#090909;border-radius:1.2rem;box-sizing:border-box}.talk-message-ui .profile.bum{background-repeat:no-repeat;background-size:auto 100%;background-color:#a5b5e5}.talk-message-ui p{display:inline-block;position:relative;max-width:calc(100vw - 12rem);margin-left:1rem}.talk-message-ui p span{display:block;margin-bottom:.1rem;font-size:1.1rem;color:#111}.talk-message-ui p span span{display:inline;color:#ffd74d}.talk-message-ui p em{display:inline-block;position:absolute;bottom:1rem;left:calc(100% + .6rem);right:0;width:4rem;font-size:1.1rem;color:#999;font-style:normal}.talk-message-ui p strong{display:inline-block;position:relative;padding:1rem 1.2rem 1.2rem 1.5rem;line-height:1.3;font-weight:400;font-size:1.5rem;color:#555;background-color:#f4f4f4;border-radius:.8rem;word-break:break-all;z-index:2}.talk-message-ui p strong:before{content:"";position:absolute;top:0;left:-.6rem;width:0;height:0;border-bottom:1rem solid #f4f4f4;border-left:.5rem solid rgba(0,0,0,0);border-right:.5rem solid rgba(0,0,0,0);transform:rotate(-65deg);z-index:-1}.talk-message-ui p strong em{bottom:0}.talk-chat-input-box{display:flex;justify-content:space-between;position:absolute;bottom:0;left:0;right:0;margin:auto;border-top:.1rem solid hsla(0,0%,100%,.15);background-color:rgba(0,0,0,.1);z-index:10}.talk-chat-input-box,.talk-textarea{width:100%;padding:1rem;box-sizing:border-box}.talk-textarea{height:4rem;font-size:1.3rem;border:1px solid rgba(0,0,0,.3);border-radius:.6rem;resize:none}.talk-textarea:active{border-color:rgba(0,0,0,.5)}.talk-send-btn{width:6rem;height:4rem;font-size:1.3rem;margin-left:.7rem;background-color:#222;color:#fff;border:none;border-radius:.6rem;cursor:pointer;transition:.2s}.talk-send-btn:hover{background-color:#000}.talk-emo-box{position:absolute;right:0;bottom:6rem;left:0;width:100%;height:13rem;margin:auto;overflow-y:auto;background-color:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:emoSlideUp .3s both;box-sizing:border-box;z-index:2}.talk-emo-box .emo-list{display:flex;justify-content:flex-start;align-items:center;border-bottom:.1rem solid hsla(0,0%,100%,.1)}.talk-emo-box .emo-list button{padding:1rem 2rem;font-size:1.4rem;color:#fff;border-right:.1rem solid hsla(0,0%,100%,.1);box-sizing:border-box}.talk-emo-box .emo-list button.active{border-bottom:.2rem solid hsla(0,0%,100%,.2)}.talk-emo-box ul{padding:1.5rem 0 1.5rem 1.5rem;height:12rem;overflow:auto;box-sizing:border-box}.talk-emo-box ul li{display:inline-block;margin-right:1rem;margin-bottom:1rem}.talk-emo-box ul li button{font-size:6rem}.talk-emo-box ul li button span{transition:.2s}.talk-emo-box ul li button:hover span{transform:scale(1.1)}.talk-emo-select{position:absolute;right:0;bottom:6rem;left:0;width:100%;height:19rem;margin:auto;overflow-y:auto;background-color:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;z-index:2}.talk-emo-select .emo-select{padding:0 1.5rem;font-size:12rem}.talk-btn-close{position:absolute;top:0;right:0;width:4rem;height:4rem}.talk-btn-close span{display:block;text-indent:-999rem}.talk-btn-close span:after,.talk-btn-close span:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:1.6rem;height:.1rem;margin:auto;background-color:hsla(0,0%,100%,.7)}.talk-btn-close span:before{transform:rotate(45deg)}.talk-btn-close span:after{transform:rotate(135deg)}.talk-btn-back{display:block;position:relative;width:4rem;height:5rem}.talk-btn-back span{position:absolute;top:0;right:0;bottom:0;left:1rem;width:1rem;height:1rem;margin:auto;border-bottom:.1rem solid hsla(0,0%,100%,.5);border-left:.1rem solid hsla(0,0%,100%,.5);text-indent:-999rem;transform:rotate(45deg)}.talk-emo+em{margin-top:-1rem}.talk-emo.emo-bam{display:block;width:1em;height:1em;text-indent:-999rem;background-size:auto 100%;background-image:url(/emoticon/bamticon.jpg);border-radius:.18em}.talk-emo.emo-bam.type2{background-position:-1em 0}.talk-emo.emo-bam.type3{background-position:-2em 0}.talk-emo.emo-bam.type4{background-position:-3em 0}.talk-emo.emo-bam.type5{background-position:-4em 0}.talk-emo.emo-bam.type6{background-position:-5em 0}.talk-emo.emo-bam.type7{background-position:-6em 0}.talk-emo.emo-bam.type8{background-position:-7em 0}.talk-emo.emo-bam.type9{background-position:-8em 0}.talk-emo.emo-bam.type10{background-position:-9em 0}.talk-emo.emo-bam.type11{background-position:-10em 0}.talk-emo.emo-bam.type12{background-position:-11em 0}.talk-emo.emo-bam.type13{background-position:-12em 0}.talk-emo.emo-bam.type14{background-position:-13em 0}.talk-emo.emo-bam.type15{background-position:-14em 0}.talk-emo.emo-mumu{display:block;width:1em;height:1em;text-indent:-999rem;background-size:auto 100%;background-image:url(/emoticon/mumuticon.jpg);border-radius:.18em}.talk-emo.emo-mumu.type2{background-position:-1em 0}.talk-emo.emo-mumu.type3{background-position:-2em 0}.talk-emo.emo-mumu.type4{background-position:-3em 0}.talk-emo.emo-mumu.type5{background-position:-4em 0}.talk-emo.emo-mumu.type6{background-position:-5em 0}.talk-emo.emo-mumu.type7{background-position:-6em 0}.talk-emo.emo-mumu.type8{background-position:-7em 0}.talk-emo.emo-mumu.type9{background-position:-8em 0}.talk-emo.emo-mumu.type10{background-position:-9em 0}.talk-emo.emo-mumu.type11{background-position:-10em 0}.talk-emo.emo-mumu.type12{background-position:-11em 0}.talk-emo.emo-mumu.type13{background-position:-12em 0}.talk-emo.emo-mumu.type14{background-position:-13em 0}.talk-btn-emo{flex-shrink:0;width:4rem;height:4rem;margin-left:.7rem;border-radius:.6rem;background-color:rgba(0,0,0,.6)}.talk-btn-emo span{display:block;position:relative;width:100%;height:100%;text-indent:-999rem}.talk-btn-emo span:before{background-size:1.4rem auto;background-image:url(/common/icon-emo.png);animation:emoMotion 2s infinite}.talk-btn-emo span:after,.talk-btn-emo span:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-repeat:no-repeat;background-position:50% 50%}.talk-btn-emo span:after{background-size:1.8rem auto;background-image:url(/common/icon-emo-active.png);transition:.2s;opacity:0;transform:scale(0)}.talk-btn-emo.active{background-color:#214b8b}.talk-btn-emo.active span:after{opacity:1;transform:scale(1)}.talk-full-flex-box{display:flex;justify-content:center;align-items:center;flex-direction:column;width:100%;height:100%;text-align:center}.talk-full-flex-box em{display:block;width:3rem;height:3rem;margin:0 auto 1rem;background:url(/ci-masontalk.png) no-repeat 50% 50%/100% auto;animation:ci-motion .5s both;transform-origin:0 100%}.talk-full-flex-box p{line-height:1.3}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;height:100%;overflow-x:hidden;overflow-y:auto;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:10px;line-height:1.6;color:var(--text-primary);background-color:var(--background-color);-webkit-text-size-adjust:none;font-display:fallback;-ms-overflow-style:none;scrollbar-width:none;transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}button{background:none;padding:0}button:disabled{cursor:default}:focus{outline:none;border:none}::-webkit-scrollbar{display:none}body>div{height:100%}a{color:var(--primary-color);text-decoration:none;transition:color .15s ease-in-out}a:hover{color:var(--primary-hover)}p{color:var(--text-secondary);transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}ol,p,ul{margin-bottom:1rem}ol,ul{padding-left:1.5rem}ol li,ul li{margin-bottom:.25rem;color:var(--text-secondary);transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}code{color:var(--text-primary);padding:.25rem .5rem;border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}code,pre{background-color:var(--surface-color);transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}pre{padding:1.5rem;border-radius:.5rem;overflow-x:auto;margin-bottom:1.5rem;border:1px solid var(--border-color)}pre code{background:none;padding:0;color:var(--text-primary)}blockquote{border-left:4px solid var(--primary-color);margin:1.5rem 0;font-style:italic;color:var(--text-secondary);background-color:var(--surface-color);padding:1.5rem;border-radius:.375rem;transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}table td,table th{padding:.5rem 1rem;text-align:left;border-bottom:1px solid var(--border-color);transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}table th{font-weight:600;color:var(--text-primary)}table th,table tr:hover{background-color:var(--surface-color)}button{cursor:pointer;border:none;outline:none}button,input,select,textarea{font-family:inherit;transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}input,select,textarea{border:1px solid var(--border-color);border-radius:.375rem;padding:.5rem 1rem;background-color:var(--card-background);color:var(--text-primary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color),.1)}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background-color:rgba(var(--primary-color),.2);color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(max-width:768px){.container{padding:0 .5rem}}.section{padding:3rem 0}@media(max-width:768px){.section{padding:2rem 0}}.card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out;box-shadow:var(--shadow-sm);transition:box-shadow .25s ease-in-out}.card:hover{box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .25s ease-in-out}.btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .25s ease-in-out}.btn-primary:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .25s ease-in-out}.btn-secondary:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--surface-color);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--border-color)}.input{width:100%;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:.375rem;background-color:var(--card-background);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;transition:all .25s ease-in-out}.input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color),.1)}.input::placeholder{color:var(--text-muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem}@media(max-width:768px){.grid{grid-template-columns:1fr;gap:1rem}}img{max-width:100%;height:auto;display:block}.icon{width:1em;height:1em;vertical-align:middle;fill:currentColor}.icon,.spinner{display:inline-block}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-color);border-top-color:var(--primary-color);animation:rotate 1s linear infinite}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color)}.badge-primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.badge-success{background-color:var(--success-color);color:#fff;border-color:var(--success-color)}.badge-warning{background-color:var(--warning-color);color:#fff;border-color:var(--warning-color)}.badge-danger{background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}.alert{padding:1rem;border-radius:.375rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,0)}.alert.alert-info{background-color:rgba(var(--info-color),.1);border-color:var(--info-color);color:var(--info-color)}.alert.alert-success{background-color:rgba(var(--success-color),.1);border-color:var(--success-color);color:var(--success-color)}.alert.alert-warning{background-color:rgba(var(--warning-color),.1);border-color:var(--warning-color);color:var(--warning-color)}.alert.alert-danger{background-color:rgba(var(--danger-color),.1);border-color:var(--danger-color);color:var(--danger-color)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal .modal-content{background-color:var(--card-background);border-radius:.5rem;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background-color:var(--text-primary);color:var(--text-inverse);padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease-in-out;z-index:100}.tooltip:hover:after{opacity:1}.dropdown{position:relative;display:inline-block}.dropdown .dropdown-content{position:absolute;top:100%;left:0;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:.375rem;box-shadow:var(--shadow-lg);min-width:160px;z-index:100;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .25s ease-in-out}.dropdown .dropdown-content.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown .dropdown-item{display:block;padding:.5rem 1rem;color:var(--text-primary);text-decoration:none;transition:background-color .15s ease-in-out}.dropdown .dropdown-item:hover{background-color:var(--surface-color)}.tabs{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tabs .tab{display:inline-block;padding:.5rem 1rem;color:var(--text-secondary);text-decoration:none;border-bottom:2px solid rgba(0,0,0,0);transition:all .15s ease-in-out}.tabs .tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tabs .tab:hover{color:var(--text-primary)}.progress{width:100%;height:8px;background-color:var(--surface-color);border-radius:9999px;overflow:hidden}.progress .progress-bar{height:100%;background-color:var(--primary-color);transition:width .25s ease-in-out}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.avatar.avatar-sm{width:24px;height:24px}.avatar.avatar-lg{width:64px;height:64px}.divider{height:1px;background-color:var(--border-color);margin:1.5rem 0;border:none}.skeleton{background:linear-gradient(90deg,var(--surface-color) 25%,var(--border-color) 50%,var(--surface-color) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:.25rem}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}