#root{min-height:100vh}:root{color:#f7f1e8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#11131c;--paper:#f7f1e8;--muted:#afa7a5;--violet:#3f2a56;--gold:#d7b56d;--coral:#e46f5f;--cyan:#75b6bc;--line:#f7f1e82e;background:#11131c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 10%,#e46f5f2e,#0000 28rem),radial-gradient(circle at 90% 5%,#75b6bc29,#0000 24rem),linear-gradient(135deg,#12131d 0%,#241d2e 48%,#101721 100%);min-width:320px;min-height:100vh;margin:0}button,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.68}.app-shell{gap:24px;width:min(1180px,100% - 32px);min-height:100vh;margin:0 auto;padding:28px 0 20px;display:grid}.tool-panel,.result-panel{align-self:start}.brand{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.82rem;font-weight:800}h1{max-width:11ch;color:var(--paper);letter-spacing:0;margin:0;font-size:clamp(2.6rem,9vw,5.7rem);line-height:.95}.intro{color:#f7f1e8c2;max-width:36rem;margin:18px 0 26px;font-size:1rem;line-height:1.65}.field{gap:10px;display:grid}.field span,.style-selector legend{color:var(--paper);letter-spacing:0;font-size:.84rem;font-weight:800}textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--paper);background:#11131cb8;border-radius:8px;padding:16px;line-height:1.55;box-shadow:inset 0 1px #ffffff0a}textarea:focus,.style-option:focus-visible,.generate-button:focus-visible,.result-actions button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.field small,.hint{color:#f7f1e894;font-size:.86rem}.field-error{color:#ffb0a4;font-size:.9rem}.style-selector{border:0;gap:12px;margin:20px 0;padding:0;display:grid}.style-grid{gap:10px;display:grid}.style-option{border:1px solid var(--line);min-height:72px;color:var(--paper);text-align:left;background:#f7f1e80f;border-radius:8px;gap:5px;padding:14px;display:grid}.style-option.selected{background:#d7b56d21;border-color:#d7b56de6}.style-option span{font-weight:800}.style-option small{color:#f7f1e89e}.generate-button,.primary-action{color:#16131a;background:linear-gradient(135deg, var(--gold), #f1d18d);border-radius:8px;width:100%;min-height:54px;font-weight:900}.result-panel{justify-items:center;gap:16px;display:grid}.empty-result{aspect-ratio:4/5;color:#f7f1e894;text-align:center;background:#11131c57;border:1px dashed #f7f1e840;border-radius:8px;place-items:center;width:min(100%,420px);padding:28px;line-height:1.5;display:grid}.dream-card{isolation:isolate;aspect-ratio:4/5;width:min(100%,420px);color:var(--paper);border-radius:8px;padding:24px;position:relative;overflow:hidden;box-shadow:0 26px 80px #00000057}.dream-card:before{z-index:2;content:"";pointer-events:none;border:1px solid #f7f1e847;border-radius:6px;position:absolute;inset:12px}.card-generated-image{z-index:0;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dream-card.has-image:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#11131c0a 0%,#11131c2e 38%,#11131ce0 100%),linear-gradient(90deg,#11131c8f,#0000 44%);position:absolute;inset:0}.dream-card.has-image{background:#11131c}.dream-card.is-loading-image{background:radial-gradient(circle at 50% 18%,#d7b56d33,#0000 26%),linear-gradient(160deg,#21182d,#11131c 56%,#151722)}.card-image-button{z-index:0;width:100%;height:100%;color:inherit;background:0 0;padding:0;position:absolute;inset:0}.card-image-button:focus-visible{outline:2px solid var(--cyan);outline-offset:-6px}.card-loading-visual{z-index:0;background:radial-gradient(circle at 50% 22%,#d7b56d42,#0000 24%),radial-gradient(circle at 22% 72%,#75b6bc2e,#0000 30%),linear-gradient(160deg,#21182d,#11131c 58%,#151722);place-items:center;padding:30px;display:grid;position:absolute;inset:0}.card-loading-visual:before,.card-loading-visual:after{content:"";border:1px solid #f7f1e81f;border-radius:999px;animation:2.4s ease-in-out infinite loading-pulse;position:absolute}.card-loading-visual:before{aspect-ratio:1;width:68%}.card-loading-visual:after{aspect-ratio:1;width:44%;animation-delay:.4s}.loading-moon{aspect-ratio:1;filter:blur(.1px);opacity:.42;background:radial-gradient(circle at 34% 32%,#f7f1e8db,#d7b56d24 58%);border-radius:999px;width:78px;position:absolute;top:56px;right:62px}.loading-door{aspect-ratio:.62;background:linear-gradient(90deg,#0000 48%,#d7b56d5c 49%,#0000 51%),linear-gradient(#f7f1e814,#11131ca3);border:1px solid #d7b56d94;border-radius:4px 4px 2px 2px;width:38%;min-width:118px;position:relative;box-shadow:0 0 48px #d7b56d29}.loading-door:after{aspect-ratio:1;background:var(--gold);content:"";border-radius:999px;width:8px;position:absolute;top:52%;right:18%}.loading-caption{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#11131cb3;border:1px solid #f7f1e824;border-radius:8px;gap:6px;padding:16px;display:grid;position:absolute;bottom:24px;left:24px;right:24px}.loading-caption strong{font-family:Georgia,Times New Roman,serif;font-size:1.18rem}.loading-caption span{color:#f7f1e8ad;font-size:.82rem;line-height:1.45}.dream-poster{background:linear-gradient(160deg,#e46f5fb8,#0000 35%),linear-gradient(20deg,#75b6bc6b,#0000 44%),#151722}.mystical-tarot{background:radial-gradient(circle at 50% 18%,#d7b56d38,#0000 23%),linear-gradient(160deg,#241431,#120f1e 56%,#251b17)}.psychology-result{color:#191922;background:linear-gradient(#75b6bc3d,#0000 42%),linear-gradient(135deg,#f5efe4,#dbcfc4)}.psychology-result.has-image{color:var(--paper)}.psychology-result:before{border-color:#19192233}.card-orbit{z-index:2;opacity:.18;border:1px solid;border-radius:999px;width:110px;height:110px;position:absolute;inset:50px 42px auto auto}.card-content{z-index:3;flex-direction:column;min-height:100%;display:flex;position:relative}.dream-card.has-image .card-content{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;text-shadow:0 2px 18px #000000b8;background:linear-gradient(#11131c24,#11131cad);border:1px solid #f7f1e81f;border-radius:8px;justify-content:flex-end;min-height:auto;padding:10px;position:absolute;bottom:14px;left:14px;right:14px}.dream-card.has-image .card-orbit{opacity:.1;pointer-events:none}.dream-card.has-image .card-style{margin:3px 0 0;font-size:.58rem}.dream-card.has-image .card-brand{font-size:.58rem}.dream-card.has-image h2{max-width:14ch;margin:7px 0 4px;font-size:clamp(.92rem,2.8vw,1.18rem);line-height:1.02}.dream-card.has-image .card-headline{max-width:24rem;font-size:.62rem;line-height:1.38}.dream-card.has-image .signal{display:none}.dream-card.has-image .signal span{font-size:.56rem}.dream-card.has-image .signal strong{font-size:.68rem}.dream-card.has-image .symbols{gap:6px;margin-top:7px}.dream-card.has-image .symbols span{padding:4px 7px;font-size:.58rem}.card-brand,.card-style,.signal span{letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:900}.card-style{opacity:.72;margin:10px 0 auto}.dream-card h2{letter-spacing:0;margin:52px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,10vw,3.55rem);line-height:.92}.card-headline{margin:0;font-size:1.02rem;line-height:1.42}.signal{gap:6px;margin-top:auto;padding-top:24px;display:grid}.signal strong{font-size:1.08rem}.symbols{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.symbols span{opacity:.82;border:1px solid;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800}.result-actions{grid-template-columns:1fr 1fr;gap:10px;width:min(100%,420px);display:grid}.result-actions .primary-action{grid-column:1/-1}.result-actions button:not(.primary-action){border:1px solid var(--line);min-height:46px;color:var(--paper);background:#f7f1e814;border-radius:8px;font-weight:800}.image-preview{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08090eeb;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.image-preview-toolbar{justify-content:flex-end;gap:8px;padding:14px;display:flex}.image-preview-toolbar button{min-width:42px;height:42px;color:var(--paper);background:#f7f1e814;border:1px solid #f7f1e838;border-radius:8px;place-items:center;font-weight:900;display:grid}.image-preview-toolbar button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.image-preview-stage{place-items:center;padding:14px;display:grid;overflow:auto}.image-preview-stage img{transform-origin:50%;border-radius:8px;max-width:min(92vw,1100px);max-height:82vh;transition:transform .16s;box-shadow:0 30px 90px #0000008c}@keyframes loading-pulse{0%,to{opacity:.18;transform:scale(.96)}50%{opacity:.48;transform:scale(1.04)}}footer{color:#f7f1e885;text-align:center;font-size:.78rem;line-height:1.5}@media (width>=860px){.app-shell{grid-template-columns:minmax(0,1fr) 460px;align-items:center;padding:42px 0 24px}footer{grid-column:1/-1}}
