@font-face{font-family:OneKanjiOneStory-JP;src:url(/assets/fonts/OneKanjiOneStory-JP.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OneKanjiOneStory-CN;src:url(/assets/fonts/OneKanjiOneStory-CN.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OneKanjiOneStory-TW;src:url(/assets/fonts/OneKanjiOneStory-TW.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OneKanjiOneStory-HK;src:url(/assets/fonts/OneKanjiOneStory-HK.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OneKanjiOneStory-KR;src:url(/assets/fonts/OneKanjiOneStory-KR.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-white: #ffffff;--color-white-rgb: 255, 255, 255;--color-black: #1a1a1a;--duration-fade: .5s;--font-base-jp: "Noto Sans JP", sans-serif;--font-base-kr: "Noto Sans KR", sans-serif;--font-base-sc: "Noto Sans SC", sans-serif;--font-base-tc: "Noto Sans TC", sans-serif;--font-base-hk: "Noto Sans HK", sans-serif;--font-base: var(--font-base-jp);--font-kana: "momochidori-variable", var(--font-base);--font-glyph: "OneKanjiOneStory-JP", sans-serif;--font-start-label: var(--font-kana);--font-size-base: 16px;--line-height-base: 1.5;--font-size-info-ruby: clamp(8px, .8vw, 12px);--font-size-lang-label: 18px;--font-size-lang-item: clamp(14px, 1.2vw, 20px);--font-size-rule: 36pt;--font-size-rule-note: 16pt;--font-size-inter: clamp(36px, 3.2vw, 56px);--font-size-inter-label: clamp(48px, 6vw, 128px);--font-size-question-title: 36pt;--font-size-question-glyph: 144pt;--font-size-option: min( clamp(18px, 2.2vw, 48px), calc(var(--question-option-height) * .5) );--font-size-result-caption: 36pt;--font-size-result-level: clamp(24px, 2.4vw, 40px);--font-size-modal-title: clamp(20px, 2vw, 32px);--font-size-modal-body: clamp(14px, 1.4vw, 20px);--font-size-answer-glyph: 48pt;--font-size-answer-text: 24pt;--rule-ruby-size: 16pt;--rule-ruby-weight: 800;--rule-emphasis-size: 48pt;--rule-emphasis-ruby-size: 24pt;--rule-emphasis-weight: 900;--rule-emphasis-ruby-weight: 900;--result-intro-letter-spacing: 25px;--ruby-size-default: .5em;--ruby-weight-default: 500;--ruby-offset-default: 4px;--ruby-vertical-offset: 2px;--space-1: 4px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--radius-pill: 999px;--radius-md: 12px;--border-1: 1px;--border-2: 2px;--border-3: 3px;--border-5: 5px;--stage-ratio-width: 16;--stage-ratio-height: 9;--home-frame-inset: 3%;--home-info-width: 220px;--home-info-height: 50px;--home-info-height-half: calc(var(--home-info-height) / 2);--home-info-center-y: calc(100% * 1 / 18);--home-info-top: calc(var(--home-info-center-y) - var(--home-info-height-half));--home-info-right-gap: calc(100% * 1 / 34);--home-info-ruby-gap: 2px;--home-logo-width: calc(100% * 20 / 34);--home-logo-max-height: 40vh;--home-logo-top: calc(100% * 3 / 18);--home-start-width: calc(100% * 8 / 34);--home-start-center-y: 75% ;--home-lang-width: calc(100% * 10 / 34);--home-lang-height: calc(var(--home-lang-width) * 41.61 / 286.61);--home-lang-bottom: calc(100% * 6 / 36);--home-lang-left-gap: calc(100% * 1 / 34);--home-lang-left-shift: calc( (100% - (var(--home-frame-inset) * 2)) * 1 / 34 );--home-lang-left: calc(var(--home-lang-left-gap) - var(--home-lang-left-shift));--home-lang-center-y: calc( var(--home-info-center-y) + (var(--home-info-height) / 2) - (var(--home-lang-height) / 2) - 1px );--home-left-character-width: calc(100% * 9 / 34);--home-left-character-left: 5%;--home-left-character-bottom: 0%;--home-right-character-width: calc(100% * 9 / 34);--home-right-character-right: 5%;--home-right-character-bottom: 0%;--start-border-inset: 5px;--start-border-width: 3px;--start-button-height: 70px;--start-letter-spacing: .2em;--start-ruby-gap: 0px;--start-radius: 20px;--start-width: calc((100% - (var(--home-frame-inset) * 2)) * 8 / 34);--start-max-width: 445px;--start-inner-height: 60px;--start-inner-inset: 5px;--start-inner-radius: 16px;--start-inner-border: 3px;--start-label-size: 24pt;--start-ruby-size: 16pt;--start-sheen-width: calc(100% / 9);--start-sheen-opacity: .5;--start-sheen-angle: 7.5deg;--start-sheen-hover-duration: .25s;--start-sheen-click-duration: .6s;--pop-duration: .2s;--pop-scale: 1.04;--button-hover-scale: 1.02;--start-pop-duration: var(--pop-duration);--option-pop-duration: var(--pop-duration);--loading-bar-border: var(--border-3);--loading-bar-radius: var(--start-radius);--loading-bar-line: 3px;--loading-bar-inset: var(--border-3);--loading-logo-pulse-duration: 1.2s;--loading-bar-width: calc( (100% - (var(--home-frame-inset) * 2)) * 18 / 34 );--lang-row-gap: 1px;--lang-underline-height: 5px;--lang-underline-gap: 1px;--lang-icon-width: clamp(18px, 2vw, 28px);--lang-caret-width: clamp(14px, 1.4vw, 22px);--lang-menu-width: calc(100% * 6 / 34);--lang-menu-gap: calc(100% * 1 / 36);--lang-menu-border-width: 3px;--lang-menu-radius: 20px;--lang-menu-line-gap: 0px;--lang-menu-padding: 9px;--lang-menu-indicator-size: 9px;--lang-menu-indicator-offset: 20px;--lang-menu-visible-count: 6;--lang-menu-gap-count: 5;--lang-menu-item-line-height: 1;--lang-menu-item-padding-y: var(--space-2);--lang-menu-item-height: calc( (1em * var(--lang-menu-item-line-height)) + (var(--lang-menu-item-padding-y) * 2) );--lang-menu-list-max-height: calc( (var(--lang-menu-item-height) * var(--lang-menu-visible-count)) + (var(--lang-menu-line-gap) * var(--lang-menu-gap-count)) );--inter-label-top: 47vh;--question-options-width: 80%;--question-glyph-width: calc( (100% - (var(--home-frame-inset) * 2)) * 16 / 34 );--question-option-width: max( calc(100vw * 6 / 34), calc(var(--question-option-height) * 4) );--question-options-gap-2: calc( (100% - (var(--home-frame-inset) * 2)) * 6 / 34 );--question-options-gap-3: calc( (100% - (var(--home-frame-inset) * 2)) * 4 / 34 );--question-options-gap-4: calc( (100% - (var(--home-frame-inset) * 2)) * 2 / 34 );--question-option-radius: 20px;--question-option-padding: 2px;--question-option-height: clamp(36pt, 10vh , 60pt);--question-option-ruby-size: calc(var(--question-option-height) / 6);--question-glyph-offset-y: calc(100% * 2 / 18);--result-character-height: 70vh;--result-caption-top: calc(100% * 1 / 18);--result-caption-left: calc(100% * 14 / 34);--result-level-left: calc(100% * 2 / 34);--result-level-width: calc(100% * 11 / 34);--result-character-width: 40%;--result-stamp-width: 24%;--result-stamp-font-size: 169pt;--result-stamp-border-gap: 15px;--result-stamp-border-width: 5px;--result-stamp-outer-gap: 10px;--result-stamp-outer-width: 20px;--stamp-in-duration: 1s;--stamp-in-opacity: .1;--stamp-in-scale: 2;--stamp-in-ease: cubic-bezier(.7, 0, .84, 0);--stamp-shake-duration: .3s;--stamp-shake-distance: 6px;--modal-width: calc( (100% - (var(--home-frame-inset) * 2)) * 32 / 34 );--answer-sheet-height: calc( (100% - (var(--home-frame-inset) * 2)) * 17 / 18 );--answer-title-height: calc(100% * 3 / 18);--answer-title-font-size: 24pt;--answer-title-letter-spacing: 25px;--answer-title-underline-height: 3px;--answer-title-underline-gap: var(--space-2);--answer-title-underline-extend: .5em;--answer-row-top: 18.75% ;--answer-row-side: 10% ;--answer-item-width: calc(100% * 4 / 30);--answer-item-gap: 2em;--answer-text-height: 31.25% ;--answer-actions-center: 9.375% ;--answer-action-width: calc( (100% - (var(--home-frame-inset) * 2)) * 6 / 34 );--answer-actions-gap: calc( (100% - (var(--home-frame-inset) * 2)) * 4 / 18 );--answer-divider-width: 1px;--answer-divider-height: calc(100% * 2 / 3);--answer-item-gap-h: calc( (100% - (var(--answer-item-width) * 5)) / 4 );--modal-padding: clamp(20px, 2.2vw, 40px);--modal-gap: clamp(12px, 1.6vw, 24px);--overlay-opacity: .7;--layer-modal: 5;--layer-menu: 2;--line-height-tight: 1;--inter-letter-spacing: 50px;--inter-label-width: calc( (100% - (var(--home-frame-inset) * 2)) * 12 / 34 );--admin-padding: var(--space-6);--admin-gap: var(--space-4);--admin-row-gap: var(--space-3);--admin-col-gap: var(--space-3);--admin-input-height: 40px;--admin-button-height: 40px;--admin-button-padding: 0 var(--space-4);--admin-input-padding: 0 var(--space-3);--admin-title-size: clamp(20px, 2vw, 32px);--admin-font-size: clamp(14px, 1.4vw, 18px);--admin-actions-col: 120px;--admin-grid-template: repeat(6, minmax(0, 1fr)) var(--admin-actions-col);--admin-glyph-size: clamp(72px, 10vw, 160px);--admin-glyph-font-size: clamp(36px, 6vw, 120px);--admin-modal-glyph-size: 72pt;--admin-modal-width: var(--modal-width);--admin-modal-height: var(--answer-sheet-height);--admin-lang-min: 260px;--admin-filter-max-height: 240px;--admin-modal-gap: var(--admin-gap);--admin-field-gap: var(--admin-row-gap);--admin-lang-gap: var(--admin-gap)}html[lang=zh-CN]{--font-base: var(--font-base-sc);--font-start-label: var(--font-base)}html[lang=zh-TW]{--font-base: var(--font-base-tc);--font-start-label: var(--font-base)}html[lang=zh-HK]{--font-base: var(--font-base-hk);--font-start-label: var(--font-base)}html[lang=ko-KR]{--font-base: var(--font-base-kr);--font-start-label: var(--font-base)}html[lang=ja-JP]{--font-glyph: "OneKanjiOneStory-JP", sans-serif}html[lang=zh-CN]{--font-glyph: "OneKanjiOneStory-CN", sans-serif}html[lang=zh-TW]{--font-glyph: "OneKanjiOneStory-TW", sans-serif}html[lang=zh-HK],html[lang=en-US]{--font-glyph: "OneKanjiOneStory-HK", sans-serif}html[lang=ko-KR]{--font-glyph: "OneKanjiOneStory-KR", sans-serif}html[lang=en-US]{--font-start-label: var(--font-base);--inter-letter-spacing: 0px;--result-intro-letter-spacing: 0px;--answer-title-letter-spacing: 0px}html[lang=en-US] .ruleLine,html[lang=en-US] .ruleEmphasis{--ruby-offset: calc(var(--ruby-offset-default) - 2px)}html[lang=ja-JP] .interLabel,html[lang=ja-JP] .resultIntroTitle,html[lang=ja-JP] .resultIntroWord{--ruby-weight: 800}html[lang=ko-KR] rt{font-family:var(--font-base-kr);font-variation-settings:normal}html[lang=ko-KR] .ruleLine,html[lang=ko-KR] .ruleEmphasis{--ruby-offset: calc(var(--ruby-offset-default) - 1px)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-base);font-size:var(--font-size-base);line-height:var(--line-height-base);font-weight:400;font-optical-sizing:auto;color:var(--color-black);background:var(--color-white)}button{font-family:var(--font-base);color:inherit}#app{min-height:100vh}.appRoot{min-height:100vh;background:var(--color-white)}.stage{position:relative;width:100vw;height:100vh;background:var(--color-white);overflow:hidden}.screen,.appRoot,.modalLayer,.startButton,.optionButton,.langCurrentText,.answerSheetTitleWrap{display:flex;align-items:center;justify-content:center}.centerControls,.modalLayer,.modalOverlay,.resultCharacter{position:absolute;top:0;right:0;bottom:0;left:0}.startButtonGroup,.interLabel,.resultIntroTitle{left:50%;transform:translate(-50%,-50%)}.infoButtonImage,.startButtonImage,.answerSheetButtonImage{width:100%;height:auto;display:block}.characterFrame,.resultCharacterFrame{opacity:0}.characterFrame.is-active,.resultCharacterFrame.is-active{opacity:1}.leftCharacter,.rightCharacter,.resultCharacter{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1}.resultCaption,.answerSheetSelected{writing-mode:vertical-rl;text-orientation:upright}html[lang=en-US] .resultCaption,html[lang=en-US] .answerSheetSelected{writing-mode:horizontal-tb;text-orientation:mixed;white-space:pre-line;text-align:left}.startButtonChar,.interLabelChar,.resultIntroChar{display:inline-block}.kanaChar{font-family:var(--font-kana);font-variation-settings:"ital" 0,"wght" 500,"wdth" 100}.furiganaText{display:contents}.furiganaToken{display:inline-flex;align-items:center}ruby{position:relative;display:inline-block;line-height:1}rt{font-family:var(--font-kana);font-variation-settings:"ital" 0,"wght" var(--ruby-weight, var(--ruby-weight-default)),"wdth" 100;font-size:var(--ruby-size, var(--ruby-size-default));line-height:1;position:absolute;left:50%;bottom:100%;transform:translate(-50%) translateY(var(--ruby-offset, var(--ruby-offset-default)));white-space:nowrap;pointer-events:none}rt .kanaChar{font-family:inherit;font-variation-settings:inherit}.resultCaption rt,.answerSheetSelected rt{left:100%;right:auto;top:50%;bottom:auto;transform:translate(var(--ruby-vertical-offset)) translateY(-50%);writing-mode:vertical-rl;text-orientation:upright}.startButtonChar{font-family:var(--font-base);font-weight:800}.answerSheetTitleWrap,.answerSheetActions{position:absolute;left:0;right:0}.screen{position:relative;width:100%;height:100%;flex-direction:column;text-align:center;gap:var(--space-4)}.homeScreen{display:block}.homeReveal{opacity:0;pointer-events:none;transition:opacity var(--duration-fade) ease}.homeReveal.is-visible{opacity:1;pointer-events:auto}.adminScreen{align-items:stretch;justify-content:flex-start;text-align:left;padding:var(--admin-padding);gap:var(--admin-gap)}.adminHeader,.adminHeaderActions{display:flex;align-items:center;gap:var(--admin-gap)}.adminHeader{justify-content:space-between}.adminTitle{font-size:var(--admin-title-size);font-weight:400}.adminFilter{position:relative}.adminFilterMenu{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:var(--layer-menu);border:var(--border-2) solid var(--color-black);border-radius:var(--radius-md);background:var(--color-white);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);max-height:var(--admin-filter-max-height);overflow:auto}.adminFilterItem{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border:none;background:transparent;font-size:var(--admin-font-size);font-family:var(--font-base);cursor:pointer;text-align:left;white-space:nowrap}.adminGlyphGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--admin-glyph-size),1fr));gap:var(--admin-gap);flex:1;min-height:0;overflow-y:auto}.adminGlyphCard{display:flex;flex-direction:column;gap:var(--space-2)}.adminGlyphButton{border:var(--border-2) solid var(--color-black);border-radius:var(--radius-md);background:var(--color-white);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:var(--space-3);width:100%;aspect-ratio:1 / 1}.adminGlyph{font-family:var(--font-glyph);font-size:var(--admin-glyph-font-size);line-height:1}.adminGlyphInfo{width:100%;display:grid;grid-template-columns:1fr 3fr;align-items:center;gap:var(--space-1);font-size:10pt;line-height:1.2;position:relative}.adminGlyphId{text-align:left;justify-self:start;font-family:var(--font-base)}.adminGlyphAnswer{text-align:right;justify-self:end;font-family:var(--font-base);white-space:nowrap;overflow:hidden;text-overflow:clip;width:100%;position:relative}.adminGlyphAnswer:after{opacity:0;content:"";position:absolute;top:0;right:0;width:30%;height:100%;background:linear-gradient(to right,rgba(255,255,255,0),var(--color-white));pointer-events:none}.adminGlyphAnswer.is-truncated:after{opacity:1}.adminInput,.adminButton{border:var(--border-2) solid var(--color-black);border-radius:var(--radius-md);background:var(--color-white);font-size:var(--admin-font-size);font-weight:400}.adminInput{width:100%;height:var(--admin-input-height);padding:var(--admin-input-padding);font-family:var(--font-base)}.adminRubyInput{height:auto;min-height:calc(var(--admin-input-height) * 2);resize:none;white-space:pre-wrap}.adminButton{height:var(--admin-button-height);padding:var(--admin-button-padding);cursor:pointer}.adminDelete{width:100%}.adminModal .modalCard{width:var(--admin-modal-width);height:var(--admin-modal-height);background:#fffffff2;padding:0}.adminModalCard{position:relative;display:flex;flex-direction:column}.adminModalHeader{padding:calc(var(--modal-padding) * .6) var(--modal-padding);display:flex;align-items:center;justify-content:center;gap:var(--admin-modal-gap)}.adminModalGlyph{font-family:var(--font-glyph);font-size:var(--admin-modal-glyph-size);line-height:1}.adminModalMeta{display:flex;flex-direction:row;align-items:center;gap:var(--admin-field-gap)}.adminModalBody{flex:1;overflow:auto;padding:0 var(--modal-padding) var(--modal-padding);display:flex;flex-direction:column;gap:var(--admin-modal-gap)}.adminModalFooter{padding:0 var(--modal-padding) var(--modal-padding);display:flex;justify-content:center}.adminConfirmLayer{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--color-white-rgb),.7);display:flex;align-items:center;justify-content:center;z-index:1}.adminConfirmCard{border:var(--border-2) solid var(--color-black);border-radius:var(--radius-md);background:var(--color-white);padding:var(--space-4);min-width:min(80%,320px);display:flex;flex-direction:column;gap:var(--space-3);text-align:center}.adminConfirmTitle{font-size:var(--admin-font-size);font-weight:700}.adminConfirmActions{display:flex;justify-content:center;gap:var(--space-3)}.adminField{display:flex;flex-direction:column;gap:calc(var(--space-1) * .7)}.adminFieldLabel{font-size:calc(var(--admin-font-size) * .85)}.adminLangGroup .adminFieldLabel{font-family:var(--admin-lang-font, var(--font-base))}.adminFieldHint{font-size:calc(var(--admin-font-size) * .85);color:#1a1a1a99;white-space:pre-wrap}.adminRubyRow{display:flex;grid-column:1 / -1;gap:var(--admin-field-gap);pointer-events:auto}.adminRubyRow .adminField{flex:1;min-width:0}.adminRubyRow .adminFieldLabel{font-family:var(--font-base-jp)}.adminRubyRow .adminInput,.adminRubyRow .adminFieldHint{font-family:var(--font-base-jp);pointer-events:auto}.adminLangGroup .adminFieldHint{font-family:var(--admin-lang-font, var(--font-base))}.adminLangGroups{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--admin-lang-gap)}.adminLangGroup{display:flex;flex-direction:column;gap:var(--admin-field-gap)}.adminLangTitle{font-size:var(--admin-font-size);font-weight:700;font-family:var(--admin-lang-font, var(--font-base))}.adminLangFields{display:grid;grid-template-columns:1fr;gap:calc(var(--admin-field-gap) * .7)}.adminLangGroup[data-lang=ja]{--admin-lang-font: var(--font-base-jp)}.adminLangGroup[data-lang=zhHans]{--admin-lang-font: var(--font-base-sc)}.adminLangGroup[data-lang=zhTW]{--admin-lang-font: var(--font-base-tc)}.adminLangGroup[data-lang=zhHK]{--admin-lang-font: var(--font-base-hk)}.adminLangGroup[data-lang=ko]{--admin-lang-font: var(--font-base-kr)}.adminLangGroup[data-lang=en]{--admin-lang-font: var(--font-base-jp)}.adminLangGroup .adminInput{font-family:var(--admin-lang-font, var(--font-base))}.homeFrame{position:absolute;inset:var(--home-frame-inset)}.loadingScreen{background:var(--color-white)}.loadingLogoImage{animation:loadingLogoPulse var(--loading-logo-pulse-duration) ease-in-out infinite}.loadingBarWrap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--loading-bar-width);height:var(--start-button-height)}.loadingBar{position:relative;width:100%;height:100%;background:var(--color-white);border:none}.loadingBarFill{position:absolute;left:var(--loading-bar-inset);right:var(--loading-bar-inset);top:50%;height:var(--loading-bar-line);background:var(--color-black);transform:translateY(-50%) scaleX(var(--loading-progress, 0));transform-origin:left center}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-fade) ease}.fade-enter-from,.fade-leave-to{opacity:0}.topRight{position:absolute;top:var(--home-info-top);right:var(--home-info-right-gap);width:var(--home-info-width);height:var(--home-info-height);z-index:var(--layer-menu)}.infoButton{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;border:none;background:transparent;display:flex;align-items:center;justify-content:center;overflow:visible}.infoButtonBody{pointer-events:none}.logoBlock{position:absolute;top:var(--home-logo-top);left:50%;transform:translate(-50%);width:var(--home-logo-width);max-width:100%;max-height:var(--home-logo-max-height);display:flex;align-items:center;justify-content:center}.logoImage{width:auto;height:auto;max-width:100%;max-height:var(--home-logo-max-height);display:block}.startButtonGroup{position:absolute;top:var(--home-start-center-y);width:var(--start-width);max-width:var(--start-max-width);height:auto;overflow:visible}.startButton{position:relative;width:100%;height:var(--start-button-height);border:none;background:var(--color-black);padding:0;flex-direction:column;border-radius:var(--start-radius);color:var(--color-white);transform:scale(1);transition:transform .12s ease}.startButton.is-hovered{transform:scale(var(--button-hover-scale))}.startButton.is-clicked{animation:startButtonPop var(--start-pop-duration) ease;transform:scale(1);pointer-events:none}.startButton:before{content:"";position:absolute;top:50%;left:50%;width:calc(100% - (var(--start-inner-inset) * 2));height:var(--start-inner-height);border:var(--start-inner-border) solid var(--color-white);border-radius:var(--start-inner-radius);box-sizing:border-box;transform:translate(-50%,-50%);z-index:2}.langSelect{position:absolute;top:var(--home-lang-center-y);left:var(--home-lang-left);width:var(--home-lang-width);height:var(--home-lang-height);transform:translateY(-50%)}.langRow{display:block;border:none;background:transparent;cursor:pointer;width:100%;height:100%;padding:0;position:relative}.startButtonRuby{position:absolute;bottom:calc(100% + var(--start-ruby-gap));font-size:var(--start-ruby-size);color:var(--color-black);font-family:var(--font-start-label);font-variation-settings:"ital" 0,"wght" 800,"wdth" 150;line-height:1;padding-top:1px;z-index:3}.startButtonLabel{font-size:var(--start-label-size);display:flex;gap:25px;color:var(--color-white);font-family:var(--font-start-label);font-variation-settings:"ital" 0,"wght" 700,"wdth" 150;line-height:1;position:relative;z-index:3}.startButtonSheen{position:absolute;top:-10%;bottom:-10%;left:-10px;width:var(--start-sheen-width);background:rgba(255,255,255,var(--start-sheen-opacity));transform:rotate(var(--start-sheen-angle));opacity:0;z-index:1}.startButton.is-hovered .startButtonSheen{left:15%;opacity:var(--start-sheen-opacity);transition:left var(--start-sheen-hover-duration) ease,opacity var(--start-sheen-hover-duration) ease}.startButton.is-clicked .startButtonSheen{animation:startSheenClick var(--start-sheen-click-duration) ease forwards}.langButtonImage{width:100%;height:100%;display:block;object-fit:contain}.langCurrentText{position:absolute;top:0;right:0;bottom:0;left:0;font-size:var(--font-size-lang-label);color:var(--color-black);font-weight:800;pointer-events:none;transform:translateY(-2px) translate(var(--lang-text-shift, 0));font-family:var(--lang-text-font, var(--font-base))}.langMenu{position:absolute;top:calc(var(--home-lang-center-y) + (var(--home-lang-height) / 2) + var(--lang-menu-gap));left:calc(var(--home-lang-left) + (var(--home-lang-width) - var(--lang-menu-width)) / 2);transform:none;width:max-content;min-width:var(--lang-menu-width);max-width:calc(100% - (var(--home-frame-inset) * 2));border:var(--lang-menu-border-width) solid var(--color-black);border-radius:var(--lang-menu-radius);background:#fffffff2;padding:var(--lang-menu-padding);z-index:var(--layer-menu);height:auto}.langMenuList{display:flex;flex-direction:column;gap:var(--lang-menu-line-gap);align-items:flex-start;max-height:none;overflow-y:visible;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%}.langMenuItem{border:none;background:transparent;font-size:var(--font-size-lang-item);text-align:left;cursor:pointer;color:var(--color-black);padding:var(--lang-menu-item-padding-y) var(--space-3);border-radius:12px;width:100%;font-weight:800;line-height:var(--lang-menu-item-line-height);font-family:var(--lang-item-font, var(--font-base))}.langMenuItem.is-hovered{background:var(--color-black);color:var(--color-white)}.leftCharacter,.rightCharacter{position:absolute}.leftCharacter{left:var(--home-left-character-left);bottom:var(--home-left-character-bottom);width:var(--home-left-character-width)}.rightCharacter{right:var(--home-right-character-right);bottom:var(--home-right-character-bottom);width:var(--home-right-character-width)}.characterFrame{position:absolute;bottom:0;left:0;width:100%;height:auto}.ruleScreen{font-size:var(--font-size-rule);gap:calc(1em * var(--line-height-base) * .8);--ruby-weight: 800}.ruleLine{font-weight:800;--ruby-size: var(--rule-ruby-size);--ruby-weight: var(--rule-ruby-weight)}html[lang=en-US] .ruleLine--ruby+.ruleLine{margin-top:24px}.ruleEmphasis{font-size:var(--rule-emphasis-size);font-weight:var(--rule-emphasis-weight);--ruby-size: var(--rule-emphasis-ruby-size);--ruby-weight: 800}.ruleNote{font-size:var(--font-size-rule-note);font-weight:400;font-family:var(--font-base-kr);color:var(--color-black);border:var(--border-2) solid var(--color-black);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);align-self:center;text-align:left;max-width:100%;box-sizing:border-box}.interScreen{font-size:var(--font-size-inter);font-weight:400;position:relative;--ruby-weight: 800}.interLabel,.resultIntroTitle{position:absolute;top:var(--inter-label-top);font-size:var(--font-size-inter-label);font-weight:900;text-align:center;width:var(--inter-label-width);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:var(--inter-letter-spacing);--ruby-size: 16pt;--ruby-weight: 800}.resultIntroTitle{gap:0}.resultIntroScreen{--ruby-weight: 800}.resultIntroWord{--ruby-size: 16pt;--ruby-weight: 800}.resultIntroBase{letter-spacing:var(--result-intro-letter-spacing);margin-right:calc(var(--result-intro-letter-spacing) * -1)}.questionScreen{gap:var(--space-6)}.questionTitleBar{font-size:var(--font-size-question-title);font-weight:700;line-height:1}.questionScreen .kanaChar{font-family:var(--font-start-label);font-variation-settings:"ital" 0,"wght" 800,"wdth" 100}.questionTitleBar .kanaChar{font-variation-settings:"ital" 0,"wght" 650,"wdth" 100}.questionGlyph{font-family:var(--font-glyph);font-size:var(--font-size-question-glyph);width:var(--question-glyph-width);text-align:center;transform:translateY(calc(-1 * var(--question-glyph-offset-y)))}.optionRow{width:calc(100% - (var(--home-frame-inset) * 2));display:flex;align-items:center;justify-content:center}.optionRow.is-locked{pointer-events:none}.optionRow.optionRow--2{gap:var(--question-options-gap-2)}.optionRow.optionRow--3{gap:var(--question-options-gap-3)}.optionRow.optionRow--4{gap:var(--question-options-gap-4)}.optionButton{width:var(--question-option-width);height:var(--question-option-height);padding:var(--question-option-padding);border-radius:var(--question-option-radius);border:var(--border-5) solid var(--color-black);background:var(--color-white);font-size:calc(var(--font-size-option) * var(--option-scale, 1));font-weight:800;overflow:hidden;box-sizing:border-box;--ruby-offset: .5px;--ruby-size: var(--question-option-ruby-size)}.optionButton.is-clicked{animation:optionButtonPop var(--option-pop-duration) ease}.optionText{display:inline-block;white-space:nowrap;line-height:1}.optionButton.has-ruby .optionText{transform:translateY(5px)}.resultScreen{gap:var(--space-5)}.resultScreen.is-shaking{animation:resultStampShake var(--stamp-shake-duration) ease}.resultFrame{position:absolute;inset:var(--home-frame-inset);z-index:2}.resultCharacterFrame{position:absolute;right:var(--home-right-character-right);bottom:var(--home-right-character-bottom);height:var(--result-character-height);width:auto}.resultCaption{position:absolute;top:var(--result-caption-top);left:var(--result-caption-left);font-size:var(--font-size-result-caption);font-weight:800;background:rgba(var(--color-white-rgb),.6);padding:10px;display:inline-flex}.resultCaption .kanaChar{font-family:var(--font-start-label);font-variation-settings:"ital" 0,"wght" 700,"wdth" 100}.resultLevel{position:absolute;left:var(--result-level-left);top:50%;transform:translateY(-50%);width:var(--result-level-width);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);overflow:visible}.resultStampWrap{position:relative;display:inline-flex;align-items:center;justify-content:center;--stamp-rotation: -7.5deg}.resultStampBackdrop{position:absolute;inset:calc(-1 * (var(--result-stamp-outer-gap) + var(--result-stamp-outer-width)));background:var(--color-white);z-index:0;display:block;transform:rotate(var(--stamp-rotation))}.resultStamp{width:auto;height:auto;opacity:var(--stamp-in-opacity);transform:scale(var(--stamp-in-scale)) rotate(var(--stamp-rotation));animation:stampIn var(--stamp-in-duration) var(--stamp-in-ease) forwards}.resultStampText{font-family:var(--font-base);font-size:var(--result-stamp-font-size);font-weight:900;color:var(--color-black);line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--result-stamp-border-gap);border:var(--result-stamp-border-width) solid var(--color-black);outline:var(--result-stamp-outer-width) solid var(--color-black);outline-offset:var(--result-stamp-outer-gap);background:transparent;position:relative;z-index:1}.resultStampMain,.resultStampRuby{display:flex;flex-direction:column;align-items:center;line-height:1}.resultStampMain>span{position:relative;top:-10px}.resultStampPairs{display:flex;flex-direction:column;align-items:center;line-height:1}.resultStampPair{display:flex;align-items:center;gap:0}.resultStampPairBase{line-height:1}.resultStampPairRuby{font-size:48pt;font-weight:900;font-family:var(--font-base-kr);line-height:1}.resultStampRuby.is-japanese{gap:16pt}.resultStampRuby.is-japanese>span:last-child{margin-bottom:-10px}.resultStampRuby.is-japanese>span.is-tight{margin-top:-10px}.resultStampRuby{font-size:48pt;font-weight:900}.resultStampRuby.is-japanese{font-family:var(--font-kana);font-variation-settings:"ital" 0,"wght" 800,"wdth" 50}.resultStampRuby.is-korean{font-family:var(--font-base-kr);font-weight:900}.resultLevelLabel{font-size:var(--font-size-result-level);font-weight:400}.modalLayer{z-index:var(--layer-modal)}.modalOverlay{background:rgba(var(--color-white-rgb),var(--overlay-opacity))}.modalCard{position:relative;width:var(--modal-width);background:var(--color-white);border:var(--border-2) solid var(--color-black);border-radius:var(--radius-md);padding:var(--modal-padding);display:flex;flex-direction:column;gap:var(--modal-gap);z-index:1}.aboutModalCard{height:var(--answer-sheet-height);padding:0;display:block;background:#fffffff2}.aboutContent{position:absolute;--about-row-unit: calc(var(--answer-sheet-height) / 17);--about-content-height: calc(var(--about-row-unit) * 13);top:calc(var(--about-row-unit) * 2);left:0;right:0;height:var(--about-content-height);pointer-events:auto;overflow-y:auto;display:flex;flex-direction:column;gap:24pt}.aboutContent>.aboutRow--introBody,.aboutContent>.aboutRow--staffBody,.aboutContent>.aboutRow--bgmBody{margin-top:-12pt}.aboutContent>.aboutRow--staffTitle{margin-top:12pt}.aboutRow{position:relative;width:81.25%;margin:0 auto;display:flex;align-items:center;justify-content:flex-start;text-align:left;color:var(--color-black)}.aboutRow--title{font-size:24pt;font-weight:800}.aboutRow--body{font-size:16pt;font-weight:500;align-items:flex-start;white-space:pre-line;text-align:justify;text-align-last:left;text-justify:inter-ideograph;overflow-wrap:anywhere}.aboutRow--introTitle{flex:0 0 var(--about-row-unit)}.aboutRow--introBody{height:auto;align-items:flex-start;justify-content:flex-start;display:block;line-height:var(--line-height-base)}.aboutRow--introBody p{margin:0}.aboutRow--introBody p+p{margin-top:6pt}.aboutRow--staffTitle{flex:0 0 var(--about-row-unit)}.aboutRow--staffBody{flex:0 0 150px;display:flex;align-items:center}.aboutStaffLogo{flex:0 0 50%;height:100%;display:flex;align-items:center;justify-content:flex-start}.aboutStaffLogo img{width:auto;height:150px;max-width:none;max-height:none;object-fit:contain;display:block;transform:translate(-35px)}.aboutStaffCol{flex:0 0 25%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-1);transform:translateY(10px)}.aboutStaffLabel{font-size:16pt;font-weight:900}.aboutStaffValue{font-size:16pt;font-weight:500}@media (max-width: 1000px){.aboutRow--staffBody{flex-direction:column;align-items:flex-start;gap:12px;flex:0 0 auto;height:auto}.aboutStaffLogo{height:150px}.aboutStaffLogo,.aboutStaffCol{flex:0 0 auto;width:100%}}@media (max-width: 700px){.ruleScreen{font-size:24pt;padding-left:calc(var(--home-frame-inset) + 10px);padding-right:calc(var(--home-frame-inset) + 10px);box-sizing:border-box;--rule-emphasis-size: 36pt}.homeScreen{--start-width-base: calc( (100% - (var(--home-frame-inset) * 2)) * 18 / 34 );--start-width: var(--start-width-base)}.questionScreen{--question-option-height: 60px}.startButtonLabel{width:50vw;justify-content:center}.startButton{width:100%;margin:0}.startButtonGroup{transform:translate(-50%,calc(-50% - (100% * 2 / 18)))}.logoBlock{top:calc(var(--home-logo-top) + (100% * 2 / 18));transform:translate(-50%) scale(1.2);transform-origin:center}.leftCharacter{transform:scale(1.3);transform-origin:right top}.rightCharacter{transform:scale(1.3);transform-origin:left top}.infoButton.answerSheetActionButton,.infoButton.answerSheetActionButton.is-hovered,.infoButton.answerSheetActionButton.is-clicked{transform:scale(.8);transform-origin:center}.optionRow{flex-wrap:wrap;width:calc((100% - (var(--home-frame-inset) * 2)) * .8);margin:0 auto;gap:var(--space-2-5)}.optionRow.optionRow--2,.optionRow.optionRow--3,.optionRow.optionRow--4{gap:var(--space-2-5)}.optionButton{width:calc((100% - var(--space-2-5)) / 2);height:var(--question-option-height);flex:0 0 calc((100% - var(--space-2-5)) / 2)}.resultCharacter{transform:scale(.5);transform-origin:right bottom}.resultLevel{left:50%;top:50%;transform:translate(-50%,-50%);width:auto}.resultStampText{position:relative;z-index:0}.resultStampText:before{content:none}}@media (max-width: 550px){.optionRow{flex-direction:column;align-items:stretch}.optionButton{width:100%;flex:0 0 auto}}.answerSheetModal .modalCard{height:var(--answer-sheet-height);padding:0;display:block;background:#fffffff2}.modalTitle{font-size:var(--font-size-modal-title);font-weight:400}.modalButton{padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);border:var(--border-2) solid var(--color-black);background:var(--color-white);font-weight:400;align-self:flex-end}.aboutBody,.aboutStaffLine{font-size:var(--font-size-modal-body)}.aboutStaff{display:flex;flex-direction:column;gap:var(--space-2)}.aboutStaffHeading{font-size:var(--font-size-modal-body);font-weight:400}.answerSheetTitleWrap{top:0;height:var(--answer-title-height)}.answerSheetTitle{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:var(--answer-title-font-size);font-weight:800;padding-bottom:calc(var(--answer-title-underline-height) + var(--answer-title-underline-gap));--ruby-offset: calc(var(--ruby-offset-default) - 2px);--ruby-weight: 800}.answerSheetTitleText{letter-spacing:var(--answer-title-letter-spacing);margin-right:calc(var(--answer-title-letter-spacing) * -1)}.answerSheetTitleChars{display:inline-flex;align-items:center;gap:var(--answer-title-letter-spacing)}.answerSheetTitle:after{content:"";position:absolute;left:calc(-1 * var(--answer-title-underline-extend));right:calc(-1 * var(--answer-title-underline-extend));bottom:0;height:var(--answer-title-underline-height);background:var(--color-black)}.answerSheetRow{position:absolute;top:calc(var(--answer-row-top) + (100% * 1 / 18));left:var(--answer-row-side);right:var(--answer-row-side);display:flex;align-items:flex-start;justify-content:space-between}.answerSheetItem{width:var(--answer-item-width);display:flex;flex-direction:column;align-items:center;gap:var(--answer-item-gap);text-align:center;opacity:0;transition:opacity var(--duration-fade) ease}.answerSheetItem.is-visible{opacity:1}.answerSheetItem.is-visible .answerSheetGlyph{align-self:flex-start;justify-content:flex-start;text-align:left}.answerSheetDivider{position:absolute;top:50%;left:calc(var(--answer-item-width) + (var(--answer-item-gap-h) / 2) + (var(--divider-index) * (var(--answer-item-width) + var(--answer-item-gap-h))));width:var(--answer-divider-width);height:var(--answer-divider-height);background:var(--color-black);transform:translate(-50%,-50%);pointer-events:none}.answerSheetGlyph{font-family:var(--font-glyph);width:150%;aspect-ratio:1 / 1;font-size:calc(var(--font-size-answer-glyph) * var(--glyph-scale, 1) * 1.5);line-height:var(--line-height-tight);text-align:center;white-space:nowrap;display:flex;align-items:center;justify-content:center;height:1em}.answerSheetSelected{height:var(--answer-text-height);font-size:calc(var(--font-size-answer-text) * var(--answer-scale, 1));line-height:var(--line-height-tight);font-weight:900;display:flex;align-items:flex-start;justify-content:flex-start;overflow:visible;white-space:nowrap}.answerSheetSelected .kanaChar{font-family:var(--font-start-label);font-variation-settings:"ital" 0,"wght" 800,"wdth" 80}.answerSheetActions{bottom:var(--answer-actions-center);transform:translateY(50%);display:flex;justify-content:center;gap:var(--answer-actions-gap);opacity:0;pointer-events:none;transition:opacity var(--duration-fade) ease}.answerSheetActions.is-visible{opacity:1;pointer-events:auto}.answerSheetActions .modalButton{border:none;background:transparent;padding:0}@media (max-width: 700px){.answerSheetRow.is-narrow{flex-direction:column;align-items:stretch;justify-content:flex-start;bottom:calc(var(--answer-actions-center) + var(--space-6) + (100% * 2 / 18));top:auto;transform:translateY(calc(100% * 1 / 18));height:calc(100% * 11 / 18);overflow-y:auto;gap:24px;--font-size-answer-text: 21px}.answerSheetRowGroup{display:flex;align-items:flex-start;justify-content:center;gap:calc(var(--space-2-5) * 1.1);width:calc(100% - ((100% - (var(--home-frame-inset) * 2)) * 5 / 34));margin-left:auto;margin-right:0}.answerSheetRowGroup .answerSheetItem{width:calc((100% - var(--space-2-5)) / 2);align-items:flex-start;text-align:left;gap:5px}.answerSheetRowGroup .answerSheetItem:nth-child(2){margin-left:auto;align-items:flex-start}.answerSheetRowGroup .answerSheetItem:nth-child(2) .answerSheetGlyph{align-self:flex-start;text-align:left}.answerSheetRowGroup .answerSheetItem:nth-child(2) .answerSheetSelected{align-self:flex-start;align-items:flex-start;justify-content:flex-start;text-align:left}.answerSheetRowGroup .answerSheetItem:only-child{margin-right:calc((100% - var(--space-2-5)) / 2 + var(--space-2-5))}.answerSheetRowGroup .answerSheetGlyph{align-self:flex-start;justify-content:flex-start;text-align:left}.answerSheetRowGroup .answerSheetSelected{align-self:flex-start;align-items:flex-start;justify-content:flex-start;text-align:left}.answerSheetSelected{writing-mode:horizontal-tb;text-orientation:mixed;white-space:normal;height:auto;width:100%}.answerSheetRow.is-narrow [data-relingo-block=true]{display:block;margin-bottom:5px}.answerSheetRow.is-narrow [data-relingo-block=true]+.answerSheetSelected{margin-top:5px}.answerSheetSelected rt{left:auto;right:auto;top:auto;bottom:auto;transform:none;writing-mode:horizontal-tb;text-orientation:mixed}.answerSheetDivider--row{display:none}.answerSheetActions{left:0;right:0;flex-direction:column;align-items:center;justify-content:center;gap:20px;transform:translateY(50%) scale(.8);transform-origin:center}.answerSheetActions .modalButton{align-self:center}}.answerSheetActionButton{display:flex;flex-direction:column;align-items:center;transform:scale(1);transition:transform .12s ease}.answerSheetActionButton.is-hovered{transform:scale(var(--button-hover-scale))}.answerSheetActionButton.is-clicked{animation:startButtonPop var(--start-pop-duration) ease;transform:scale(1)}.answerSheetButtonBody{position:relative;width:220px;height:50px}.answerSheetButtonBase{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-black);border-radius:16px;z-index:0}.answerSheetButtonFace{position:absolute;left:50%;top:50%;width:210px;height:40px;transform:translate(-50%,-50%);background:var(--color-white);border-radius:12px;z-index:1}.answerSheetButtonAccent{position:absolute;left:5px;top:4px;width:52px;height:42px;background:var(--color-black);border-radius:12.5px 0 0 12.5px;z-index:2}.answerSheetButtonSheen{position:absolute;top:-10%;bottom:-10%;left:-10px;width:var(--start-sheen-width);background:rgba(255,255,255,var(--start-sheen-opacity));transform:rotate(var(--start-sheen-angle));opacity:0;z-index:3;pointer-events:none}.answerSheetActionButton.is-hovered .answerSheetButtonSheen{left:25px;opacity:var(--start-sheen-opacity);transition:left var(--start-sheen-hover-duration) ease,opacity var(--start-sheen-hover-duration) ease}.answerSheetActionButton.is-clicked .answerSheetButtonSheen{animation:startSheenClick var(--start-sheen-click-duration) ease forwards}.answerSheetButtonIcon{position:absolute;left:0;top:0;width:57px;height:50px;display:flex;align-items:center;justify-content:center;z-index:4}.answerSheetButtonIcon img{width:26px;height:26px;display:block}.answerSheetButtonLabel{position:absolute;left:57px;right:5px;top:-.5px;bottom:.5px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;color:var(--color-black);z-index:4}@keyframes startSheenClick{0%{left:var(--start-sheen-start, -10px);opacity:var(--start-sheen-opacity)}to{left:120%;opacity:0}}@keyframes startButtonPop{0%{transform:scale(1)}40%{transform:scale(var(--pop-scale))}to{transform:scale(1)}}@keyframes optionButtonPop{0%{transform:scale(1)}40%{transform:scale(var(--pop-scale))}to{transform:scale(1)}}@keyframes stampIn{0%{opacity:var(--stamp-in-opacity);transform:scale(var(--stamp-in-scale)) rotate(var(--stamp-rotation))}to{opacity:1;transform:scale(1) rotate(var(--stamp-rotation))}}@keyframes resultStampShake{0%{transform:translate(0)}20%{transform:translate(calc(var(--stamp-shake-distance) * -1),calc(var(--stamp-shake-distance) * .6))}40%{transform:translate(var(--stamp-shake-distance),calc(var(--stamp-shake-distance) * -.6))}60%{transform:translate(calc(var(--stamp-shake-distance) * -.8),calc(var(--stamp-shake-distance) * .4))}80%{transform:translate(calc(var(--stamp-shake-distance) * .8),calc(var(--stamp-shake-distance) * -.4))}to{transform:translate(0)}}@keyframes loadingLogoPulse{0%,to{opacity:.3}50%{opacity:1}}
