:root{--canvas:#f7f7f2;--surface:#ffffff;--surface-subtle:#eef5ef;--ink:#1f2923;--ink-muted:#5a665e;--line:#dce4dc;--accent:#08786b;--accent-hover:#066357;--focus:#005fcc;--warm:#f5e9d6;--lavender:#e8e1f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;color:var(--ink);background:var(--canvas);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:16px;line-height:1.65;word-break:keep-all}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22;letter-spacing:-.04em}ol,ul{margin:0;padding-left:1.35rem}.shell{width:min(100% - 40px,1184px);margin:0 auto}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap}.site-header{background:rgba(247,247,242,.92);border-bottom:1px solid rgba(220,228,220,.8)}.footer-content,.header-content{display:flex;align-items:center;justify-content:space-between;gap:24px}.header-content{min-height:76px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:14px;line-height:1.15}.brand small,.brand strong{display:block}.brand small{margin-top:2px;color:var(--ink-muted);font-size:11px;letter-spacing:.03em}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;color:white;background:var(--accent);font-size:11px;font-weight:800;line-height:1.2;letter-spacing:-.02em;text-align:center}.nav-list{display:flex;gap:22px;padding:0;list-style:none;font-size:14px;font-weight:600}.nav-list a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}.nav-list a:hover{color:var(--accent)}.account-menu{position:relative}.account-menu-trigger{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;background:none;border:none;font:inherit;font-weight:600;color:inherit;cursor:pointer}.account-menu-badge{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d64545}.account-menu-panel{position:absolute;right:0;top:100%;z-index:20;gap:2px;min-width:180px;margin-top:8px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--surface);box-shadow:0 12px 24px rgba(31,41,35,.12)}.account-menu-panel:not([hidden]){display:grid}.account-menu-panel a,.account-menu-panel button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 10px;border-radius:6px;font-size:14px;font-weight:600;text-align:left;background:none;border:none;color:inherit;cursor:pointer}.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--surface-subtle)}.hero-section{padding:84px 0 96px;background:radial-gradient(circle at 85% 18%,rgba(116,196,169,.28),transparent 29%),var(--surface-subtle)}.hero-content{max-width:850px}.eyebrow{margin-bottom:12px;color:var(--accent);font-size:14px;font-weight:700;letter-spacing:.05em}.hero-content h1{max-width:820px;margin-bottom:24px;font-size:clamp(2.4rem,6vw,4.25rem);font-weight:800}.hero-content h1 span{display:block}.hero-copy,.lead,.section-heading>p{max-width:680px;color:var(--ink-muted);font-size:18px}.hero-link{display:inline-flex;min-height:48px;align-items:center;margin-top:14px;padding:0 20px;border-radius:12px;color:#fff;background:var(--accent);font-weight:700;transition:background-color .18s ease,transform .18s ease}.hero-link:hover{background:var(--accent-hover);transform:translateY(-1px)}.apps-section,.content-section,.guide-section{padding:88px 0}.section-heading{margin-bottom:34px}.empty-state h1,.guide-intro h1,.prose h1,.section-heading h1,.section-heading h2{margin-bottom:14px;font-size:clamp(2rem,4vw,2.75rem)}.tag-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tag-filter button{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-muted);cursor:pointer}.tag-filter button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:white}.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media (min-width:1024px){.app-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.app-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 12px 28px rgba(31,41,35,.07)}.app-card-media{display:block}.app-card-media:hover .app-artwork-photo img{transform:scale(1.03)}.app-card-body{display:flex;min-height:0;flex:1 1;flex-direction:column;padding:18px 20px}.app-card h3{margin-bottom:6px;font-size:17px}.app-card h3 a{color:inherit;text-decoration:none}.app-card h3 a:hover{color:var(--accent)}.app-card-creator{margin:-8px 0 4px;font-size:13px;font-weight:600;color:var(--ink-muted)}.app-card-creator a:hover{color:var(--accent)}.app-card-body>p{display:-webkit-box;overflow:hidden;margin-bottom:14px;color:var(--ink-muted);font-size:14px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-card-actions{margin-top:auto}.admin-post-controls,.app-card-actions{display:flex;flex-wrap:wrap;gap:8px}.app-card-body .admin-post-controls{margin-top:8px}.post-page-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.project-status{margin:0;padding:32px;border:1px solid var(--line);border-radius:16px;color:var(--ink-muted);background:var(--surface)}.project-status h3{margin-bottom:8px;color:var(--ink);font-size:20px}.project-status p{margin-bottom:18px}.retry-button{min-height:44px;padding:0 16px;border:0;border-radius:12px;color:#fff;background:var(--accent);font:inherit;font-weight:700;cursor:pointer}.retry-button:hover{background:var(--accent-hover)}.action-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:700;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.action-link:hover{transform:translateY(-1px)}.action-link-primary{color:white;background:var(--accent)}.action-link-primary:hover{background:var(--accent-hover)}.action-link-secondary{border-color:var(--line);color:var(--ink);background:var(--surface)}.action-link-secondary:hover{border-color:var(--accent);color:var(--accent)}.app-artwork{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:16/9}.app-artwork-photo{background:var(--surface)}.app-artwork-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.artwork-mint{background:#dff2e7}.artwork-blue{background:#dcecf7}.artwork-lavender{background:var(--lavender)}.artwork-warm{background:var(--warm)}.artwork-glow{position:absolute;inset:30px auto auto 52%;width:180px;height:180px;border-radius:999px;background:rgba(255,255,255,.55);filter:blur(12px)}.artwork-board{position:absolute;top:42px;left:17%;width:64%;height:160px;padding:34px 26px;border:1px solid rgba(31,41,35,.1);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 18px 30px rgba(31,41,35,.1);transform:rotate(-3deg)}.artwork-line{display:block;height:10px;margin-bottom:13px;border-radius:10px;background:rgba(31,41,35,.12)}.artwork-line-one{width:76%}.artwork-line-two{width:58%}.artwork-line-three{width:68%}.artwork-chip,.artwork-note{position:absolute;display:block;border-radius:10px}.artwork-chip{width:36px;height:36px;background:rgba(8,120,107,.77)}.artwork-chip-one{right:24px;top:31px}.artwork-chip-two{right:74px;top:74px;background:rgba(255,190,97,.8)}.artwork-note{width:66px;height:66px;background:rgba(255,255,255,.75);box-shadow:0 12px 22px rgba(31,41,35,.08)}.artwork-note-one{bottom:24px;right:18%;transform:rotate(8deg)}.artwork-note-two{top:30px;left:14%;width:46px;height:46px;transform:rotate(-11deg)}.prose{max-width:860px}.prose-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.guide-details,.prose-grid{margin-top:42px}.guide-details section,.prose-grid section{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.prose-grid h2{margin-bottom:10px;font-size:20px}.prose-grid p{margin-bottom:0;color:var(--ink-muted)}.guide-layout{display:grid;gap:48px 36px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}.guide-intro>p:not(.eyebrow):not(.lead){color:var(--ink-muted)}.guide-intro .action-link{margin-top:12px}.back-link{display:inline-block;margin-bottom:36px;color:var(--ink-muted);font-size:14px;font-weight:700}.back-link:hover{color:var(--accent)}.guide-layout>.app-artwork{border-radius:20px}.guide-details{grid-column:1/-1}.guide-details .markdown-body{margin-top:0}.empty-state{max-width:700px;text-align:center}.empty-state .action-link{margin-top:10px}.post-page .post-page-top{margin-bottom:24px}.post-page .back-link{margin-bottom:0}.post-cover{display:block;width:100%;max-height:420px;margin-bottom:24px;border-radius:20px;object-fit:cover}.markdown-body{margin-top:32px;color:var(--ink);line-height:1.75}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:32px 0 12px;font-weight:800;line-height:1.3}.markdown-body h1{font-size:1.6rem}.markdown-body h2{font-size:1.35rem}.markdown-body h3{font-size:1.15rem}.markdown-body p{margin:0 0 16px}.markdown-body ol,.markdown-body ul{margin:0 0 16px;padding-left:1.4rem}.markdown-body li+li{margin-top:4px}.markdown-body a{color:var(--accent);text-decoration:underline}.markdown-body img{max-width:100%;border-radius:12px}.markdown-body blockquote{margin:0 0 16px;padding:4px 18px;border-left:3px solid var(--accent);color:var(--ink-muted)}.markdown-body code{padding:2px 6px;border-radius:6px;background:var(--warm);font-size:.9em}.markdown-body pre{margin:0 0 16px;padding:16px;overflow-x:auto;border-radius:12px;background:#1f2923;color:#f7f7f2}.markdown-body pre code{padding:0;background:none}.markdown-body table{width:100%;margin:0 0 16px;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:8px 12px;border:1px solid var(--line);text-align:left}.markdown-body hr{margin:32px 0;border:0}.markdown-body hr,.site-footer{border-top:1px solid var(--line)}.site-footer{padding:28px 0;color:var(--ink-muted);font-size:14px}.footer-content p{margin:0}.footer-content a:hover{color:var(--accent)}.admin-guard-shell,.admin-login-shell{max-width:720px}.admin-dashboard{max-width:1040px}.admin-dashboard,.admin-login-shell{padding:32px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 12px 28px rgba(31,41,35,.07)}.admin-dashboard h1,.admin-login-shell h1{margin-bottom:14px;font-size:clamp(2rem,4vw,2.75rem)}.admin-dashboard .action-link,.admin-guard-shell .action-link,.admin-login-shell .retry-button{margin-top:10px}.admin-message{margin:16px 0 0;color:var(--ink-muted);font-weight:600}.admin-message[role=alert]{padding:12px 14px;border:1px solid #f3b7b0;border-radius:10px;background:#fdecea;color:#b3261e;white-space:pre-line}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.admin-tabs{display:flex;gap:8px}.admin-tab{display:inline-flex;min-height:40px;align-items:center;padding:0 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink-muted);font-size:14px;font-weight:700}.admin-tab-active,.admin-tab:hover{border-color:var(--accent);color:var(--accent)}.admin-tab-active{background:var(--warm)}.admin-image-uploader{display:grid;gap:10px}.admin-image-preview{display:block;width:100%;max-width:240px;aspect-ratio:16/9;border:1px solid var(--line);border-radius:12px;object-fit:cover}.admin-manager{display:grid;gap:32px;margin-top:40px}.admin-github-import{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.admin-github-import h2{margin-bottom:16px;font-size:20px}.admin-github-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:16px}.admin-github-fields label{display:grid;gap:6px;color:var(--ink-muted);font-size:14px;font-weight:700}.admin-github-fields input{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface);font:inherit}.admin-github-fields button{min-height:44px;cursor:pointer}.admin-form,.admin-list{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.admin-form h2,.admin-list h2{margin-bottom:20px;font-size:20px}.admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-fields label{display:grid;gap:6px;color:var(--ink-muted);font-size:14px;font-weight:700}.admin-fields input,.admin-fields select,.admin-fields textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface);font:inherit}.admin-fields textarea{min-height:92px;resize:vertical}.admin-fields textarea.admin-field-tall{min-height:320px;font-family:ui-monospace,monospace;font-size:13px}.admin-field-wide{grid-column:1/-1}.admin-fields .admin-check{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--ink)}.admin-check input{width:20px;min-height:20px}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.admin-actions .action-link{margin-top:0;cursor:pointer}.admin-list ul{display:grid;gap:12px;padding:0;list-style:none}.admin-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px}.admin-list span,.admin-list strong{display:block}.admin-list span{color:var(--ink-muted);font-size:14px}.my-submissions-panel{margin-bottom:32px}@media (max-width:639px){.hero-section{padding:68px 0 72px}.apps-section,.content-section,.guide-section{padding:64px 0}.admin-fields,.admin-github-fields,.app-grid,.guide-layout,.prose-grid{grid-template-columns:1fr}.guide-details{grid-column:auto}.app-card-body{min-height:0}.guide-layout>.app-artwork{grid-row:2}.nav-list{gap:14px}.admin-list li,.footer-content{flex-direction:column;align-items:flex-start}.hero-content h1{font-size:2.125rem}.hero-copy,.lead,.section-heading>p{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}