:root{--green:#21785a;--dark:#202d29;--muted:#818a85;--line:#e7ebe7}*{box-sizing:border-box}body{margin:0;background:#fafbf9;color:var(--dark);font:16px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',Arial,sans-serif;letter-spacing:-.25px}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8cbaa4;outline-offset:3px}.wrap{max-width:1240px;margin:auto;padding:0 26px}header{background:#fff;border-bottom:1px solid var(--line)}.top{height:88px;display:flex;align-items:center;gap:24px}.brand{display:flex;gap:9px;align-items:center;font-size:25px;font-weight:850;letter-spacing:-1.4px;white-space:nowrap}.symbol{background:var(--green);color:white;font-size:29px;font-weight:850;width:36px;height:36px;line-height:31px;text-align:center;border-radius:12px;position:relative;letter-spacing:-4px;padding-right:4px}.symbol span{position:absolute;font-size:19px;top:-10px;right:5px}.beta{font:12px Arial;letter-spacing:1px;color:var(--green);align-self:flex-start;margin-top:7px}.search{margin-left:auto;display:flex;align-items:center;width:380px;gap:10px;background:#f5f7f4;border:1px solid #e9ece7;border-radius:8px;padding:8px 13px}.search>span{font-size:27px;line-height:1}.search input{background:none;border:0;outline:0;width:100%;font-size:14px}.search kbd{font-size:14px;white-space:nowrap;color:#9aa39d}.plain{font-size:14px;padding:10px 0}.green{background:var(--green);color:#fff;padding:11px 19px;border-radius:7px;font-weight:650;font-size:14px}.top .green{white-space:nowrap}nav{display:flex;gap:33px;height:56px;overflow:auto;scrollbar-width:none}nav button{white-space:nowrap;font-weight:600;font-size:14px;padding:0 2px;position:relative}nav button.active{color:var(--green)}nav button.active:after{content:'';position:absolute;height:3px;background:var(--green);left:0;right:0;bottom:0}nav i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#ed9a58;vertical-align:top;margin-top:16px}.welcome{margin-top:28px;display:flex;justify-content:space-between;align-items:center;background:#edf3eb;border:1px solid #e3ebdf;border-radius:13px;min-height:260px;padding:32px 38px;overflow:hidden}.eyebrow{font-size:14px;color:#5a7966;font-weight:650}h1{font-size:31px;letter-spacing:-1.5px;margin:9px 0 9px;line-height:1.4}h1 span{color:var(--green)}.welcome p{color:#788377;font-size:14px;margin:0 0 22px}.outline{border:1px solid #cdd9ca;border-radius:7px;background:#f6f9f4;font-size:14px;padding:10px 16px;margin-left:8px}.hero-art{width:340px;height:200px;position:relative;flex-shrink:0}.orbit{position:absolute;inset:0 30px;border:1px dashed #c7d6c3;border-radius:50%;transform:rotate(-20deg)}.note{position:absolute;background:#fff;border:1px solid #dce5d8;border-radius:10px;box-shadow:0 8px 18px #20391b09;padding:17px;width:170px}.note-one{left:8px;top:10px;transform:rotate(-8deg)}.note-one>span{font-size:10px;color:#7c896e}.note b{display:block;font-size:15px;margin:8px 0}.lines{height:16px;background:linear-gradient(#e9eee5 0 3px,transparent 3px 11px,#e9eee5 11px 14px);width:90px}.note-two{right:10px;top:60px;transform:rotate(9deg)}.code{background:#e7f1e9;color:var(--green);font:bold 20px monospace;padding:6px;border-radius:7px}.note small{font-size:9px;color:#829082}.note small i{display:inline-block;border-radius:50%;background:#8bbf7d;width:5px;height:5px;margin-right:4px}.bubble{position:absolute;bottom:0;left:35px;border-radius:20px;background:#fff;padding:7px 17px;font-size:14px;box-shadow:0 4px 10px #263c1f08}.spark{position:absolute;right:1px;top:0;font-size:47px;color:#88a96f}.notice{display:flex;align-items:center;gap:12px;font-size:14px;margin:17px 0 33px;color:#737d76}.notice-label{border:1px solid #dfe5dc;padding:1px 8px;border-radius:4px;color:#586a5d;background:#fff;font-size:14px}.sample{margin-left:auto;color:#939b94;font-size:14px;white-space:nowrap}.layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:29px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.kicker{font:12px Arial;letter-spacing:1.9px;color:#8e9a90;font-weight:bold}h2{font-size:20px;line-height:1.4;margin:3px 0 0;letter-spacing:-.8px}.dot{font-size:7px;color:#6ca381;vertical-align:middle;margin-left:4px}.more{font-size:14px;color:#7a857d;padding:0}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.project{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer;transition:transform .2s}.project:hover{transform:translateY(-4px)}.cover{height:140px;position:relative;padding:20px;overflow:hidden}.cover1{background:#e7eaf9}.cover2{background:#e9f1e8}.cover3{background:#f4ece2}.mini-window{background:#fff;border-radius:5px;box-shadow:0 6px 12px #1c342019;width:95%;height:118px;transform:rotate(-5deg);padding:10px;font-size:8px}.mini-window strong{font-size:12px;color:#5363a8}.window-bar{font-size:7px;color:#bbc1c9;letter-spacing:2px;margin-bottom:8px}.mini-grid{display:flex;gap:5px;margin-top:10px}.mini-grid i{display:block;height:48px;flex:1;background:#e6eaf5;border-radius:3px}.mini-grid i:nth-child(2){background:#f3dfb2}.mini-grid i:nth-child(3){background:#d0e6da}.cover2 .mini-window{width:72%;transform:rotate(6deg);margin:auto}.cover2 .mini-window strong{color:#397e65}.mini-chart{height:45px;display:flex;align-items:end;gap:6px;margin-top:12px}.mini-chart i{background:#a5c6a2;width:15%;height:65%;border-radius:3px}.mini-chart i:nth-child(2){height:90%}.mini-chart i:nth-child(3){height:45%}.mini-chart i:nth-child(4){height:100%;background:#49886b}.cover3 .mini-window{transform:rotate(-4deg);width:65%;margin:auto}.cover3 strong{color:#b58d50}.mini-words{background:#f5efdf;padding:7px;text-align:center;margin-top:10px;color:#7f7153;font-size:10px}.project-content{padding:14px}.category{font-size:14px;color:#728675}.project h3{font-size:15px;margin:4px 0}.project p{font-size:14px;color:#8a918b;margin:0 0 15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{display:flex;align-items:center;font-size:14px;color:#939a94;gap:5px}.avatar{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;background:#e8eee3;color:#78866c;border-radius:50%;font-size:14px}.meta .stats{margin-left:auto}.main-column section{margin-bottom:32px}.tests{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.test{background:white;border:1px solid var(--line);border-radius:10px;padding:18px;cursor:pointer}.test-top{display:flex;align-items:center;gap:9px}.app-icon{width:37px;height:37px;border-radius:10px;background:#eeeafa;color:#8d78c2;font-size:21px;display:grid;place-items:center}.test:nth-child(2) .app-icon{background:#e6f1f1;color:#6a9c9c}.status{color:#4d8d6e;background:#eff7ef;font-size:14px;padding:2px 6px;border-radius:4px}.remaining{font-size:14px;margin-left:auto;color:#a0a79f}.test h3{font-size:14px;margin:13px 0 4px}.test p{font-size:14px;color:#8a938b;margin:0 0 15px}.test-bottom{display:flex;justify-content:space-between;font-size:14px;color:#889188}.reward{color:#9c8459}.feed-section{border-top:1px solid var(--line);padding-top:24px}.section-head select{background:none;border:0;color:#899188;font-size:14px}.filters{display:flex;gap:6px;padding-bottom:15px;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none}.filters button{white-space:nowrap;font-size:14px;padding:5px 11px;border-radius:6px;color:#8a928b}.filters .active{background:#e8f0e7;color:var(--green);font-weight:600}.post{display:flex;gap:16px;padding:17px 2px;border-bottom:1px solid var(--line);cursor:pointer;align-items:center}.post:hover{background:#f3f6f1}.post-category{font-size:14px;min-width:68px;color:#788c78}.post-info{flex:1;min-width:0}.post h3{font-size:14px;font-weight:550;margin:0 0 5px}.post h3 em{color:#45906d;font-style:normal;font-size:14px;margin-left:7px}.post small{font-size:14px;color:#9aa198}.post .comment{font-size:14px;color:#a1a99f}.load{width:100%;border:1px solid var(--line);border-radius:7px;font-size:14px;color:#7f897e;padding:10px;margin-top:16px;background:#fff}.panel{border:1px solid var(--line);border-radius:11px;background:#fff;padding:22px;margin-bottom:19px}.join{background:#f0f4ed;border-color:#e1e8dc}.mini-symbol{font-size:27px;color:#537d51}.join h3{font-size:20px;line-height:1.5;margin:10px 0}.join p{font-size:14px;color:#87907f;margin-bottom:20px}.join button{width:100%}.google{border:1px solid #e0e6da;border-radius:7px;background:#fff;font-size:14px;padding:10px;margin-top:9px}.google b{font-size:15px;margin-right:9px;color:#4285f4}.side-title{display:flex;align-items:center;justify-content:space-between}.side-title h3,.tags h3{font-size:14px;margin:0}.side-title>span{color:#a7b0a5}.popular ol{list-style:none;counter-reset:popular;padding:0;margin:15px 0 0}.popular li{counter-increment:popular;display:flex;gap:12px;padding:10px 0;cursor:pointer}.popular li:before{content:counter(popular);font-style:italic;font-size:15px;color:#6e8d70}.popular li>div{font-size:14px;line-height:1.6}.popular small{display:block;font-size:14px;color:#a0a79c;margin-top:3px}.request{position:relative;background:#faf6ee;border-color:#ebe6d9;overflow:hidden}.request-label{font-size:14px;color:#a2977b}.request h3{font-size:16px;line-height:1.6;margin:13px 0}.request p{font-size:14px;color:#a29884}.request .more{color:#8c7d5f;font-size:14px;margin-top:5px}.request-art{font-size:65px;color:#e2d6bb;position:absolute;right:10px;bottom:17px;line-height:1;pointer-events:none}.request-art span{font-size:27px}.tags{padding:8px 3px}.tags h3{margin-bottom:14px}.tags button{font-size:14px;background:#eff2ec;border-radius:6px;padding:5px 9px;margin:0 4px 6px 0;color:#8a9383}.side-note{text-align:center;font-size:14px;color:#a6aea0;margin:28px 0}footer{border-top:1px solid var(--line);background:#f5f7f2;margin-top:10px;padding:32px 0}.footer-inner{display:flex;justify-content:space-between}.footer-inner .brand{font-size:19px}.footer-inner .symbol{width:27px;height:27px;font-size:23px;line-height:25px;border-radius:8px}.footer-inner p{font-size:14px;color:#939d8d;margin:10px 0 5px}.footer-inner small{font-size:14px;color:#a4ac9e}.footer-inner button{font-size:14px;color:#8c9686;margin-left:10px}.mobile-bottom{display:none}dialog{border:1px solid var(--line);border-radius:17px;padding:36px;width:min(480px,calc(100% - 32px));color:var(--dark);box-shadow:0 20px 100px #20352a33}dialog::backdrop{background:#1e302a66;backdrop-filter:blur(4px)}.close{position:absolute;top:10px;right:14px;font-size:25px;color:#879387}dialog h2{font-size:24px;margin:12px 0}dialog p{font-size:14px;color:#818c80}dialog .google{width:100%;font-size:14px;padding:13px}.modal-label{color:var(--green);font-size:14px}.auth-note{font-size:14px!important;background:#f3f6f0;padding:12px;border-radius:7px}.empty{text-align:center;padding:35px;color:#8a9587}.detail-actions{display:flex;gap:10px;margin-top:24px}.detail-actions button{padding:8px 15px;border:1px solid var(--line);border-radius:7px;font-size:14px}
@media(min-width:1450px){.wrap{max-width:1320px}.cover{height:155px}}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.hero-art{width:270px}.welcome{padding:27px}h1{font-size:27px}.search{width:290px}.top{gap:18px}nav{gap:25px}.project-content{padding:11px}.cover{height:120px;padding:15px}.projects{gap:10px}.panel{padding:18px}.sample{display:none}}@media(max-width:760px){.wrap{padding:0 18px}.top{height:70px;gap:10px}.brand{font-size:22px}.beta{display:none}.top .search{margin-left:auto;width:34px;background:none;border:0;padding:0}.search input,.search kbd,.top .plain{display:none}.top .green{font-size:14px;padding:8px 10px}nav{gap:24px;height:49px}nav button{font-size:14px}.welcome{padding:25px 22px;min-height:240px;margin-top:18px;position:relative}h1{font-size:25px;max-width:240px}.welcome p{font-size:14px;max-width:230px}.eyebrow{font-size:14px}.hero-art{display:none}.welcome .green,.outline{font-size:14px;padding:10px 13px}.notice{font-size:14px;margin:14px 0 25px;align-items:start;gap:8px}.notice-label{white-space:nowrap}.layout{display:block}aside{display:none}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project:last-child{display:none}.cover{height:130px}.section-head{margin-bottom:14px}h2{font-size:18px}.tests{grid-template-columns:1fr;gap:10px}.test{padding:15px}.test h3{margin-top:10px}.test p{margin-bottom:12px}.post{gap:8px}.post-category{min-width:58px;font-size:14px}.post h3{font-size:14px}.comment{display:none}.footer-inner{display:block}.footer-inner>div:last-child{margin:16px -8px 0}footer{margin-bottom:61px}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#ffffffef;backdrop-filter:blur(10px);border-top:1px solid var(--line);height:62px;z-index:10;justify-content:space-around}.mobile-bottom button{font-size:22px;color:#758771;min-width:60px}.mobile-bottom span{display:block;font-size:14px;line-height:1.2}.search.open{position:absolute;top:72px;left:18px;right:18px;width:auto;background:#fff;border:1px solid #ddd;padding:10px;z-index:20}.search.open input{display:block}.search.open kbd{display:none}}
/* Keep community content readable at everyday desktop sizes. */
.project p,.test p{font-size:14px}.post h3{font-size:15px}.post small{font-size:14px}.popular li>div{font-size:14px}.post-category{font-size:14px}
@media(max-width:760px){.post h3{font-size:14px}.post-category{font-size:14px}}
nav a{display:flex;align-items:center;white-space:nowrap;font-weight:600;font-size:14px;padding:0 2px;position:relative}nav a.active{color:var(--green)}nav a.active:after{content:'';position:absolute;height:3px;background:var(--green);left:0;right:0;bottom:0}.breadcrumb{font-size:14px;color:#8a958b;padding-top:28px}.breadcrumb span{padding:0 10px;color:#c1c9c0}.board-heading{display:flex;align-items:center;justify-content:space-between;padding:27px 0 35px;border-bottom:1px solid var(--line);margin-bottom:28px}.board-heading h1{font-size:34px;margin:5px 0 10px}.board-heading p{font-size:14px;color:#869181;margin:0}.board-dot{font-size:10px!important;vertical-align:middle;margin-left:12px}.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;min-height:650px;margin-bottom:50px}.board-tabs{display:flex;gap:8px;flex-wrap:wrap}.board-tabs button{padding:8px 13px;font-size:14px;color:#85907f;border-radius:6px}.board-tabs .active{background:#e6efe3;color:var(--green);font-weight:700}.board-tools{display:flex;gap:10px;justify-content:space-between;margin-top:23px}.board-tools label{display:flex;gap:8px;border:1px solid #e1e7dd;background:white;padding:8px 12px;border-radius:7px;min-width:260px}.board-tools input{border:0;background:none;width:100%;font-size:14px;outline:0}.board-tools select{border:1px solid #e1e7dd;background:white;border-radius:7px;padding:5px 10px;font-size:14px;color:#7d8977}.result-summary{display:flex;justify-content:space-between;margin:23px 0 14px;font-size:14px;color:#7a8773}.result-summary span:last-child{font-size:14px;color:#a2ab9d}.board-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.board-card .cover{height:170px}.board-card .project-content{padding:18px}.board-card .project-content p{white-space:normal;height:40px;margin-bottom:18px;line-height:1.7}.board-card h3{font-size:17px}.cover-tag{position:absolute;bottom:10px;right:10px;font-size:14px;background:#ffffffd9;padding:2px 8px;border-radius:4px}.board-guide h3{font-size:17px;margin:12px 0}.board-guide p{font-size:14px;line-height:1.9;color:#829079;margin-bottom:22px}.board-guide{background:#f0f4ec}.board-guide button{width:100%}.aside-heading{font-size:14px;margin:0 0 13px}.board-links a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef1eb;font-size:14px;color:#7e8c74}.board-links a:last-child{border:0}.board-note{text-align:center;font-size:14px;color:#9ca992;padding:16px}.board-note p{font-size:14px;line-height:1.8}.board-end{font-size:14px;color:#a0ab97;text-align:center;margin:40px 0 20px}.board-list{border-top:1px solid #e0e7db}.board-row{display:flex;gap:22px;align-items:center;padding:25px 14px;border-bottom:1px solid var(--line);cursor:pointer;background:#fff}.board-row:hover{background:#f4f7ef}.board-row-body{flex:1;min-width:0}.row-tag{color:#6c8e61;background:#eef4e9;border-radius:4px;font-size:14px;padding:3px 7px}.board-row h3{font-size:16px;font-weight:650;margin:9px 0 6px}.board-row p{font-size:14px;color:#91998b;margin:0 0 12px;line-height:1.7}.row-meta{display:flex;align-items:center;gap:7px;color:#98a08e;font-size:14px;flex-wrap:wrap}.row-count{white-space:nowrap;font-size:14px;color:#95a089}.vote-box,.answer-box{border:1px solid #e1e8db;border-radius:8px;min-width:55px;text-align:center;color:#78946a;padding:8px 4px;display:flex;flex-direction:column;background:#f7faf4}.vote-box b,.answer-box b{font-size:19px}.vote-box small,.answer-box small{font-size:14px}.answer-box.solved{background:#e5efe0;border-color:#d5e4ce;color:#568144}.news-thumb{min-width:80px;height:80px;display:grid;place-items:center;background:#e6eddc;border-radius:9px;font-size:30px;color:#849d6d}.news-1{background:#e8e8f3;color:#9091b8}.news-2{background:#f1e9dd;color:#b09c79}.board-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.board-test{padding:23px}.board-test h3{font-size:16px;margin-top:18px}.board-test p{line-height:1.8;min-height:40px}.test-specs{display:grid;grid-template-columns:75px 1fr;font-size:14px;gap:8px;padding:16px 0;border-top:1px solid #edf1e7}.test-specs span{color:#a0aa94}.test-specs b{font-weight:500;color:#758569}.progress-track{height:4px;border-radius:3px;background:#edf2e7;margin:5px 0 17px;overflow:hidden}.progress-track span{display:block;background:#a0bd8e;height:100%}.status.inactive{color:#9ba291;background:#f0f2ed}
@media(max-width:1000px){.board-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.board-row{gap:14px;padding:20px 10px}.board-test{padding:16px}}
@media(max-width:760px){nav a{font-size:14px}.breadcrumb{padding-top:20px;font-size:14px}.board-heading{padding:20px 0 23px;margin-bottom:22px;display:block}.board-heading h1{font-size:28px}.board-heading p{font-size:14px;line-height:1.8}.board-heading>.green{margin-top:20px}.board-layout{display:block;margin-bottom:30px;min-height:60vh}.board-tabs{flex-wrap:nowrap;overflow:auto;scrollbar-width:none;gap:4px}.board-tabs button{white-space:nowrap;font-size:14px;padding:8px 11px}.board-tools label{min-width:0;flex:1}.board-tools select{max-width:95px}.board-project-grid{gap:12px}.board-card:last-child{display:block}.board-card .cover{height:130px}.board-card .project-content{padding:12px}.board-card h3{font-size:15px}.board-card .meta{flex-wrap:wrap}.board-card .project-content p{font-size:14px;height:55px}.board-row{padding:20px 5px;gap:12px}.board-row h3{font-size:14px}.board-row p{font-size:14px}.row-count{display:none}.vote-box,.answer-box{min-width:43px}.news-thumb{min-width:52px;height:64px;font-size:24px}.board-test-grid{grid-template-columns:1fr}.board-test p{min-height:0}.board-end{font-size:14px}}
.live-form{display:grid;gap:15px;margin-top:20px}.live-form label{display:grid;gap:7px;font-size:14px;font-weight:600}.live-form input,.live-form select,.live-form textarea,.live-search{width:100%;padding:10px;border:1px solid #dce5d6;border-radius:6px;background:#fff;color:#33482d;font:inherit}.live-form textarea{resize:vertical;min-height:80px}.live-form #post-extra{display:grid;gap:15px}.form-error{font-size:14px!important;color:#b34d3c!important;margin:0}.live-empty{grid-column:1/-1;background:#fff;border:1px dashed #dbe5d3;border-radius:10px;padding:35px 18px}.live-empty>span{font-size:25px;color:#7b9e65}.live-empty h3{font-size:16px;margin:10px 0}.live-empty p{font-size:14px}.live-search{max-width:330px;font-size:14px}.post-cover{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.detail-image{width:100%;max-height:320px;object-fit:contain;border-radius:7px}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.9;margin:22px 0}.external-link{color:#21785a;text-decoration:underline}.detail-actions{flex-wrap:wrap;margin-bottom:20px}.comments-title{border-top:1px solid #e4e9df;margin-top:25px;padding-top:20px}.live-comment{background:#f5f8f1;padding:15px;border-radius:7px;margin:10px 0}.live-comment b{font-size:14px}.live-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:14px}.live-comment button{font-size:14px;color:#8d997f}.live-filter-link{font-size:14px;white-space:nowrap;padding:5px 9px;color:#7f9072}#live-toast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);max-width:90%;background:#244d33;color:white;padding:12px 22px;border-radius:9px;z-index:1000;font-size:14px}dialog{max-height:88vh;overflow:auto}button:disabled{opacity:.55;cursor:wait}

/* Member profile */
.member-avatar{display:inline-flex;flex:0 0 auto;width:26px;height:26px;vertical-align:middle;margin-right:7px;border-radius:50%;overflow:hidden;background:#e6eee8;color:#2f7559;align-items:center;justify-content:center;font-size:14px;font-weight:700}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-avatar.large{width:80px;height:80px;font-size:28px;margin:0}.profile-photo-editor,.profile-summary{display:flex;align-items:center;gap:20px;margin:16px 0 24px}.profile-photo-editor>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.avatar-file-label{position:relative;cursor:pointer;padding:9px 16px!important;overflow:hidden}.avatar-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.profile-photo-editor small,.field-note,.profile-summary small{font-size:14px;color:#7a857e}.field-note{font-weight:400;margin-left:6px}.live-form .readonly-field{background:#f3f5f3;color:#657169;cursor:default}.profile-summary p{margin:5px 0;overflow-wrap:anywhere}.profile-summary>div{min-width:0}.comment-author{display:flex;align-items:center}.profile-photo-editor .plain{font-size:14px;padding:0}@media(max-width:480px){.profile-photo-editor{gap:14px}.field-note{display:block;margin:3px 0}.profile-summary{gap:14px}.profile-summary p{font-size:14px}}
/* Full-page publishing and reading */
.document-main{max-width:1100px;min-height:70vh;padding-top:26px;padding-bottom:60px}.document-sheet{background:white;border:1px solid #e2e8de;border-radius:16px;padding:42px 56px;margin:20px auto;max-width:960px}.document-heading h1,.post-title{font-size:32px;line-height:1.45;letter-spacing:-1px;overflow-wrap:anywhere;margin:10px 0 14px}.document-heading p{color:#7b8778;font-size:14px}.document-sheet .live-form{gap:24px;margin-top:30px}.document-sheet .live-form label,.editor-field>span{font-size:14px;font-weight:600}.document-sheet .live-form input,.document-sheet .live-form select{padding:13px;font-size:15px}.document-sheet input[name="title"]{font-size:20px;padding:16px}.document-sheet #post-extra{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-field{min-width:0}.editor-field>span{display:block;margin-bottom:10px}.editor-field .ql-toolbar.ql-snow{border-color:#dce5d6;border-radius:9px 9px 0 0;background:#f7f9f5;padding:12px;position:sticky;top:0;z-index:2}.editor-field .ql-container.ql-snow{border-color:#dce5d6;border-radius:0 0 9px 9px;font-family:inherit;font-size:16px}.editor-field .ql-editor{min-height:380px;padding:24px;line-height:1.85}.editor-field .ql-editor img{max-width:100%;height:auto}.editor-caption{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:#84907e;font-size:14px}.compose-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e6ebe2;padding-top:24px}.compose-actions a,.compose-actions button{padding:12px 28px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.back-to-list{display:block;color:#6c7a65;font-size:14px;margin-bottom:28px}.document-sheet .modal-label{display:block}.document-sheet .row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:14px;padding-bottom:24px;border-bottom:1px solid #e7ece3}.document-sheet .detail-image{max-height:500px;margin-top:20px}.document-sheet .rich-content{white-space:normal;padding:0;margin:32px 0;min-height:160px;line-height:1.9;font-size:17px;overflow-wrap:anywhere;overflow:visible}.rich-content p{margin:0 0 14px}.rich-content img{display:block;max-width:100%;height:auto;border-radius:8px;margin:20px 0}.rich-content h2{font-size:26px;margin:28px 0 12px}.rich-content h3{font-size:21px;margin:22px 0 10px}.rich-content blockquote{border-left:4px solid #78a48a;padding:12px 20px;background:#f4f7f1;margin:20px 0}.rich-content a{color:#28775a;text-decoration:underline}.rich-content ul,.rich-content ol{padding-left:1.5em}.document-sheet .live-comment{padding:20px}.document-sheet .live-comment b{font-size:14px}.document-sheet .live-comment p{font-size:15px}.document-sheet #comment-form button{justify-self:end;padding:11px 24px}.document-sheet .ql-snow .ql-tooltip{z-index:4;white-space:normal;max-width:calc(100vw - 60px)}
@media(max-width:680px){.document-main{padding-top:12px}.document-sheet{padding:25px 18px;border-radius:10px;margin:15px 0}.document-heading h1,.post-title{font-size:25px}.document-sheet #post-extra{grid-template-columns:1fr}.document-sheet input[name="title"]{font-size:17px}.editor-field .ql-editor{padding:16px;min-height:340px}.editor-field .ql-toolbar.ql-snow{padding:8px;position:static}.editor-field .ql-toolbar .ql-formats{margin-right:8px}.editor-caption{font-size:14px}.document-sheet .rich-content{font-size:16px}.compose-actions a,.compose-actions button{flex:1;padding:12px}.document-sheet .row-meta{font-size:14px}}
/* Keep the rich editor inside its own bounded box so following fields never overlap. */
.document-sheet .editor-field .ql-container{height:420px;min-height:0;overflow:hidden;box-sizing:border-box}.document-sheet .editor-field .ql-editor{height:100%;min-height:0;max-height:100%;overflow-y:auto;box-sizing:border-box}.document-sheet .editor-field{display:block;width:100%;box-sizing:border-box}.document-sheet .live-form>label{display:grid;grid-template-columns:minmax(0,1fr);align-content:start}.document-sheet .editor-caption{position:static;min-height:18px}.document-sheet .editor-field+.live-form label{margin-top:0}
@media(max-width:680px){.document-sheet .editor-field .ql-container{height:360px}}
/* Make board search fields visibly identifiable. */
.board-tools #live-search.live-search{display:block;border:1px solid #bacbbf!important;background:#fff!important;border-radius:9px!important;padding:13px 16px 13px 42px!important;min-height:46px;width:100%;max-width:420px;box-shadow:0 1px 3px #244d3310;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236a8273' stroke-width='2'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:14px center!important;font-size:14px;color:#284c3b}.board-tools #live-search:focus{outline:2px solid #328163;outline-offset:2px}.board-tools #live-search::placeholder{color:#7a8b80;opacity:1}

.attachment-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.attachment-preview{position:relative;border:1px solid #dce5d6;border-radius:9px;overflow:hidden;background:#f5f8f2}.attachment-preview img{width:100%;height:120px;object-fit:cover;display:block}.attachment-preview span{display:block;font-size:14px;padding:7px 10px;color:#477157}.attachment-preview button{position:absolute;right:5px;top:5px;background:#fff;border-radius:50%;width:26px;height:26px;font-size:20px;box-shadow:0 1px 4px #0003}.attachment-previews:empty{display:none}

/* Readable community typography across desktop and mobile. */
.project p,.test p,.board-row p,.board-guide p,.welcome p,.join p,.request p{font-size:15px;line-height:1.75;color:#647167}.meta,.row-meta,.test-bottom,.category,.popular small,.result-summary,.notice,.footer-inner p,.footer-inner small,.footer-inner button,.field-note,.profile-photo-editor small,.profile-summary small,.editor-caption,.board-links a,.side-note{font-size:14px;color:#667568}.board-card .project-content p{height:auto;min-height:52px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.project h3,.test h3,.board-row h3{font-size:18px;line-height:1.55}.test-specs{font-size:14px;grid-template-columns:85px minmax(0,1fr)}.test-specs span{color:#6e7a65}.test-specs b{overflow-wrap:anywhere}.green,.outline,.plain,nav a,nav button,.board-tabs button,.board-tools select{font-size:15px}.live-form label{font-size:15px}.live-form input,.live-form textarea,.live-form select,.document-sheet .live-form input,.document-sheet .live-form select{font-size:16px}.auth-note,.form-error{font-size:14px!important;line-height:1.7}.search input{font-size:15px}.board-tools #live-search.live-search{font-size:16px}.live-comment p{font-size:16px}.live-comment b,.live-comment button{font-size:14px}.mobile-bottom{height:70px}.mobile-bottom span{font-size:12px;line-height:1.5}.footer-inner>div:last-child{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.footer-inner button{margin:0;padding:6px}.result-summary{gap:12px;flex-wrap:wrap}.board-row-body,.project-content{overflow-wrap:anywhere}.editor-caption{flex-wrap:wrap}.live-filter-link{font-size:14px}
@media(max-width:760px){body{font-size:16px}.top .green{font-size:14px}.welcome .green,.welcome .outline{font-size:14px}.welcome p{font-size:15px}.notice{font-size:14px}.board-card h3,.board-row h3{font-size:17px}.board-card .project-content p{font-size:14px;height:auto;min-height:50px}.board-row p{font-size:15px}.board-heading p{font-size:15px}.board-tabs button,nav a{font-size:15px}.document-sheet .row-meta{font-size:14px}.profile-summary p{font-size:14px}footer{margin-bottom:70px}.test-specs{font-size:14px}.document-sheet .rich-content{font-size:17px}.board-tools{align-items:center}.board-tools select{font-size:14px;flex-shrink:0}.project-content{padding:14px}.notice-label{font-size:13px}}

.document-sheet .attachment-original{display:block;margin:24px 0;color:#65796b}.document-sheet .attachment-original .detail-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0;border-radius:8px;cursor:zoom-in}.attachment-original>span{display:block;text-align:right;font-size:14px;margin-top:7px}

/* Use the same outer width as board lists. */
.wrap.document-main{max-width:1240px;padding-top:28px}.document-main .document-sheet{max-width:none;width:100%;margin:0 0 24px;padding:32px}.document-main .document-sheet .rich-content img{width:100%;height:auto}@media(min-width:1450px){.wrap.document-main{max-width:1320px}}@media(max-width:760px){.wrap.document-main{padding-top:18px}.document-main .document-sheet{padding:22px 18px}}

.meta{flex-wrap:wrap}.meta .stats{font-size:13px}.test-views{font-size:14px;color:#667568;margin:10px 0}

/* Comfortable attachment previews with click-to-close enlargement. */
.document-sheet .attachment-original{width:fit-content;max-width:100%;margin:24px auto}.document-sheet .attachment-original .detail-image,.document-main .document-sheet .rich-content img{width:auto;max-width:min(100%,640px);height:auto;max-height:360px;object-fit:contain;display:block;margin-left:auto;margin-right:auto;cursor:zoom-in}.attachment-original>span{text-align:center;font-size:13px}.image-viewer-open{overflow:hidden}#image-viewer{border:0;border-radius:0;padding:38px 20px 18px;background:transparent;box-shadow:none;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:auto;cursor:zoom-out}#image-viewer[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}#image-viewer::backdrop{background:rgba(12,20,16,.9);backdrop-filter:blur(3px)}#image-viewer img{display:block;width:auto;height:auto;max-width:96vw;max-height:calc(100dvh - 110px);object-fit:contain;flex-shrink:1;min-height:0}#image-viewer p{color:#fff;font-size:14px;margin:0;text-align:center;flex-shrink:0}#image-viewer .image-viewer-close{position:fixed;top:12px;right:16px;width:42px;height:42px;border-radius:50%;background:#fff2;color:white;font-size:30px;line-height:1;cursor:pointer}@media(max-width:760px){.document-sheet .attachment-original .detail-image,.document-main .document-sheet .rich-content img{max-height:280px}#image-viewer{padding-left:10px;padding-right:10px}#image-viewer p{font-size:12px}}

/* Arrange uploaded attachments horizontally and wrap on smaller screens. */
.post-attachment-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:26px 0}.post-attachment-gallery:empty{display:none}.document-sheet .post-attachment-gallery .attachment-original{width:100%;min-width:0;margin:0;padding:10px;border:1px solid #e2e8de;border-radius:10px;background:#f8faf6}.document-sheet .post-attachment-gallery .detail-image{width:100%;max-width:100%;height:210px;max-height:210px;object-fit:contain;margin:0}.post-attachment-gallery .attachment-original>span{margin-top:8px;font-size:13px}@media(max-width:760px){.post-attachment-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-sheet .post-attachment-gallery .attachment-original{padding:7px}.document-sheet .post-attachment-gallery .detail-image{height:150px;max-height:150px}.post-attachment-gallery .attachment-original>span{font-size:12px}}
/* Larger reading-size attachment previews, two across on desktop. */
.post-attachment-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.post-attachment-gallery:has(>.attachment-original:only-child){grid-template-columns:minmax(0,1fr);max-width:820px;margin-left:auto;margin-right:auto}.document-sheet .post-attachment-gallery .detail-image{height:360px;max-height:360px;width:100%;object-fit:contain}.document-sheet .post-attachment-gallery .attachment-original:only-child .detail-image{height:auto;max-height:540px;min-height:0}@media(max-width:760px){.post-attachment-gallery{grid-template-columns:minmax(0,1fr);gap:18px}.document-sheet .post-attachment-gallery .detail-image{height:auto;max-height:440px}.document-sheet .post-attachment-gallery .attachment-original:only-child .detail-image{max-height:440px}}
/* Hide the editor hint as soon as the writing area receives focus. */
.editor-field .ql-editor.ql-blank:focus::before,.editor-field .ql-editor.ql-blank:focus-within::before{display:none}

.post-service-action{display:flex;align-items:center;gap:14px;padding:18px 20px;margin:22px 0 28px;border:1px solid #d8e5d9;border-radius:10px;background:#f0f6ee}.service-visit{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 24px;font-size:17px;font-weight:700;box-shadow:0 3px 8px #21785a20}.service-visit span{font-size:22px;line-height:1}.service-action-note{font-size:14px;color:#63765f}@media(max-width:760px){.post-service-action{padding:14px;flex-wrap:wrap;gap:9px}.service-visit{width:100%;font-size:17px}.service-action-note{width:100%;text-align:center}}

.post-url{margin:16px 0 24px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.post-url a{color:#21785a;text-decoration:underline;text-underline-offset:3px}.post-url a:hover{color:#164f3c}

.footer-link{font-size:14px;color:#8c9686;margin-left:10px}
.page-loading{padding:60px 0;text-align:center;color:#7a857e}
.consent{border:1px solid #e2e8de;border-radius:8px;padding:12px 14px;display:grid;gap:8px}
.consent legend{font-size:14px;font-weight:600;padding:0 4px}
.live-form .consent label{display:flex;align-items:center;gap:8px;font-weight:400}
.live-form .consent input{width:auto;flex:none}
.danger-link{display:block;margin-top:24px;font-size:14px;color:#b34d3c}
.legal h1{font-size:30px;margin-bottom:6px}
.legal h2{font-size:18px;margin:28px 0 8px}
.legal p,.legal li,.legal td,.legal th{font-size:15px;line-height:1.75}
.legal ol,.legal ul{padding-left:22px}
.legal ol{list-style:decimal}
.legal ul{list-style:disc}
.legal a{text-decoration:underline}
.legal table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.legal th,.legal td{border:1px solid #e2e8de;padding:8px 10px;text-align:left;vertical-align:top}
.legal mark{background:#ffe9a8;padding:0 3px}
.legal-meta{color:#7a857e}
@media(max-width:700px){.legal.document-sheet{padding:26px 18px}}
