:root{font-family:Pretendard,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172019;background:#f5f7f4;font-synthesis:none;--green-950: #102d20;--green-800: #1b4932;--green-650: #286b49;--green-100: #e7f0e9;--line: #dfe6df;--muted: #667169;--white: #fff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,.85fr) minmax(480px,1.15fr);background:#fff}.auth-brand-panel{padding:clamp(48px,8vw,110px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 15% 10%,#3a7b57 0,transparent 34%),linear-gradient(145deg,#102d20,#1a4831 64%,#286b49)}.auth-wordmark{font-size:2rem;font-weight:950;letter-spacing:-.07em}.auth-brand-panel h1{margin:54px 0 18px;font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.04;letter-spacing:-.065em}.auth-brand-panel p{max-width:520px;color:#c2d6c8;line-height:1.7}.auth-brand-panel ul{margin:36px 0 0;padding:0;display:grid;gap:12px;list-style:none;color:#d8e7dc;font-size:.84rem}.auth-brand-panel li:before{content:"✓";margin-right:10px;color:#94d2ab;font-weight:900}.auth-form-panel{padding:36px;display:grid;place-items:center;background:#f7f9f6}.auth-card{width:min(100%,460px);padding:38px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 24px 70px #102d2017}.auth-card h2{margin:9px 0 7px;font-size:1.7rem;letter-spacing:-.045em}.auth-card>p{margin:0 0 24px;color:var(--muted);font-size:.82rem;line-height:1.55}.auth-card form{display:grid;gap:14px}.auth-field{display:grid;gap:7px;color:#344238;font-size:.76rem;font-weight:800}.auth-field>span{display:flex;justify-content:space-between}.auth-field small{color:var(--muted);font-weight:600}.auth-field input{width:100%;padding:12px 13px;border:1px solid #cbd5cc;border-radius:10px;outline:none}.auth-field input:focus{border-color:#4f8a66;box-shadow:0 0 0 3px #e4f0e8}.auth-submit{width:100%;margin-top:4px}.auth-link{justify-self:center;border:0;background:transparent;color:var(--green-650);font-size:.72rem;font-weight:750}.auth-message,.auth-error{margin-bottom:17px;padding:12px 13px;border-radius:10px;font-size:.74rem;line-height:1.5}.auth-message{background:#edf6ef;color:#296040}.auth-error{background:#fff0ed;color:#963e33}.turnstile-shell{min-height:65px;margin:16px 0}.auth-social{margin-top:24px;display:grid;gap:13px}.auth-social>span{display:flex;align-items:center;gap:10px;color:#8a948c;font-size:.66rem}.auth-social>span:before,.auth-social>span:after{content:"";height:1px;flex:1;background:var(--line)}.auth-social>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.auth-social button{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.7rem;font-weight:750}.auth-switch{margin-top:22px;color:var(--muted);text-align:center;font-size:.74rem}.auth-switch button{border:0;background:transparent;color:var(--green-650);font-weight:850}.local-demo{width:100%;margin-top:18px;padding:10px;border:1px dashed #aac0ae;border-radius:10px;background:#f5f9f6;color:#45634f;font-size:.7rem;font-weight:800}.legal-copy{margin:0;color:var(--muted);font-size:.67rem;line-height:1.5}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:250px;padding:28px 18px;display:flex;flex-direction:column;background:var(--green-950);color:#fff}.brand{padding:0 12px 32px;font-size:1.75rem;font-weight:900;letter-spacing:-.06em}.brand span{display:block;margin-top:2px;color:#9db9a7;font-size:.72rem;font-weight:700;letter-spacing:.02em}.sidebar nav{display:grid;gap:6px}.sidebar nav p{margin:24px 12px 8px;color:#7f9e8c;font-size:.7rem;font-weight:800;letter-spacing:.12em}.sidebar nav button{width:100%;padding:12px 13px;display:flex;gap:12px;align-items:center;border:0;border-radius:11px;color:#dbe8df;background:transparent;text-align:left;font-weight:700}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff1a;color:#fff}.sidebar nav button span{width:20px;text-align:center;font-size:1.1rem}.local-boundary{margin-top:auto;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#ffffff0f}.local-boundary strong,.local-boundary span{display:block}.local-boundary strong{font-size:.76rem;color:#b9d6c4}.local-boundary span{margin-top:5px;color:#9db4a6;font-size:.7rem;line-height:1.45}.app-main{min-height:100vh;margin-left:250px}.topbar{min-height:98px;padding:23px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar h1{margin:0;font-size:1.55rem;letter-spacing:-.035em}.topbar p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.topbar-actions{display:flex;align-items:center;gap:10px}.credit-pill,.avatar,.mobile-menu{border:0}.credit-pill{padding:9px 14px;border-radius:999px;background:var(--green-100);color:var(--green-800);font-size:.8rem;font-weight:800}.avatar{width:38px;height:38px;padding:0;border-radius:50%;background:var(--green-800);color:#fff;font-weight:800}.mobile-menu{display:none;padding:6px;background:transparent;font-size:1.3rem}.content{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:34px 0 88px}.page-actions{display:flex;justify-content:flex-end;margin-bottom:24px}.primary,.secondary,.download-action,.cancel-action{border:0;border-radius:11px;padding:11px 17px;font-weight:800}.primary{background:var(--green-800);color:#fff}.primary:hover{background:var(--green-650)}.secondary{background:#edf1ed;color:#334239}.danger,.cancel-action{color:#a13f35}.empty-state{min-height:420px;display:grid;place-content:center;justify-items:center;border:1px dashed #c9d3ca;border-radius:20px;background:#fff9;text-align:center}.empty-state>div{width:60px;height:60px;display:grid;place-content:center;border-radius:18px;background:var(--green-100);color:var(--green-650)}.empty-state h2{margin:22px 0 6px}.empty-state p{margin:0 0 22px;color:var(--muted)}.date-group{margin-top:30px}.date-heading{display:flex;align-items:center;gap:14px}.date-heading h2{margin:0;color:#526158;font-size:.78rem}.date-heading span{height:1px;flex:1;background:var(--line)}.project-grid{margin-top:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-tile{padding:0 0 17px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;color:inherit;text-align:left;box-shadow:0 8px 28px #1d3a270a}.project-tile:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1d3a2717}.project-media{position:relative;display:block;aspect-ratio:16 / 11;overflow:hidden;background:#e6ebe6}.project-media img{width:100%;height:100%;object-fit:cover}.play-mark{position:absolute;inset:50% auto auto 50%;width:42px;height:42px;display:grid;place-content:center;border-radius:50%;transform:translate(-50%,-50%);background:#102d20c7;color:#fff}.project-working{position:absolute;left:12px;bottom:12px;padding:7px 10px;display:flex;align-items:center;gap:7px;border-radius:999px;background:#ffffffeb;color:#345241;font-size:.68rem;font-weight:800}.project-meta{padding:14px 15px 0;display:flex;justify-content:space-between;gap:8px;align-items:center}.project-time{color:#7c867f;font-size:.68rem}.status-badge{padding:4px 7px;border-radius:999px;background:#edf1ed;color:#657068;font-size:.65rem;font-weight:800}.status-succeeded{background:#e4f5e9;color:#1f7743}.status-failed{background:#fae9e6;color:#a04034}.project-title,.project-message,.progress-track{display:block;margin-left:15px;margin-right:15px}.project-title{margin-top:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-track{height:4px;margin-top:14px;overflow:hidden;border-radius:9px;background:#e9eee9}.progress-track span{display:block;height:100%;background:#4b9268}.project-message{margin-top:8px;color:var(--muted);font-size:.72rem}.spinner{width:14px;height:14px;display:inline-block;border:2px solid #c8d5cc;border-top-color:var(--green-650);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.create-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:24px;align-items:start}.form-card,.preview-card,.metric,.ledger,.account-card,.purchase-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 28px #1d3a2709}.form-card,.account-card,.purchase-card{padding:28px}.form-card h2,.account-card h2,.purchase-card h2{margin:8px 0 7px;letter-spacing:-.03em}.form-card>p,.account-card>p,.purchase-card p{margin:0;color:var(--muted);font-size:.84rem}.step-label{color:var(--green-650);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.field{margin-top:25px;display:grid;gap:8px;font-size:.78rem;font-weight:800}.field>span{display:flex;justify-content:space-between}.field small{color:var(--muted);font-weight:600}.field input,.field textarea{width:100%;padding:12px 13px;border:1px solid #ccd6cd;border-radius:10px;outline:none;resize:vertical}.field input:focus,.field textarea:focus{border-color:#5c9472;box-shadow:0 0 0 3px #e4f0e8}.creation-kinds{margin-top:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.creation-kinds button{padding:13px 10px;display:grid;gap:5px;border:1px solid var(--line);border-radius:11px;background:#fafcfa;color:#344238;font-weight:800}.creation-kinds button span{color:var(--muted);font-size:.65rem;font-weight:650}.creation-kinds button.selected{border-color:var(--green-650);background:#edf6ef;color:var(--green-800);box-shadow:0 0 0 2px #e3efe6}.choice-field{margin:20px 0 0;padding:13px;display:flex;gap:20px;border:1px solid var(--line);border-radius:11px}.choice-field legend{padding:0 6px;color:#344238;font-size:.76rem;font-weight:800}.choice-field label{display:flex;gap:7px;align-items:center;color:#526158;font-size:.76rem}.toggle-field{margin-top:14px;padding:14px;display:flex;gap:10px;align-items:flex-start;border-radius:11px;background:#f4f7f4}.toggle-field input{margin-top:3px}.toggle-field span{display:grid;gap:4px}.toggle-field strong{font-size:.76rem}.toggle-field small{color:var(--muted);font-size:.67rem}.drop-zone{min-height:150px;margin-top:18px;padding:24px;display:grid;place-content:center;text-align:center;border:1px dashed #aebdb1;border-radius:15px;background:#fafcfa;cursor:pointer}.drop-zone.selected{border-color:#4f8a66;background:#f0f7f2}.drop-zone input{position:absolute;opacity:0;pointer-events:none}.drop-zone strong{font-size:.84rem}.drop-zone span,.asset-library>div>span{margin-top:6px;color:#7a857d;font-size:.7rem}.local-sample-action{width:100%;margin-top:9px;padding:9px;border:1px dashed #b8c7bb;border-radius:9px;background:#f6f9f6;color:#496151;font-size:.7rem;font-weight:800}.asset-library{margin-top:24px}.asset-library>div:first-child{display:flex;justify-content:space-between}.asset-grid{margin-top:10px;display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.asset-grid button{aspect-ratio:1;padding:2px;overflow:hidden;border:2px solid transparent;border-radius:9px;background:#edf1ed}.asset-grid button.selected{border-color:var(--green-650)}.asset-grid img{width:100%;height:100%;object-fit:cover;border-radius:6px}.form-footer{margin-top:24px;padding-top:20px;display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid var(--line)}.form-footer>span{color:var(--muted);font-size:.7rem}.preview-card{position:sticky;top:24px;padding:14px}.preview-card>img,.preview-card>div{width:100%;aspect-ratio:9 / 16;border-radius:13px;object-fit:cover;background:#e8ede9}.preview-card>div{display:grid;place-content:center;justify-items:center;color:#7a857e;text-align:center}.preview-card>div span{font-size:2rem;font-weight:900;color:#aab5ad}.preview-card>div p{max-width:180px;font-size:.75rem}.settings-page{display:grid;gap:22px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{padding:22px}.metric>span{display:block;color:var(--muted);font-size:.74rem}.metric>strong{display:block;margin-top:13px;font-size:1.85rem}.metric>strong.accent{color:var(--green-650)}.metric small{margin-left:4px;color:var(--muted);font-size:.66rem}.purchase-card header{display:flex;justify-content:space-between}.pack-grid{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pack-grid article{padding:16px;display:grid;gap:8px;border:1px solid var(--line);border-radius:13px}.pack-grid article>span{color:var(--muted);font-size:.8rem}.pack-grid button{margin-top:6px;padding:9px;font-size:.72rem}.payment-agreement{margin-top:17px;display:flex;gap:9px;align-items:center;color:var(--muted);font-size:.74rem}.ledger{overflow:hidden}.ledger header{padding:20px 22px;border-bottom:1px solid var(--line)}.ledger h2{margin:0;font-size:1rem}.ledger-row{min-height:70px;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #edf1ed}.ledger header+.ledger-row{border-top:0}.ledger-row>div{display:grid;gap:5px}.ledger-row>div:last-child{text-align:right}.ledger-row strong{font-size:.8rem}.ledger-row span{color:var(--muted);font-size:.68rem}.ledger-row .positive{color:#25804a}.muted-row{margin:0;padding:24px;color:var(--muted);font-size:.8rem}.identity{margin-top:25px;padding:17px;display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px}.identity>span{width:44px;height:44px;display:grid;place-content:center;border-radius:50%;background:var(--green-800);color:#fff;font-weight:900}.identity div{display:grid;gap:4px}.identity small{color:var(--muted)}.identity em{margin-left:auto;padding:5px 8px;border-radius:999px;background:var(--green-100);color:var(--green-650);font-size:.65rem;font-style:normal;font-weight:800}.account-note{margin:16px 0;padding:14px;border-radius:11px;background:#f3f6f3;color:var(--muted);font-size:.74rem;line-height:1.55}.drawer-overlay{position:fixed;inset:0;z-index:60;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 390px;background:#0a120db8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.drawer-media{display:grid;place-content:center;overflow:hidden}.drawer-media img,.drawer-media video{max-width:90%;max-height:calc(100vh - 48px);border-radius:14px}.drawer-panel{padding:25px;display:flex;flex-direction:column;border-radius:17px;background:#fff}.drawer-panel header{display:flex;justify-content:space-between;gap:16px}.drawer-panel h2{margin:0}.drawer-panel header p{color:var(--muted);font-size:.7rem}.drawer-panel header button{align-self:flex-start;border:0;background:transparent;font-size:1.5rem}.drawer-panel section{margin-top:25px}.drawer-panel section>span{color:var(--muted);font-size:.7rem;font-weight:800}.drawer-panel dl{margin:12px 0}.drawer-panel dl div{padding:12px 0;display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line)}.drawer-panel dt{color:var(--muted)}.drawer-panel dd{margin:0;text-align:right}.drawer-panel footer{margin-top:auto;display:grid;gap:9px}.download-action{background:var(--green-800);color:#fff;text-align:center}.cancel-action{background:#fff0ed}.support-id{color:var(--muted);font-size:.68rem}.toast-error{position:fixed;z-index:90;right:24px;bottom:24px;max-width:430px;padding:14px 16px;display:flex;gap:14px;align-items:center;border:1px solid #edc4bd;border-radius:13px;background:#fff5f3;color:#8d362e;box-shadow:0 16px 40px #431a1529}.toast-error button{border:0;background:transparent;color:inherit;font-size:1.2rem}.loading-screen,.fatal-state{min-height:100vh;display:grid;place-content:center;justify-items:center;color:var(--muted)}.loading-screen .brand{color:var(--green-950)}.sidebar-scrim{display:none}@media(max-width:980px){.sidebar{transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar-scrim{position:fixed;inset:0 0 0 250px;z-index:20;display:block;visibility:hidden;border:0;background:#0a120d8c;opacity:0;pointer-events:none}.sidebar-scrim.visible{visibility:visible;opacity:1;pointer-events:auto}.app-main{margin-left:0}.mobile-menu{display:block}.topbar{justify-content:flex-start}.topbar-actions{margin-left:auto}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:230px;padding:34px 24px}.auth-brand-panel h1{margin:27px 0 10px;font-size:2.3rem}.auth-brand-panel p,.auth-brand-panel ul{display:none}.auth-form-panel{padding:22px 14px 40px;align-items:start}.auth-card{padding:26px 20px;border-radius:18px}.topbar{padding:18px}.topbar p,.credit-pill{display:none}.content{width:min(100% - 28px,560px);padding-top:22px}.project-grid,.metric-grid,.create-layout,.pack-grid,.creation-kinds{grid-template-columns:1fr}.preview-card{position:static;order:-1}.preview-card>img,.preview-card>div{max-height:360px;object-fit:contain}.asset-grid{grid-template-columns:repeat(4,1fr)}.form-footer{align-items:stretch;flex-direction:column}.drawer-overlay{padding:0;display:block;overflow:auto}.drawer-media{min-height:45vh}.drawer-media img,.drawer-media video{max-height:42vh}.drawer-panel{min-height:55vh;border-radius:18px 18px 0 0}}
