/* PromptLab — laboratory notebooks and measurement instruments. */
:root{--paper:#f6f5f0;--ink:#232a4d;--signal:#e05d1f;--muted:#606477;--line:#d0d0cc;--green:#1f7a4d;--blue:#2456a6;--amber:#b97612;--red:#c0392b;--sans:'IBM Plex Sans KR','Malgun Gothic',sans-serif;--mono:'IBM Plex Mono','D2Coding','Cascadia Mono',Consolas,monospace;color:var(--ink);background:var(--paper);font:400 15px/1.75 var(--sans);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}::selection{color:var(--paper);background:var(--ink)}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 20px;border:1px solid var(--ink);border-radius:2px;color:var(--paper);background:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;transition:background-color 160ms,color 160ms,border-color 160ms}
button:hover,.button:hover{background:var(--signal);border-color:var(--signal);color:var(--paper);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--signal);border-color:var(--signal)}.button.primary:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.secondary{background:transparent;color:var(--ink)}.small{min-height:36px;padding:6px 12px;font-size:.8rem}.link{min-height:36px;padding:2px 0;border:0;color:var(--ink);background:none}.link:hover{color:var(--signal);background:none}.danger{color:var(--red);border-color:var(--red);background:transparent}.danger:hover{background:var(--red);border-color:var(--red)}:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
input,textarea,select{display:block;width:100%;min-width:0;min-height:48px;padding:12px 14px;color:var(--ink);background:#fffefa;border:1px solid #989aab;border-radius:2px}input::placeholder,textarea::placeholder{color:#747788;opacity:1}textarea{resize:vertical;min-height:120px;font-family:var(--mono);line-height:1.8}label{display:block;margin-bottom:24px;font-weight:600;font-size:.9rem}label small{display:block;margin-top:8px;font-weight:400}label input,label textarea,label select{margin-top:8px}fieldset{min-width:0;border:1px solid var(--ink);border-radius:2px;padding:24px;margin:32px 0}legend{padding:0 10px;font-weight:700}
header{border-top:4px solid var(--ink);border-bottom:1px solid var(--ink)}#nav{display:flex;align-items:center;flex-wrap:wrap;gap:32px;max-width:1320px;min-height:90px;padding:16px 36px;margin:auto}.logo{display:inline-flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:700;line-height:1.3;letter-spacing:-.06em;white-space:nowrap}.logo:hover{text-decoration:none}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--signal);border:1px solid var(--ink)}.logo-mark svg{width:24px;height:24px}.logo-word small{display:block;margin-top:3px;font:9px var(--mono);letter-spacing:.16em}nav,.account{display:flex;align-items:center;flex-wrap:wrap;gap:23px;font-size:.86rem}nav a{padding:8px 0}nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:3px}.account{gap:14px;margin-left:auto;font-size:.78rem}.account .link{font-size:.78rem;color:var(--muted)}.notification{display:inline-flex;align-items:center;gap:5px;min-height:36px;font-family:var(--mono)}.icon{width:1.2em;height:1.2em;vertical-align:-.2em;flex-shrink:0}
main{max-width:1280px;margin:auto;padding:42px 36px 80px}.narrow{max-width:880px}.auth{max-width:1040px;padding-top:65px}.page-heading{padding:0 0 32px;border-bottom:1px solid var(--ink);margin-bottom:32px}.page-heading h1{margin:10px 0 14px}.page-heading p:last-child{max-width:700px;margin-bottom:0}.eyebrow{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;font-weight:500;color:var(--muted);text-transform:uppercase}.kicker{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.kicker::before{content:'';display:block;width:7px;height:7px;background:var(--signal)}
h1,h2,h3,h4{font-family:var(--sans);font-weight:700;word-break:keep-all;overflow-wrap:anywhere}h1{font-size:clamp(1.9rem,3.8vw,3rem);letter-spacing:-.06em;line-height:1.35}h2{font-size:1.45rem;letter-spacing:-.04em;line-height:1.45}h3{font-size:1.06rem;line-height:1.6;letter-spacing:-.025em}h4{margin-bottom:6px;font-size:.78rem;color:var(--muted)}p{overflow-wrap:anywhere}.lead{font-size:1.04rem;line-height:1.9}.muted,small{color:var(--muted)}small{font-size:.76rem}section{margin-bottom:48px}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:475px;background-color:#232a4d;background-image:url('/assets/hero.jpg');background-size:cover;background-position:center;color:var(--paper);padding:40px 48px 26px;border:1px solid var(--ink);margin-bottom:0}.hero .kicker{color:#ceced8}.hero h1{font-size:clamp(4rem,8.5vw,7rem);margin:24px 0 8px;line-height:1.15;letter-spacing:-.075em}.hero-copy{max-width:65%}.hero-tagline{font-size:clamp(1.12rem,2.4vw,1.8rem);font-weight:700;letter-spacing:-.045em;margin:0 0 14px}.hero-description{max-width:460px;font-size:.86rem;line-height:1.9;color:#d3d4de;margin:0 0 26px}.hero .secondary{border-color:#8f93a8;color:var(--paper)}.hero .secondary:hover{background:var(--paper);color:var(--ink)}.hero-register{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #565b78;margin-top:34px;padding-top:15px;font:.59rem var(--mono);letter-spacing:.09em;color:#b7bbcd}
.protocol{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);border-top:0;margin-bottom:56px}.protocol-item{display:flex;align-items:baseline;gap:16px;padding:20px 24px}.protocol-item+.protocol-item{border-left:1px solid var(--ink)}.protocol-number{color:var(--signal);font:.74rem var(--mono)}.protocol-item strong{font-size:.9rem}.protocol-item p{font-size:.74rem;color:var(--muted);margin:3px 0 0}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-title h2,.section-title h3{margin:0}.section-title a{font-size:.78rem}.section-heading{display:flex;align-items:baseline;gap:16px}.section-index{font-family:var(--mono);font-size:.72rem;color:var(--signal)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{display:flex;flex-direction:column;position:relative;min-width:0;padding:22px;background:transparent;border:1px solid var(--line);border-top:2px solid var(--ink);border-radius:2px}.card:hover{border-color:var(--ink)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.specimen{display:block;margin-top:7px;color:var(--muted);font:.6rem var(--mono);letter-spacing:.03em}.card h3{margin:22px 0 10px}.card h3 a::after{content:'';position:absolute;inset:0}.card:focus-within{outline:2px solid var(--signal);outline-offset:3px}.card .muted{flex:1;font-size:.81rem;line-height:1.85;margin:0}.meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:24px;padding-top:13px;border-top:1px solid var(--line);font-size:.66rem;color:var(--muted)}.meta span:last-child{font-variant-numeric:tabular-nums}
.score{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:62px;padding:6px 0 7px 12px;border-left:1px solid var(--line);font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:500;line-height:1;background:transparent}.score-value{font-size:1.8rem;letter-spacing:-.07em}.score small{color:var(--muted);font-size:.57rem;letter-spacing:.04em}.score.unscored .score-value{font-size:.88rem;letter-spacing:-.03em;padding-top:6px}.green{color:var(--green)}.blue{color:var(--blue)}.orange{color:var(--amber)}.red{color:var(--red)}.unscored{color:var(--muted)}.pill{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:2px;padding:3px 8px;font-size:.7rem;font-variant-numeric:tabular-nums}#quota{color:var(--ink);border-color:var(--line)}
.inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0}.inline>span:not(.score){font-size:.83rem}.panel{padding:24px;border:1px solid var(--line);border-radius:2px;background:transparent;margin-bottom:16px;min-width:0}.panel>h2:first-child{margin-top:0}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}.two-col>section{min-width:0}
.notebook{border:1px solid var(--ink);border-radius:2px;margin-bottom:28px}.notebook .section-title{padding:15px 20px;margin:0;border-bottom:1px solid var(--ink)}.notebook .section-title h2{font-size:.92rem}pre,code{font-family:var(--mono);font-variant-numeric:tabular-nums}pre,.prewrap{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}pre{font-size:.85rem;line-height:1.9;padding:18px;background:#eeede7;border:1px solid var(--line);border-radius:2px;max-height:600px;overflow:auto}#prompt-body{margin:0;padding:28px;border:0;max-height:none;background-color:#faf9f4;background-image:url('/assets/grid.svg');border-radius:0;line-height:2.1}.measure-panel{border-color:var(--ink);padding:16px}.measure-panel h2{font-size:1.02rem;margin:8px 0 16px}.measure-panel h3{border-top:1px solid var(--line);padding-top:20px}canvas{display:block;width:100%;height:210px}#distribution-text{display:block;font-family:var(--mono);font-size:.65rem;margin:10px 0 20px}
.vote-options{display:flex;gap:6px}.vote-options button{display:inline-flex;flex-direction:column;gap:2px;min-width:0;flex:1;padding:8px 2px;background:transparent;color:var(--ink);border-color:var(--line);font-family:var(--mono);font-size:.72rem}.vote-options button .icon{width:15px;height:15px}.vote-options button[aria-pressed=true] .icon{fill:currentColor}.vote-options button:hover{border-color:var(--signal);color:var(--signal)}.active,.vote-options button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
#cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#cases .panel{border-top:2px solid var(--ink);padding:22px;margin:0 0 18px}#cases h3{font-family:var(--mono);font-size:.9rem}#cases [aria-live]:not(:empty){margin-top:20px;border-top:1px solid var(--ink);padding-top:10px}.run,.comment{padding:22px 0;border-bottom:1px solid var(--line)}.run:first-child,.comment:first-child{border-top:1px solid var(--ink)}.run .inline>a{margin-left:auto;font-size:.78rem}.run details{font-size:.85rem}.run .score{min-width:80px;align-items:flex-start;border-left:0;padding-left:0}details.panel{border-style:dashed}summary{cursor:pointer;font-size:.9rem;font-weight:600}details[open]>summary{margin-bottom:24px}
.hint{padding:16px 20px;background:transparent;border:1px solid var(--line);border-left:3px solid var(--signal);border-radius:2px;font-size:.85rem}.notice{border:1px solid currentColor;border-left:4px solid currentColor;padding:14px 18px;margin-bottom:28px;border-radius:2px;background:var(--paper)}.error{color:var(--red)}.success{color:var(--green)}.empty{padding:28px;border:1px dashed #a8aab2;text-align:center;font-size:.85rem;color:var(--muted)}.loading{font-family:var(--mono);color:var(--muted);font-size:.8rem;padding:24px 0}.loading::before{content:'';display:inline-block;width:6px;height:6px;background:var(--signal);margin:0 10px 2px 0}
.search-form{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:14px;align-items:end;padding:24px;border:1px solid var(--ink)}.search-form label{margin:0;font-size:.74rem}.search-form button{min-height:49px}.chips,.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.chips button{min-height:38px;background:transparent;color:var(--ink);border-color:var(--line);padding:7px 14px;font-size:.78rem}.chips button.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.chips button:hover{border-color:var(--ink)}#result-count{font-family:var(--mono);font-size:.75rem;border-top:1px solid var(--line);padding-top:20px;margin:26px 0}.tabs{border-bottom:1px solid var(--ink);gap:0;margin-bottom:0}.tabs button{border-radius:0;color:var(--muted);background:transparent;border:0;border-bottom:3px solid transparent;padding:14px 22px;font-size:.84rem}.tabs button.active{color:var(--ink);background:transparent;border-color:var(--signal)}.ranking-key{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font:.6rem var(--mono);color:var(--muted);letter-spacing:.1em}
.rank-row{display:flex;align-items:center;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.rank-row>div{flex:1;min-width:0}.rank-row strong{font-size:.94rem}.rank-row p{font-size:.73rem;margin:6px 0 0}.rank-row .score{flex-shrink:0;min-width:80px}.rank-number{font:1.3rem var(--mono);min-width:38px;font-variant-numeric:tabular-nums}.rank-row:first-child .rank-number{color:var(--signal)}.notification-item{padding:20px;border-bottom:1px solid var(--line);border-left:3px solid transparent;font-size:.86rem}.notification-item.unread{border-left-color:var(--signal)}.notification-item small{display:block;margin-top:8px;font-family:var(--mono);font-size:.67rem}#remaining{width:fit-content;margin-top:20px;font-family:var(--mono)}
.share-card{border:1px solid var(--ink);border-top:5px solid var(--ink);background:#fffefa;padding:32px;border-radius:2px;text-align:center}.report-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px;text-align:left}.report-header .eyebrow{font-size:.6rem}.score-readout{padding:32px 0 26px}.score-readout .eyebrow{font-size:.58rem}.big-score{display:flex;align-items:baseline;justify-content:center;font-family:var(--mono);font-size:clamp(5rem,15vw,8.5rem);font-variant-numeric:tabular-nums;line-height:1.15;font-weight:500;letter-spacing:-.07em;margin:12px 0 0}.big-score small{font-family:var(--mono);font-size:1.1rem;margin-left:14px;letter-spacing:-.04em}.big-score.run-failed{font-size:clamp(3rem,10vw,5rem)}.share-card h1{font-size:1.7rem;max-width:580px;margin:0 auto 16px}.judgment{margin:24px auto;max-width:590px;text-align:left;border-left:3px solid var(--signal);padding:14px 20px}.judgment p{margin:10px 0 0;font-size:.94rem;line-height:1.9}.result-details{text-align:left;border-top:1px solid var(--line);margin:28px 0 0}.result-details h3{margin:22px 0 8px;font-size:.8rem}.result-details p,.result-details pre{font-size:.78rem}.report-action{display:flex;flex-direction:column;align-items:center;gap:12px;border-top:1px solid var(--ink);margin-top:30px;padding-top:25px}.report-action .button{width:100%;max-width:330px}.report-action small{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em}.share-tools{display:flex;justify-content:center;margin:-26px 0 48px}
.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.auth-intro{padding:28px 0}.auth-intro h1{font-size:2.6rem}.auth-symbol{color:var(--signal);margin:40px 0 24px}.auth-symbol svg{width:80px;height:80px}.auth-principles{list-style:none;padding:0;margin:28px 0}.auth-principles li{padding:12px 0;border-top:1px solid var(--line);font-size:.83rem}.auth-principles span{font-family:var(--mono);color:var(--signal);font-size:.7rem;margin-right:12px}.auth-form-side{border:1px solid var(--ink);padding:28px}.auth-form-side .panel{padding:0;border:0}.auth-form-side h2{font-size:1.4rem;margin:0 0 28px}#login-submit{width:100%}.auth-form-side .hint{margin-bottom:0;font-family:var(--mono);font-size:.73rem}.form-sheet{border:1px solid var(--ink);padding:30px}.form-section-label{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin:0 0 26px;border-bottom:1px solid var(--line);font:.7rem var(--mono);letter-spacing:.07em}.form-section-label span{color:var(--signal)}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;padding-top:22px;border-top:1px solid var(--ink)}.form-actions a{font-size:.85rem}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;max-width:1208px;margin:0 auto;border-top:1px solid var(--ink);padding:22px 0 32px;font-size:.72rem;color:var(--muted)}.footer span:last-child{font-family:var(--mono);font-size:.6rem;letter-spacing:.07em}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;padding:12px;background:var(--paper);z-index:10}[hidden]{display:none!important}
@media(max-width:1100px){#nav{gap:22px;padding:16px 28px}.account{gap:10px}nav{gap:18px}main{padding-right:28px;padding-left:28px}.hero{padding:32px}.hero-copy{max-width:68%}.footer{margin-right:28px;margin-left:28px}}
@media(max-width:900px){.account{width:100%;margin-left:0;border-top:1px solid var(--line);padding-top:12px}nav{margin-left:auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1fr)}.measure-panel{max-width:100%}.hero{background-position:40% center}.hero-copy{max-width:76%}.hero-description{max-width:380px}.protocol-item{padding:17px;gap:10px}.protocol-item p{font-size:.69rem}.auth-layout{gap:32px}}
@media(max-width:640px){main{padding:28px 20px 55px}#nav{padding:14px 20px;gap:16px}.logo{font-size:1.3rem;gap:8px}.logo-mark{width:30px;height:30px}nav{gap:15px;font-size:.77rem}.hero{min-height:440px;padding:26px;background-position:left center}.hero-copy{max-width:100%}.hero-description{max-width:95%}.hero h1{margin-top:32px}.hero-register{align-items:flex-start}.hero-register span:last-child{max-width:100px;text-align:right}.protocol{grid-template-columns:1fr}.protocol-item{padding:15px 20px}.protocol-item+.protocol-item{border-left:0;border-top:1px solid var(--line)}.protocol-item>div{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:16px}.protocol-item p{font-size:.75rem}.section-title{flex-wrap:wrap;align-items:baseline}#cases{grid-template-columns:minmax(0,1fr)}.search-form{grid-template-columns:minmax(0,1fr) auto;padding:18px}.search-form label:first-child{grid-column:1/-1}.rank-row{gap:14px}.rank-number{min-width:26px;font-size:1rem}.rank-row strong{font-size:.85rem}.rank-row .score{min-width:65px}.auth-layout{grid-template-columns:minmax(0,1fr);gap:22px}.auth-intro{padding-top:0}.auth-symbol{margin:22px 0}.auth-symbol svg{width:52px;height:52px}.auth-intro h1{font-size:2rem}.auth-principles{display:none}.form-sheet{padding:22px}.footer{margin:0 20px}}
@media(max-width:480px){:root{font-size:14px}main{padding:24px 16px 45px}#nav{padding:13px 16px;gap:10px}nav{gap:12px}.logo-word small{font-size:7px}.account{gap:10px;row-gap:12px}.account .small{padding:6px 9px}.account .link{margin-left:auto}.hero{padding:23px 20px;min-height:445px;background-size:auto 100%}.hero h1{font-size:5rem}.hero-tagline{font-size:1.22rem}.hero .inline{gap:9px}.hero .button{padding:10px 14px}.hero-register{margin-top:28px;font-size:.52rem}.hero .kicker{font-size:.58rem;letter-spacing:.07em}.grid{grid-template-columns:minmax(0,1fr)}.card{padding:20px}.card h3{font-size:1.15rem}.card .muted{font-size:.86rem}.section-heading{gap:10px}.section-title h2{font-size:1.3rem}.page-heading{padding-bottom:24px}.panel{padding:18px}.measure-panel{padding:16px}.notebook .section-title{padding:12px 15px}#prompt-body{padding:21px 17px}.run .inline>a{margin-left:0}.tabs button{flex:1;padding:13px 10px;font-size:.78rem}.rank-row{gap:10px}.rank-row .score{min-width:59px;padding-left:8px}.rank-row .score-value{font-size:1.6rem}.share-card{padding:23px 18px}.share-card h1{font-size:1.45rem}.judgment{padding:10px 14px}.form-sheet,.auth-form-side{padding:20px}fieldset{padding:16px}.footer{margin:0 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
@media print{header,.footer,.share-tools,#other-results,.skip{display:none}main{padding:0}.share-card{break-inside:avoid}}
