.gg-app,.gg-modal,.gg-public{font-family:Montserrat,Arial,sans-serif;color:#343034;--gg-ink:#343034;--gg-rose:#9d4e69;--gg-line:#e9e2e4;--gg-soft:#fbf6f5;--gg-shadow:0 12px 40px #50313d0a}.gg-app *,.gg-modal *,.gg-public *{box-sizing:border-box}.gg-app{max-width:1320px;margin:auto}.gg-shell{padding:12px 0 64px}.gg-feedback{font-size:13px;min-height:20px;color:#62756b}.gg-feedback.error{color:#a62b43}.gg-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0 36px}.gg-heading h1{font-size:clamp(27px,3vw,39px);font-weight:600;letter-spacing:-1.2px;line-height:1.2;margin:12px 0 14px;max-width:700px}.gg-heading p{font-size:14px;line-height:1.8;max-width:660px;color:#80737a}.gg-eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#a46076;text-transform:uppercase}.gg-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.gg-btn,.gg-modal button,.gg-public button{font:500 12px Montserrat,Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 20px;border:1px solid var(--gg-line);border-radius:12px;background:#fff;color:var(--gg-ink);cursor:pointer;transition:background .2s,transform .2s,border-color .2s;text-decoration:none;white-space:normal}.gg-btn svg,.gg-empty>svg{width:18px;height:18px;flex:none}.gg-app .gg-btn:hover,.gg-modal button:hover{color:#343034;background:#f9eff1;border-color:#d6b4c0;transform:translateY(-1px)}.gg-btn.primary,.gg-modal button.primary{background:#9d4e69;border-color:#9d4e69;color:white}.gg-app .gg-btn.primary:hover,.gg-modal button.primary:hover{background:#843f57;color:#fff}.gg-btn.quiet{border-color:transparent;background:transparent;color:#87566a;padding-left:10px;padding-right:10px}.gg-btn:focus-visible,.gg-modal :focus-visible,.gg-app :focus-visible{outline:2px solid #a65370;outline-offset:3px}.gg-btn:disabled,.gg-modal button:disabled{opacity:.5;cursor:wait}.gg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.gg-stats article{border:1px solid var(--gg-line);border-radius:18px;padding:24px;background:linear-gradient(125deg,#fff,#fdf8f8)}.gg-stats span,.gg-stats small{display:block;font-size:11px;color:#86777f;line-height:1.7}.gg-stats strong{display:block;font-size:28px;font-weight:500;letter-spacing:-1px;margin:14px 0 10px}.gg-note{padding:16px 20px;background:#fbf6f5;border:1px solid #f0e3e7;border-radius:12px;font-size:12px;line-height:1.9;color:#846b75;margin:24px 0}.gg-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:32px 0 20px}.gg-toolbar h2{font-size:20px;font-weight:600}.gg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gg-card{min-width:0;border:1px solid var(--gg-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--gg-shadow);transition:transform .25s,box-shadow .25s}.gg-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #50313d12}.gg-card>img{display:block;width:100%;height:210px;object-fit:cover}.gg-card-body{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.gg-card-body h2,.gg-card-body h3,.gg-card-body h4{font-size:17px;line-height:1.5;font-weight:600;margin:0}.gg-card-body p{font-size:12px;color:#81727b;line-height:1.8;margin:0}.gg-card-body strong{font-size:17px;font-weight:600}.gg-card-body small{font-size:11px;line-height:1.8;color:#897c83}.gg-card-body>.gg-btn{width:100%;margin-top:4px}.gg-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border-top:1px solid #f1eaec;padding-top:18px;margin-top:4px}.gg-card-meta span{font-size:10px;color:#81727b}.gg-badge{font-size:10px;line-height:1.5;border-radius:30px;background:#f7edf0;padding:5px 10px;color:#95546b}.gg-empty{border:1px dashed #dbc7cd;border-radius:20px;padding:64px 24px;text-align:center;background:#fff;grid-column:1/-1}.gg-empty>svg{width:32px;height:32px;color:#a65370}.gg-empty h2{font-size:23px}.gg-empty p{font-size:13px;color:#85767d;line-height:1.8}.gg-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 24px;scrollbar-width:thin}.gg-tabs .gg-btn{flex:none;border-radius:40px}.gg-tabs .active{background:#f6e9ee;border-color:#e1c6d1;color:#8b435e}.gg-summary{font-size:14px;color:#80576a;font-weight:500;padding:16px 0}.gg-check{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.6;cursor:pointer}.gg-check input{width:18px;height:18px;flex:none;accent-color:#9d4e69}.gg-savebar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--gg-line);border-radius:16px;background:#ffffffed;backdrop-filter:blur(10px);padding:16px 22px;box-shadow:0 5px 30px #3d223918;margin-top:28px}.gg-savebar span{font-size:12px;color:#7d6d75}.gg-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:12px;margin:24px 0}.gg-app input,.gg-app select,.gg-modal input,.gg-modal select,.gg-modal textarea{width:100%;min-width:0;border:1px solid #e5dbdf;border-radius:11px;background:#fff;color:#42353c;padding:13px 14px;font:400 13px Montserrat,Arial,sans-serif;min-height:46px;box-shadow:none}.gg-modal input[type=checkbox],.gg-app input[type=checkbox]{width:18px;min-height:18px;padding:0;accent-color:#9d4e69}.gg-modal{border:1px solid #eee1e7;border-radius:24px;width:min(650px,calc(100vw - 32px));padding:28px;max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #30202d30;background:white}.gg-modal::backdrop{background:#2b192c70;backdrop-filter:blur(4px)}.gg-modal>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.gg-modal h2{font-size:23px;font-weight:600;letter-spacing:-.6px;margin:0}.gg-modal form{display:grid;gap:18px}.gg-field{display:grid;gap:9px}.gg-field>span{font-size:12px;font-weight:500;color:#735a65}.gg-modal textarea{min-height:90px;resize:vertical}.gg-picker{display:grid;gap:14px;background:#fcf8f9;border:1px solid #f0e6ea;padding:16px;border-radius:16px}.gg-picker img{height:180px;width:100%;object-fit:cover;border-radius:10px}.gg-picker small{font-size:10px;line-height:1.8;color:#8b7480}.gg-card.muted{opacity:.6}.gg-public-list{margin-top:50px;text-align:left}.gg-public-list>h3{font-size:24px}.gg-public-list>p{font-size:14px;line-height:1.8}.gg-public button:disabled{opacity:.65;cursor:default;width:100%}.gg-public .gg-card>img{height:220px}.gg-public .gg-grid{margin-top:24px}.gg-app .gg-grid img{background:#f7edf0}#gnb-other:has(.gg-app){max-width:1400px}.gg-modal .gg-feedback{margin:0}.gg-modal input[type=file]{font-size:11px}
@media(max-width:1000px){.gg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-heading{align-items:flex-start;flex-direction:column}.gg-stats strong{font-size:23px}.gg-stats article{padding:18px}}
@media(max-width:600px){.gg-shell{padding-bottom:40px}.gg-heading{margin:12px 0 24px}.gg-heading h1{font-size:28px;letter-spacing:-.8px}.gg-heading p{font-size:12px}.gg-heading>.gg-actions{width:100%}.gg-heading>.gg-actions .primary{flex:1}.gg-stats{gap:8px;grid-template-columns:1fr 1fr}.gg-stats article:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px}.gg-stats article:last-child strong{grid-column:2;grid-row:1/3;margin:0}.gg-stats article{padding:16px;border-radius:14px}.gg-stats strong{font-size:23px}.gg-stats small{font-size:9px}.gg-grid{grid-template-columns:1fr;gap:20px}.gg-card>img{height:220px}.gg-card-body{padding:22px}.gg-toolbar{gap:8px;flex-wrap:wrap}.gg-filters{grid-template-columns:1fr 1fr;gap:10px}.gg-filters input:first-child{grid-column:1/-1}.gg-filters select{grid-column:1/-1}.gg-savebar{bottom:8px;padding:12px;gap:10px}.gg-savebar span{font-size:10px}.gg-savebar .gg-btn{padding:12px;font-size:11px}.gg-modal{padding:22px 18px;border-radius:22px;max-height:92dvh;width:calc(100vw - 20px)}.gg-modal h2{font-size:20px}.gg-modal input,.gg-modal select,.gg-modal textarea,.gg-app input,.gg-app select{font-size:16px}.gg-note{padding:14px;font-size:11px}.gg-modal>header button{padding:8px}.gg-card .gg-actions{width:100%}.gg-card .gg-actions .gg-btn{flex:1}.gg-public .gg-grid{grid-template-columns:1fr}.gg-empty{padding:36px 20px}}
@media(prefers-reduced-motion:reduce){.gg-card,.gg-btn,.gg-modal button{transition:none}.gg-card:hover,.gg-btn:hover{transform:none}}
