html,:root{--exhibition-bg:#f4f3ea}@font-face{font-family:KCC-Hanbit;src:url(/fonts/KCC-Hanbit.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}body{background:var(--exhibition-bg);width:100%;height:100%;margin:0;padding:0;font-family:KCC-Hanbit,sans-serif;overflow:hidden}button,input,textarea{font-family:KCC-Hanbit,sans-serif}#app{background:var(--exhibition-bg);width:100vw;height:100vh;position:relative;overflow:hidden}#main-canvas,#projector-canvas{z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}#ui-layer{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0}#guide-text{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#ffffff29;border-radius:999px;margin:0;padding:14px 24px;font-size:20px;font-weight:600;position:absolute;top:36px;left:50%;transform:translate(-50%)}button{color:#07111f;cursor:pointer;background:#fff;border:none;border-radius:999px;padding:12px 20px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;box-shadow:0 8px 24px #00000038}button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #00000047}button:active{transform:translateY(1px);box-shadow:0 5px 16px #00000038}#app.intro-background #main-canvas{opacity:.65;filter:blur(6px)}.start-overlay{z-index:100;pointer-events:auto;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:absolute;inset:0}.start-button{z-index:101;pointer-events:auto;color:#000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);letter-spacing:.04em;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff7a;border-radius:999px;padding:22px 52px;font-size:30px;font-weight:800;position:relative;box-shadow:0 18px 48px #0000005c}.flow-message-box{z-index:90;color:#000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none;opacity:1;background:#f8f7f5bd;border:1px solid #ffffff47;border-radius:28px;transition:opacity .7s,transform .7s;position:absolute;box-shadow:0 24px 70px #0000005c}.flow-message-box.fade-out{opacity:0}.intro-flow-message{width:min(720px,100vw - 72px);padding:34px 42px 38px;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-flow-message.fade-out{transform:translate(-50%,calc(12px - 50%))}.question-flow-message{text-align:center;width:min(640px,100vw - 72px);padding:22px 30px;bottom:42px;left:50%;transform:translate(-50%)}.complete-flow-message{text-align:center;width:min(720px,100vw - 72px);padding:24px 32px;bottom:42px;left:50%;transform:translate(-50%)}.flow-message-header{align-items:center;gap:16px;display:flex}.flow-message-header.compact{justify-content:center;margin-bottom:8px}.flow-logo{object-fit:contain;max-width:132px;max-height:52px}.flow-title{letter-spacing:.02em;font-size:26px;font-weight:800}.flow-divider{background:#ffffff52;width:100%;height:1px;margin:22px 0}.flow-message-text{word-break:keep-all;margin:0;font-size:22px;font-weight:600;line-height:1.7}.restart-button{z-index:110;pointer-events:auto;color:#07111f;cursor:pointer;background:#fffffff0;border:1px solid #ffffffb3;position:absolute;top:32px;right:32px}.panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;z-index:30;background:#ffffff29;border-radius:28px;align-items:center;gap:12px;padding:18px 22px;display:flex;position:absolute;bottom:56px;left:50%;transform:translate(-50%)}.memory-writing-card{box-sizing:border-box;z-index:60;pointer-events:auto;color:#07111f;opacity:0;width:min(1180px,100vw - 96px);height:min(680px,100vh - 96px);transition:opacity .8s,transform .8s;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)translateY(24px)}.memory-writing-card.is-visible{opacity:1;transform:translate(-50%,-50%)translateY(0)}.writing-two-card-layout{grid-template-columns:2fr 1fr;gap:28px;width:100%;height:100%;display:grid}.memory-info-card,.memory-input-card{box-sizing:border-box;color:#07111f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff9e;border:1px solid #ffffffb8;border-radius:38px;box-shadow:0 24px 70px #0003}.memory-info-card{flex-direction:column;justify-content:flex-start;align-items:center;padding:44px 58px 54px;display:flex}.memory-preview-area,.memory-preview-zone{justify-content:center;align-items:center;width:100%;height:260px;margin-bottom:28px;display:flex}.memory-preview-bubble{text-align:center;filter:drop-shadow(0 14px 24px #00000038);background-image:url(/assets/default-C2rvYRZx.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;justify-content:center;align-items:center;width:230px;height:230px;display:flex;position:relative}.memory-preview-text{text-align:center;word-break:keep-all;overflow-wrap:break-word;white-space:pre-wrap;color:#07111f;letter-spacing:-.035em;justify-content:center;align-items:center;width:64%;height:64%;margin:0;font-size:17px;font-weight:800;line-height:1.35;display:flex}.memory-preview-bubble-text{text-align:center;word-break:keep-all;overflow-wrap:break-word;white-space:pre-wrap;width:100%;display:block}.memory-question-title{letter-spacing:-.045em;text-align:center;word-break:keep-all;width:100%;margin:0 0 20px;font-size:36px;font-weight:850;line-height:1.35}.memory-question-description{color:#07111fad;letter-spacing:-.035em;text-align:center;word-break:keep-all;width:min(640px,100%);margin:0;font-size:20px;font-weight:600;line-height:1.75}.memory-input-card{flex-direction:column;justify-content:flex-start;padding:46px 34px 36px;display:flex}.memory-writing-title,.memory-input-question{letter-spacing:-.04em;text-align:left;word-break:keep-all;width:100%;margin:0 0 28px;font-size:26px;font-weight:850;line-height:1.5}.memory-textarea-wrap{flex:1;width:100%;display:flex;position:relative}#text-input{box-sizing:border-box;resize:none;color:#07111f;background:#fffffff0;border:none;border-radius:26px;outline:none;width:100%;height:100%;min-height:0;padding:22px 22px 52px;font-family:inherit;font-size:20px;font-weight:650;line-height:1.6}#text-input::placeholder{color:#07111f73}.memory-char-count{color:#07111f7a;pointer-events:none;font-size:14px;font-weight:800;position:absolute;bottom:16px;right:20px}.memory-submit-button,#text-submit-button{color:#07111f;background:#dfdfdf;align-self:flex-end;min-width:136px;margin-top:22px;padding:14px 26px;font-size:17px;font-weight:850}.limit-alert{z-index:200;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f4f3ea61;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.limit-alert-box{box-sizing:border-box;color:#07111f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#ffffffc7;border:1px solid #ffffffbf;border-radius:30px;width:min(520px,100vw - 72px);padding:36px 42px;box-shadow:0 24px 70px #00000038}.limit-alert-text{letter-spacing:-.03em;word-break:keep-all;margin:0 0 24px;font-size:26px;font-weight:850;line-height:1.55}.limit-alert-confirm{background:#dfdfdf;min-width:120px}@media (width<=980px){.memory-writing-card{width:min(760px,100vw - 48px);height:min(760px,100vh - 48px)}.writing-two-card-layout{grid-template-rows:1.25fr 1fr;grid-template-columns:1fr;gap:20px}.memory-info-card{padding:30px 34px 34px}.memory-input-card{padding:30px 30px 28px}.memory-preview-area,.memory-preview-zone{height:170px;margin-bottom:18px}.memory-preview-bubble{width:150px;height:150px}.memory-question-title{margin-bottom:12px;font-size:26px}.memory-question-description{font-size:16px;line-height:1.6}.memory-writing-title,.memory-input-question{margin-bottom:18px;font-size:22px}#text-input{font-size:18px}}.original-card{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;z-index:30;background:#ffffff24;border-radius:24px;width:260px;padding:20px;position:absolute;top:110px;right:40px}.original-card-label{opacity:.7;margin-bottom:10px;font-size:13px;display:block}#original-card-text{word-break:keep-all;margin:0;font-size:20px;font-weight:700;line-height:1.5}#projector-ui{color:#fff;opacity:.6;pointer-events:none;z-index:5;font-size:14px;position:absolute;top:24px;left:32px}.burst-overlay{z-index:9999;pointer-events:auto;background:#1c1c1cdb;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.burst-message-box{z-index:10000;box-sizing:border-box;color:#000;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#f8f7f5bd;border:1px solid #fff3;border-radius:36px;flex-direction:column;justify-content:center;align-items:center;width:min(680px,100vw - 72px);padding:52px 56px;display:flex;position:relative;box-shadow:0 28px 90px #0000006b}.burst-message-header{justify-content:center;align-items:center;width:100%;margin-bottom:22px;display:flex}.burst-message-header .flow-logo{object-fit:contain;width:auto;max-width:132px;height:auto;max-height:52px;display:block}.burst-message-text{letter-spacing:-.04em;word-break:keep-all;width:100%;margin:0 0 34px;font-size:30px;font-weight:850;line-height:1.55}.burst-retry-button{z-index:10001;color:#000;cursor:pointer;pointer-events:auto;background:#dfdfdfe6;border:none;border-radius:999px;min-width:160px;padding:15px 32px;font-size:18px;font-weight:850;position:relative}.burst-retry-button:hover{background:#fff}@media (width<=900px){.burst-message-box{width:min(560px,100vw - 48px);padding:38px 32px}.burst-message-text{font-size:24px}}.hand-cursor{z-index:20000;pointer-events:none;background:#ffffff80;border:2px solid #07111fbf;border-radius:999px;width:34px;height:34px;transition:width .12s,height .12s,background .12s,border-color .12s;position:fixed;top:0;left:0;box-shadow:0 0 0 6px #ffffff3d,0 12px 28px #0000002e}.hand-cursor.grabbing{background:#ffdc78c7;border-color:#07111ff2;width:46px;height:46px}.hand-cursor.hidden{display:none}.hand-hovered{filter:brightness(1.08);transform:scale(1.06);box-shadow:0 0 0 6px #ffffff42,0 16px 36px #0000002e}.pump-guide-card{box-sizing:border-box;z-index:65;pointer-events:none;width:min(760px,100vw - 72px);position:absolute;bottom:56px;left:50%;transform:translate(-50%)}.pump-guide-card-inner{color:#07111f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff9e;border:1px solid #ffffffb8;border-radius:30px;justify-content:center;align-items:center;gap:18px;padding:22px 34px;display:flex;box-shadow:0 24px 70px #0003}.pump-guide-logo{object-fit:contain;flex-shrink:0;width:auto;max-width:132px;height:auto;max-height:52px}.pump-guide-text{letter-spacing:-.04em;word-break:keep-all;text-align:center;margin:0;font-size:24px;font-weight:850;line-height:1.55}@media (width<=900px){.pump-guide-card-inner{flex-direction:column;gap:10px;padding:22px 26px}.pump-guide-text{font-size:20px}}.memory-preview-bubble{transform-origin:50%;transition:opacity .22s,transform .22s,filter .22s}.memory-preview-bubble.is-releasing{opacity:0;filter:blur(2px);transform:scale(1.08)}.memory-writing-card.is-bubble-releasing .memory-info-card{background:#ffffff6b;transition:background .35s,opacity .35s}.memory-writing-card.is-exiting{opacity:0;pointer-events:none;opacity:0;pointer-events:none;transform:translate(-50%,-50%)translateY(-18px)scale(.985)}#back-button{z-index:120;pointer-events:auto;color:#07111f;cursor:pointer;background:#fffffff0;border:1px solid #ffffffb3;position:absolute;top:32px;left:32px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.color-panel{gap:16px;padding:18px 22px}.color-button{background:#ffffff8f;border:1px solid #ffffffc2;border-radius:26px;justify-content:center;align-items:center;width:86px;height:86px;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000029}.color-button:before{content:"";background-position:50%;background-repeat:no-repeat;background-size:contain;width:74px;height:74px;transition:transform .18s,filter .18s;display:block}.color-button:hover:before{transform:scale(1.08)}.color-button.is-selected{transform:translateY(-3px)scale(1.05);box-shadow:0 0 0 3px #fffffff2,0 16px 36px #0000003d}.color-button.is-selected:before{filter:drop-shadow(0 8px 14px #0003);transform:scale(1.12)}.color-button[data-color=red]:before{background-image:url(/assets/red-1-l-r3tST6.svg)}.color-button[data-color=yellow]:before{background-image:url(/assets/yellow-1-CDoOrdWX.svg)}.color-button[data-color=green]:before{background-image:url(/assets/green-1-Crckj_vA.svg)}.color-button[data-color=sky]:before{background-image:url(/assets/sky-1-CbhSRCz1.svg)}.color-button[data-color=blue]:before{background-image:url(/assets/blue-1-LXf2NBVq.svg)}.color-button[data-color=purple]:before{background-image:url(/assets/purple-1-BM-HSht2.svg)}.color-button[data-color=pink]:before{background-image:url(/assets/pink-1-DeAaNusD.svg)}.color-next-button{color:#07111f;pointer-events:auto;background:#fffffff0;margin-left:10px;padding:14px 30px;font-size:17px;font-weight:850}.color-next-button:disabled,.color-next-button.is-disabled{opacity:.38;cursor:default;box-shadow:none;transform:none}.color-guide-card{box-sizing:border-box;z-index:72;pointer-events:none;width:min(820px,100vw - 72px);position:absolute;top:58px;left:50%;transform:translate(-50%)}.color-guide-card-inner{color:#07111f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff9e;border:1px solid #ffffffb8;border-radius:30px;justify-content:center;align-items:center;gap:24px;padding:24px 38px;display:flex;box-shadow:0 24px 70px #0003}.color-guide-logo{object-fit:contain;flex-shrink:0;width:auto;height:76px}.color-guide-text-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.color-guide-main-text{letter-spacing:-.04em;word-break:keep-all;text-align:center;margin:0 0 6px;font-size:30px;font-weight:850;line-height:1.25}.color-guide-sub-text{letter-spacing:-.035em;word-break:keep-all;text-align:center;margin:0;font-size:21px;font-weight:700;line-height:1.35}@media (width<=900px){.color-guide-card-inner{gap:16px;padding:22px 26px}.color-guide-logo{height:64px}.color-guide-main-text{font-size:24px}.color-guide-sub-text{font-size:18px}}.pump-intro-message{z-index:68;pointer-events:none;opacity:0;justify-content:center;align-items:center;transition:opacity 1s,transform 1s;display:flex;position:absolute;inset:0;transform:translateY(12px)}.pump-intro-message.is-visible{opacity:1;transform:translateY(0)}.pump-intro-message.is-hiding{opacity:0;transform:translateY(-12px)}.pump-intro-message p{color:#07111f;letter-spacing:-.045em;text-align:center;word-break:keep-all;text-shadow:0 2px 16px #ffffffb8,0 8px 34px #0000001f;margin:0;font-size:clamp(28px,3.2vw,48px);font-weight:850;line-height:1.65}#projector-app{isolation:isolate;background:#000;width:100vw;height:100vh;position:relative;overflow:hidden}.projector-bg-video{object-fit:cover;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#projector-canvas{z-index:1;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}#projector-ui{z-index:10;position:absolute}.color-guide-card,.color-panel{opacity:0;transition:opacity .9s,transform .9s}.color-guide-card{transform:translate(-50%)translateY(12px)}.color-guide-card.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.color-panel{transform:translate(-50%)translateY(14px)}.color-panel.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.stage-background{z-index:0;pointer-events:none;background:#f4f3ea;position:fixed;inset:0;overflow:hidden}.stage-bg-layer{opacity:0;will-change:opacity, transform;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity 1.1s,transform 1.6s;position:absolute;inset:0;transform:scale(1.015)}.stage-bg-layer.is-active{opacity:1;transform:scale(1)}.stage-bg-gradient{opacity:.82;mix-blend-mode:soft-light;pointer-events:none;background:radial-gradient(circle at 50% 42%,#ffffff57,#ffffff14 42%,#f4f3ea2e 100%);position:absolute;inset:0}#main-canvas{z-index:1;background:0 0;position:fixed;inset:0}#ui-layer{z-index:10}#complete-button,.hidden,.burst-overlay.hidden,.limit-alert.hidden,.memory-writing-card.hidden,.pump-guide-card.hidden,.color-guide-card.hidden,.panel.hidden{display:none!important}
