:root{font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1b1b28;background-color:#f9f9fc;line-height:1.4;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;background:#f4f4fb}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.2rem;font-size:.95rem;transition:transform .2s ease,box-shadow .2s ease}button:focus-visible{outline:3px solid #b08bff;outline-offset:2px}.primary{background:linear-gradient(135deg,#c28bff,#8f6fff);color:#fff;box-shadow:0 12px 32px #a87aff40}.primary:hover{transform:translateY(-2px)}.ghost{background:transparent;border:1px solid #d8d8f0;color:#525280}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#fff,#f2eefc);padding:1.5rem;box-shadow:inset -1px 0 #9892cd26;display:flex;flex-direction:column;gap:2rem}.sidebar__header{display:flex;flex-direction:column;gap:.5rem}.sidebar__logo{font-weight:700;font-size:1.4rem;color:#914bff}.sidebar__caption{color:#7a7aa5;font-size:.9rem}.sidebar__section{margin:0 0 .75rem;font-size:.78rem;text-transform:uppercase;color:#9d9dc5;letter-spacing:.08em}.sidebar__nav{display:flex;flex-direction:column;gap:.45rem}.sidebar__link{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border-radius:10px;color:#4d4d75;transition:background .2s ease,color .2s ease}.sidebar__link:hover{background:#c4aeff26;color:#7a4fff}.sidebar__link.active{background:linear-gradient(135deg,#c28bff40,#8f6fff4d);color:#6638ff;font-weight:600}.main-area{display:flex;flex-direction:column}.top-bar{display:flex;align-items:center;gap:1rem;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #ececf8}.back-button{background:#f1edff;color:#6f46ff;border-radius:999px;padding:.5rem 1.1rem;font-size:.9rem}.profile-button{background:#fff;border:1px solid #e0def9;color:#5c5ca8;border-radius:999px;padding:.55rem 1.4rem}.profile-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #7768ff1a}.top-bar__spacer{flex:1}.main-content{padding:2rem 2.5rem 3rem;display:flex;flex-direction:column;gap:2rem}.hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#fdfbff,#f0eaff);padding:2rem 2.5rem;border-radius:24px;box-shadow:0 24px 45px #8e6bff1f}.hero h1{margin:0;font-size:2rem;color:#2d2d50}.hero p{margin:.4rem 0 0;color:#67679d}.hero__actions{display:flex;gap:1rem}.platforms{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.platform-card{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 15px 35px #937cff1f;border:1px solid rgba(164,142,255,.15)}.platform-card h3{margin:0;font-size:1.1rem;color:#35355e}.platform-card p{margin:.6rem 0 0;color:#7979a8;font-size:.9rem}.dashboard{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.dashboard__projects{background:#fff;border-radius:22px;padding:1.8rem;box-shadow:0 18px 45px #8c76ff24}.dashboard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard__header h2{margin:0;font-size:1.4rem;color:#34345a}.project-list__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.project-list__filter{display:inline-flex;background:#f4f2ff;border-radius:999px;padding:.4rem}.project-list__filter button{background:transparent;border-radius:999px;padding:.45rem 1rem;font-size:.85rem;color:#6a6aa0}.project-list__filter button.active{background:#fff;box-shadow:0 8px 20px #856aff2e;color:#5b3dff}.project-list__search{display:flex;gap:.5rem}.project-list__search input,.project-list__search select{border:1px solid #deddf2;border-radius:12px;padding:.55rem .85rem;font-size:.9rem;background:#fff;color:#4f4f7c}.project-list__items{margin-top:1.4rem;display:grid;gap:1rem}.project-card{background:linear-gradient(140deg,#fffffff2,#e6ddffb3);border:1px solid rgba(136,112,255,.2);border-radius:18px;padding:1.2rem 1.4rem;box-shadow:0 18px 35px #795fff29;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 26px 45px #795fff40}.project-card.selected{border-color:#7a58ff;box-shadow:0 26px 48px #7a58ff59}.project-card__badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.35rem .75rem;font-size:.75rem;background:#785dff1f;color:#6a4bff}.project-card__badge.published{background:#26be882e;color:#10966e}.project-card__title{margin:.6rem 0 .2rem;font-size:1.1rem;color:#2f2f57}.project-card__kind,.project-card__meta{margin:.2rem 0;color:#6a6a9b;font-size:.85rem}.project-list__empty{display:grid;place-items:center;padding:2.5rem 1rem;border-radius:20px;background:#f7f5ff;color:#7b7bb5;border:1px dashed rgba(112,93,255,.35)}.dashboard__meta{display:flex;flex-direction:column;gap:1.5rem}.dashboard__meta section{background:#fff;padding:1.5rem;border-radius:20px;box-shadow:0 15px 36px #7d66ff1f;border:1px solid rgba(138,120,255,.18)}.dashboard__meta h3{margin:0 0 1rem;font-size:1rem;color:#414172}#project-preview{width:100%;aspect-ratio:1 / 1;border-radius:16px;background:#f4f1ff}#project-preview.webgl-fallback{display:grid;place-items:center;color:#6b6b9e;font-size:.9rem}.versions ul,.autosaves ul,.assets ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.versions li,.autosaves li,.assets li{padding:.5rem .75rem;border-radius:12px;background:#f7f4ff;color:#63639a;font-size:.85rem}.versions li.active{background:#8870ff40;color:#4a30c7;font-weight:600}.auth-modal,.project-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal.hidden,.project-modal.hidden{display:none}.auth-modal__overlay,.project-modal__overlay{position:absolute;inset:0;background:#14142859;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal__dialog,.project-modal__dialog{position:relative;background:#fff;border-radius:20px;padding:2rem;width:min(420px,90vw);box-shadow:0 28px 65px #311e8b59;display:flex;flex-direction:column;gap:1.5rem}.auth-modal__tabs{display:grid;grid-template-columns:repeat(2,1fr);background:#f3f1ff;border-radius:12px;padding:.4rem;gap:.4rem}.auth-modal__tabs button{background:transparent;border-radius:10px;padding:.6rem .8rem;font-size:.95rem;color:#706fa4}.auth-modal__tabs button.active{background:#fff;color:#5a3cff;font-weight:600}.auth-modal__form,.project-modal__form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.85rem;color:#6b6b98}.form-group input,.form-group select{border:1px solid #dad7f8;border-radius:12px;padding:.65rem .8rem;font-size:.95rem;background:#fbfaff;color:#414171}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.auth-modal__error,.project-modal__error{margin:0;color:#dc3f4b;font-size:.85rem;background:#dc3f4b14;padding:.6rem .75rem;border-radius:10px}.auth-modal__error.success{color:#15795b;background:#15795b1a}button:disabled{cursor:wait;opacity:.7;transform:none}.hidden{display:none!important}.auth-modal__footer,.project-modal__footer{display:flex;justify-content:flex-end;gap:.75rem}.profile-menu{position:fixed;min-width:220px;background:#fff;border-radius:16px;box-shadow:0 20px 55px #392b8440;padding:1rem;z-index:1100;border:1px solid rgba(130,108,255,.25)}.profile-menu__name{margin:0 0 .75rem;font-weight:600;color:#4b3f99}.profile-menu button{width:100%;justify-content:center}@media (max-width: 1280px){.dashboard{grid-template-columns:1fr}.dashboard__meta{flex-direction:row;flex-wrap:wrap}.dashboard__meta section{flex:1 1 260px}}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;justify-content:space-between;padding:1rem 1.5rem}.sidebar__nav{display:none}.main-content{padding:1.5rem}.hero{flex-direction:column;align-items:flex-start;gap:1.2rem}}.placeholder{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(120deg,#fdfbff,#efe8ff)}.placeholder__inner{background:#fff;border-radius:24px;padding:3rem;max-width:520px;text-align:center;box-shadow:0 35px 75px #5c49b340;display:grid;gap:1.2rem}.placeholder__inner h1{margin:0;font-size:2rem;color:#312f63}.placeholder__inner p{margin:0;color:#6b6ba3;line-height:1.6}.placeholder__actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.placeholder__inner .primary,.placeholder__inner .ghost{justify-self:center}.landing{min-height:100vh;padding:2rem;background:radial-gradient(circle at top left,rgba(194,139,255,.22),transparent 28%),linear-gradient(160deg,#fcfbff,#f2edff 56%,#eef6ff)}.landing__hero{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.6fr .9fr;gap:1.5rem;align-items:stretch}.landing__copy,.landing__panel{background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(138,120,255,.16);border-radius:28px;box-shadow:0 28px 65px #6854c424}.landing__copy{padding:3rem}.landing__eyebrow{margin:0;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#7f65ff;font-weight:700}.landing__copy h1{margin:.9rem 0 0;font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.05;color:#27244d}.landing__description{margin:1.1rem 0 0;font-size:1.05rem;line-height:1.8;color:#646492;max-width:720px}.landing__actions{display:flex;gap:.9rem;margin-top:1.6rem;flex-wrap:wrap}.landing__actions .ghost,.landing__actions .primary{display:inline-flex;align-items:center;justify-content:center}.landing__panel{padding:1.4rem;display:grid;gap:1rem}.landing__metric{padding:1.2rem 1.3rem;border-radius:18px;background:linear-gradient(140deg,#fffffff2,#ece5ffe6);border:1px solid rgba(136,112,255,.16)}.landing__metric strong{display:block;font-size:1.15rem;color:#332e68}.landing__metric span{display:block;margin-top:.35rem;color:#6d6d9d}.landing__tools{max-width:1240px;margin:1.6rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}.landing__card{position:relative;background:#ffffffe0;border:1px solid rgba(136,112,255,.16);border-radius:24px;padding:1.5rem;box-shadow:0 18px 45px #715cd01f;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.landing__card:hover{transform:translateY(-4px);box-shadow:0 28px 55px #715cd02e;border-color:#7456ff59}.landing__card h2{margin:.85rem 0 0;font-size:1.2rem;color:#312d60}.landing__card p{margin:.6rem 0 0;color:#6b6b98;line-height:1.65}.landing__badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-size:.76rem;font-weight:700;color:#6241ff;background:#8262ff1f}@media (max-width: 960px){.landing{padding:1.2rem}.landing__hero{grid-template-columns:1fr}.landing__copy{padding:2rem 1.4rem}}.tool-page{min-height:100vh;background:linear-gradient(160deg,#f7f4ff,#eef3ff)}.tool-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.tool-sidebar{padding:1.4rem;background:#ffffffd1;border-right:1px solid rgba(133,115,221,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tool-sidebar__brand{display:grid;gap:.35rem;margin-bottom:1.2rem}.tool-sidebar__brand strong{font-size:1.2rem;color:#4938aa}.tool-sidebar__brand span{color:#7777a4;font-size:.88rem}.tool-nav{display:grid;gap:.4rem}.tool-nav__link{padding:.75rem .85rem;border-radius:12px;color:#5f5f88}.tool-nav__link:hover,.tool-nav__link.active{background:#7e5fff1f;color:#5b3dff;font-weight:600}.tool-main{padding:2rem;display:grid;gap:1.4rem}.tool-hero{padding:2rem;border-radius:24px;background:linear-gradient(120deg,#fffdfd,#f1ebff);box-shadow:0 22px 50px #755ddc1f}.tool-hero__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:#7e5fff}.tool-hero h1{margin:.7rem 0 0;font-size:2.1rem;color:#2a2758}.tool-hero p{margin:.65rem 0 0;color:#6d6d9e;line-height:1.7}.tool-hero small{display:block;margin-top:.7rem;color:#8a88aa}.tool-grid{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:1.4rem}.tool-form,.tool-result{background:#fff;border-radius:22px;padding:1.5rem;box-shadow:0 18px 45px #795fff1f}.tool-form{display:grid;gap:.9rem;align-content:start}.tool-field{display:grid;gap:.35rem}.tool-field span{font-size:.88rem;color:#67679a}.tool-field input,.tool-field textarea{border:1px solid #dddaf7;border-radius:14px;padding:.8rem .95rem;font:inherit;background:#fcfbff;color:#33335d;resize:vertical}.tool-result{display:grid;gap:1rem}.tool-result__header h2{margin:0;color:#312d60}.tool-result__header p{margin:.35rem 0 0;color:#7c7ca7}.tool-result__content{display:grid;gap:.9rem}.tool-result__card{border:1px solid rgba(126,95,255,.14);border-radius:18px;padding:1rem;background:linear-gradient(140deg,#fffffffa,#f4efffd1)}.tool-result__card header{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.tool-result__card h3{margin:0;font-size:1rem;color:#3a336b}.tool-result__card pre{margin:.9rem 0 0;white-space:pre-wrap;word-break:keep-all;font:inherit;line-height:1.7;color:#5d5d8d}@media (max-width: 960px){.tool-shell,.tool-grid{grid-template-columns:1fr}}
