:root{color:#fff8ea;background:#101116;font-family:Hiragino Sans,Yu Gothic,Meiryo,system-ui,sans-serif;font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;--ink: #fff8ea;--muted: rgba(255, 248, 234, .72);--quiet: rgba(255, 248, 234, .54);--panel: rgba(14, 15, 20, .74);--panel-strong: rgba(14, 15, 20, .88);--line: rgba(255, 248, 234, .18);--gold: #e7c36c;--gold-bright: #ffe6a0;--shadow: 0 24px 80px rgba(0, 0, 0, .48)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit}button:focus-visible{outline:3px solid rgba(255,226,150,.72);outline-offset:3px}.app-shell{position:relative;min-height:100vh;padding:clamp(18px,3.2vw,42px);overflow:hidden;isolation:isolate}.moving-backdrop,.backdrop-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;pointer-events:none}.moving-backdrop{width:110vw;height:110vh;left:-5vw;top:-5vh;background-image:url(/assets/manor-background.png);background-size:cover;background-position:center;filter:saturate(.96) brightness(.74);transform-origin:center;animation:manorDrift 18s ease-in-out infinite alternate}.backdrop-veil{z-index:-2;background:radial-gradient(circle at 50% 12%,rgba(255,226,150,.2),transparent 28%),linear-gradient(90deg,#090a0eb3,#090a0e57 48%,#090a0ec2),linear-gradient(180deg,#090a0e61,#090a0edb)}.app-frame{width:min(1180px,100%);min-height:calc(100vh - clamp(36px,6.4vw,84px));margin:0 auto;display:flex;flex-direction:column;gap:clamp(16px,2.2vw,26px)}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:clamp(12px,2vw,18px) clamp(6px,1.2vw,10px)}.community-name,.result-kicker{margin:0 0 5px;color:var(--gold-bright);font-size:.78rem;font-weight:700;letter-spacing:0}h1,h2,p{margin-top:0}h1{margin-bottom:0;color:var(--ink);font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:clamp(2.3rem,5.4vw,5rem);font-weight:700;line-height:1;text-shadow:0 3px 24px rgba(0,0,0,.68)}.progress-wrap{width:min(240px,36vw);color:#fff8eacc;font-size:.82rem;text-align:right}.progress-track{width:100%;height:7px;margin-top:8px;border-radius:999px;background:#fff8ea21;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff1bb,#b7e9ff,#ffd05b);box-shadow:0 0 18px #ffe08266;transition:width .42s ease}.experience-grid{flex:1;display:grid;grid-template-columns:minmax(320px,.95fr) minmax(380px,1fr);align-items:stretch;gap:clamp(18px,3vw,36px)}.tiara-stage{position:relative;min-height:540px;display:grid;place-items:center;padding:clamp(24px,4vw,44px);overflow:hidden}.tiara-aura{position:absolute;width:min(560px,86%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,236,171,.22),rgba(255,236,171,.06) 36%,transparent 67%),conic-gradient(from 20deg,#87c9f72e,#f0445921,#77b85a26,#ffd05b2e,#87c9f72e);filter:blur(10px);opacity:.85;animation:auraBreathe 5.4s ease-in-out infinite}.tiara-image{position:relative;z-index:1;width:min(640px,108%);max-height:54vh;object-fit:contain;filter:drop-shadow(0 26px 36px rgba(0,0,0,.58)) drop-shadow(0 0 24px rgba(255,232,166,.16));transform-origin:50% 64%;animation:tiaraFloat 4.6s ease-in-out infinite}.house-runes{position:absolute;inset:auto 0 10%;display:flex;justify-content:center;gap:clamp(16px,3vw,34px);z-index:2}.house-runes span{width:8px;height:8px;border-radius:50%;background:var(--rune-color);box-shadow:0 0 18px var(--rune-color);animation:runePulse 3.4s ease-in-out infinite}.house-runes span:nth-child(2){animation-delay:.3s}.house-runes span:nth-child(3){animation-delay:.6s}.house-runes span:nth-child(4){animation-delay:.9s}.dialogue-panel{position:relative;min-height:540px;padding:clamp(18px,3vw,34px);align-self:center;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff8ea14,#fff8ea06),var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.dialogue-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border-top:1px solid rgba(255,248,234,.28);pointer-events:none}.panel-actions{display:flex;justify-content:flex-end;gap:10px;min-height:38px}.icon-button,.primary-button,.secondary-button,.answer-button{border:1px solid var(--line);color:var(--ink);background:#fff8ea12;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.icon-button{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center}.icon-button:disabled,.answer-button:disabled{cursor:not-allowed;opacity:.44}.icon-button:not(:disabled):hover,.answer-button:not(:disabled):hover,.secondary-button:hover,.primary-button:hover{transform:translateY(-1px);border-color:#ffe6a094;background:#fff8ea1f;box-shadow:0 10px 24px #0000003d}.conversation{display:flex;flex-direction:column;gap:16px;padding:12px 0 22px}.exchange{padding-left:14px;border-left:2px solid rgba(255,248,234,.18);opacity:.72}.tiara-line,.answer-line,.tiara-whisper{margin-bottom:6px}.tiara-line{color:var(--quiet);font-size:.9rem}.answer-line{color:#fff8eadb;font-size:.95rem;font-weight:700}.tiara-whisper{color:var(--gold-bright);font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:clamp(.96rem,1.6vw,1.1rem);font-weight:700}.current-question h2{margin-bottom:0;font-size:clamp(1.62rem,3vw,2.7rem);font-weight:800;line-height:1.34}.thinking{display:inline-flex;align-items:center;gap:8px;margin-top:18px;margin-bottom:0;color:var(--muted);font-size:.94rem}.thinking svg{color:var(--gold-bright);animation:spinSoft 1.8s linear infinite}.answer-grid{display:grid;gap:12px}.answer-button{width:100%;min-height:60px;padding:14px 18px;border-radius:8px;text-align:left;font-weight:750;line-height:1.45}.answer-button:first-letter{color:var(--gold-bright)}.result-view{--house-color: var(--gold);position:relative;display:flex;min-height:100%;flex-direction:column;gap:20px}.result-actions{position:absolute;top:0;right:0}.result-heading{padding-right:96px}.result-heading h2{margin-bottom:8px;color:var(--house-color);font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:clamp(2.3rem,4vw,4.1rem);line-height:1}.result-heading h2 span{display:inline-block;margin-left:14px;padding:5px 10px 7px;border:1px solid rgba(255,248,234,.22);border-radius:8px;color:var(--ink);font-family:Hiragino Sans,Yu Gothic,Meiryo,system-ui,sans-serif;font-size:clamp(1rem,1.6vw,1.3rem);line-height:1;vertical-align:middle;background:#fff8ea14}.motto{margin-bottom:0;color:#fff8eae0;font-size:clamp(1.04rem,1.8vw,1.24rem);font-weight:800}.result-body{display:grid;grid-template-columns:minmax(168px,220px) 1fr;gap:clamp(16px,2vw,24px);align-items:center;padding:12px 0 4px}.crest-image{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.42)) drop-shadow(0 0 18px color-mix(in srgb,var(--house-color) 35%,transparent))}.result-copy p{color:#fff8ead1;font-size:1rem}.result-copy .summary{color:var(--ink);font-size:clamp(1.1rem,1.8vw,1.28rem);font-weight:800;line-height:1.5}.voice-style{margin:18px 0;padding:14px 16px;border:1px solid rgba(255,248,234,.16);border-left:4px solid var(--house-color);border-radius:8px;background:#0000002e}.voice-style span{display:block;margin-bottom:4px;color:var(--quiet);font-size:.78rem;font-weight:700}.voice-style strong{color:var(--ink);font-size:.98rem}.blessing{margin-bottom:0;color:color-mix(in srgb,var(--house-color) 60%,#fff8ea)!important;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-weight:800}.score-list{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,248,234,.13);border-radius:8px;background:#00000029}.score-row{display:grid;grid-template-columns:minmax(126px,160px) 1fr;gap:12px;align-items:center}.score-label{display:flex;min-width:0;align-items:center;gap:8px;color:var(--ink);font-weight:800}.score-label small{flex:none;color:var(--quiet);font-size:.78rem;font-weight:700}.house-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 12px currentColor}.score-meter{height:8px;border-radius:999px;background:#fff8ea1f;overflow:hidden}.score-meter span{display:block;height:100%;border-radius:inherit;transition:width .5s ease}.result-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto}.primary-button,.secondary-button{min-height:48px;padding:12px 14px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.primary-button{border-color:color-mix(in srgb,var(--house-color) 64%,rgba(255,248,234,.24));color:#17140d;background:linear-gradient(180deg,color-mix(in srgb,var(--house-color) 60%,#fff8ea),var(--house-color))}.secondary-button{background:#fff8ea14}@keyframes manorDrift{0%{transform:translate3d(-1.2%,-.8%,0) scale(1.02)}to{transform:translate3d(1.2%,.8%,0) scale(1.055)}}@keyframes tiaraFloat{0%,to{transform:translate3d(0,-7px,0) rotate(-.55deg)}50%{transform:translate3d(0,7px,0) rotate(.55deg)}}@keyframes auraBreathe{0%,to{transform:scale(.94);opacity:.56}50%{transform:scale(1.06);opacity:.9}}@keyframes runePulse{0%,to{transform:translateY(0) scale(.88);opacity:.6}50%{transform:translateY(-5px) scale(1.16);opacity:1}}@keyframes spinSoft{to{transform:rotate(360deg)}}@media(max-width:900px){.app-shell{padding:14px}.app-frame{min-height:auto}.topbar{align-items:flex-start;padding-top:6px}.progress-wrap{width:134px}.experience-grid{grid-template-columns:1fr;gap:10px}.tiara-stage{min-height:260px;padding:8px 18px 0}.tiara-image{width:min(560px,112%);max-height:260px}.house-runes{bottom:2%}.dialogue-panel{min-height:0}}@media(max-width:640px){.topbar{display:grid;gap:12px}.progress-wrap{width:100%;text-align:left}.dialogue-panel{padding:16px}.current-question h2{font-size:clamp(1.28rem,8vw,1.78rem)}.answer-button{min-height:58px;padding:13px 14px}.result-heading{padding-right:88px}.result-heading h2 span{margin:10px 0 0}.result-body{grid-template-columns:1fr}.crest-image{width:min(260px,72vw);margin:0 auto}.score-row{grid-template-columns:1fr;gap:6px}.result-buttons{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
