:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#182736;background:#f7f8f8;font-synthesis:none;line-height:1.5}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:#f8faf9}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
.app-shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:88px;padding:0 max(5%,calc((100vw - 1260px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e8e9;background:#fff;gap:16px}
.brand{display:flex;gap:12px;align-items:center}.brand-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#0a4150;color:#f3ce76;font-size:28px}
.brand-name{display:flex;flex-direction:column;line-height:1.1;letter-spacing:.08em}.brand-name strong{font-size:18px;color:#0b3b46}.brand-name small{font-size:11px;margin-top:6px;color:#73808c;font-weight:650;letter-spacing:.01em}
.topbar-right{display:flex;align-items:center;gap:12px}.user-name{font-size:13px;color:#66757c;max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-button{padding:8px 13px;background:transparent;border:0;color:#124351;font-weight:700;font-size:13px;cursor:pointer}.nav-button:hover{color:#00a19b}.logout{color:#76858c}
.main-content{flex:1;width:100%;max-width:1310px;padding:54px 28px 70px;margin:auto}.view{animation:appear .25s ease both}@keyframes appear{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.loading-view{min-height:240px;display:grid;place-items:center}.spinner{width:30px;height:30px;border-radius:50%;border:3px solid #d7e3e3;border-top-color:#127b7d;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:500px;gap:40px;align-items:center}.hero-copy{padding:16px 8px 16px 0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;color:#178784;display:flex;gap:9px;align-items:center;margin-bottom:18px}.dot{background:#10a5a0;width:7px;height:7px;border-radius:50%}
h1{font-size:clamp(34px,4.2vw,61px);line-height:1.13;letter-spacing:-.043em;font-weight:760;color:#143645;margin:0 0 22px}h1 em{font-style:normal;color:#008f8d}.lede{font-size:17px;color:#697e88;line-height:1.85;max-width:600px;margin:0 0 34px}.lede.compact{font-size:15px;line-height:1.65;max-width:710px;margin-bottom:0}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:11px;border:1px solid #0a7778;font-size:14px;font-weight:750;cursor:pointer;transition:transform .15s ease,background .15s ease}.primary-button{background:#007c80;color:#fff;padding:15px 24px;min-height:51px}.primary-button:hover{background:#05676c;transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:wait;transform:none}.secondary-button{background:#fff;color:#0a6972;border-color:#d6e5e4;padding:10px 17px}.secondary-button:hover{background:#eef8f7}.full-width{width:100%;margin-top:14px;justify-content:space-between}.small{font-size:12px}.muted{color:#778890}.login-button{margin-bottom:17px}.hero-panel{position:relative;overflow:hidden;min-height:435px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;color:white;border-radius:24px;background:radial-gradient(ellipse at 56% 28%,#24737d,#0b4152 44%,#052735 95%);box-shadow:0 23px 70px #0d48551a}.illustration-number{position:absolute;top:35px;left:34px;color:#9bc4c5;font-size:11px;letter-spacing:.17em}.abstract-orbit{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:270px;height:270px;display:grid;place-items:center}.orbit-ring{position:absolute;border:1px solid #8dbabc82;border-radius:50%;width:220px;height:220px}.ring-a{transform:rotateX(60deg) rotate(24deg)}.ring-b{transform:rotateY(60deg) rotate(42deg)}.orbit-center{display:grid;place-items:center;width:107px;height:107px;border-radius:50%;color:#ffe6a0;background:#2f7f88aa;font-size:53px;border:1px solid #92bdc4}.panel-line{width:44px;height:3px;background:#e5b963;margin-bottom:23px}.hero-panel strong{font-size:21px;letter-spacing:-.015em}.hero-panel p{color:#b9d4d7;max-width:340px;font-size:14px;line-height:1.8;margin:12px 0 0}.features{border-top:1px solid #e0e8e8;margin-top:56px;padding-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.feature-index{font-size:12px;letter-spacing:.12em;font-weight:800;color:#0f9691;display:block;margin-bottom:12px}.feature strong{font-size:16px}.feature p{font-size:13px;color:#70838d;line-height:1.75;max-width:310px}
.page-title-block{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.page-title-block h1{font-size:clamp(28px,3.8vw,45px);margin-bottom:12px}.year-chip{border:1px solid #d8e4e4;border-radius:11px;padding:10px 18px;color:#086e71;background:#edf5f4;font-weight:800;font-size:14px;white-space:nowrap}.student-grid,.admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:23px;align-items:start}.content-card{background:#fff;border:1px solid #e4eaec;box-shadow:0 8px 24px #173f4610;border-radius:18px;padding:32px}.section-head{display:flex;gap:15px;align-items:flex-start;margin-bottom:29px}.step-pill{width:38px;height:38px;border:1px solid #cce1e1;color:#177c7a;display:grid;place-items:center;flex:none;font-size:14px;font-weight:800;border-radius:10px;background:#edf7f7}.section-head h2{font-size:19px;line-height:1.4;margin:0 0 5px}.section-head p{font-size:13px;color:#788b92;margin:0;line-height:1.7}.field-label{font-size:13px;font-weight:700;display:block;margin-bottom:10px}.field-gap{margin-top:23px}input[type=text],select{width:100%;background:#fafcfc;border:1px solid #d6e1e3;border-radius:9px;outline:0;padding:13px 16px;color:#143d4c}input[type=text]:focus,select:focus{border-color:#0b9591;box-shadow:0 0 0 3px #0aa19a19}.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:166px;background:#f7fbfa;border:1.5px dashed #9ac9c7;border-radius:12px;padding:22px;cursor:pointer;transition:background .2s}.file-drop:hover{background:#eff9f8}.file-icon{font-size:27px;color:#1c8b89;line-height:1;margin-bottom:7px}.file-drop strong{font-size:14px;color:#20515a;margin-bottom:5px}.chosen-file{color:#087c7e;font-size:12px;font-weight:700;margin-top:6px;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.consent-field{display:flex;align-items:flex-start;gap:11px;font-size:12px;color:#6e8189;line-height:1.7;margin-top:20px}.consent-field input{accent-color:#007c80;margin-top:5px}.form-footnote{font-size:12px;color:#829096;line-height:1.7;margin:13px 0 0}.information-stack{display:flex;flex-direction:column;gap:20px}.info-card{border-radius:17px;padding:29px;min-height:180px;display:flex;flex-direction:column;gap:9px}.navy-card{position:relative;background:#0b3c4b;color:#fff;min-height:226px;overflow:hidden}.navy-card:after{content:'';position:absolute;right:-50px;top:-60px;width:190px;height:190px;border:1px solid #236c7c;border-radius:100%}.info-symbol{color:#d7b66b;font-size:29px;line-height:1.1}.info-number{font-size:36px;color:#6db9b6;font-weight:750;line-height:1.2}.info-card strong{font-size:17px}.info-card p{font-size:13px;line-height:1.85;margin:0;color:inherit;opacity:.8}.plain-card{background:#eef4f3;border:1px solid #e1ebe9}.history-section{margin-top:46px}.history-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}.history-head .eyebrow{margin-bottom:8px}.history-head h2{font-size:23px;margin:0}.history-list{display:flex;flex-direction:column;gap:13px}.idea-item{background:#fff;border:1px solid #e3eaeb;border-radius:14px;padding:20px 23px;display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.idea-item-main{min-width:0}.idea-item h3{font-size:15px;margin:0 0 5px;overflow-wrap:anywhere}.idea-item .meta{font-size:12px;color:#788b95}.status-pill{display:inline-block;padding:6px 10px;border-radius:20px;background:#e5f4f1;color:#167363;font-size:11px;font-weight:800;white-space:nowrap}.status-pill.possible,.status-pill.archive_empty{background:#fff0d8;color:#9b680f}.status-pill.high,.status-pill.failed{background:#ffe8e4;color:#ac4333}.status-pill.processing,.status-pill.pending{background:#e9f0fa;color:#36679b}.status-pill.archived{background:#edf2f4;color:#506877}.empty-state{border:1px dashed #bfd4d6;border-radius:16px;background:#fff;padding:34px;text-align:center;font-size:14px;color:#71838a}.result-explainer{font-size:12px;color:#6d7f88;margin-top:11px;line-height:1.65;max-width:700px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:29px 0}.metric{background:white;border:1px solid #e2e9ea;border-radius:15px;padding:19px}.metric strong{display:block;font-size:29px;color:#0e666e}.metric span{font-size:12px;color:#788b95}.admin-note{min-height:266px}.admin-grid input[type=file]{padding:13px 12px;border-radius:10px;border:1px solid #d9e4e4;width:100%;background:#f8fbfa;color:#506c76;font-size:13px}.idea-details{margin-top:12px;font-size:12px;color:#57717a;border-top:1px solid #e5ebec;padding-top:12px;max-width:900px}.idea-details summary{cursor:pointer;font-weight:800;color:#17797a;padding:5px 0}.detail-line{margin:8px 0;line-height:1.7;overflow-wrap:anywhere}.idea-actions{display:flex;gap:9px;margin-top:10px;flex-wrap:wrap}.text-button{border:1px solid #d9e7e7;border-radius:8px;padding:7px 12px;background:#f6faf9;color:#0b686d;font-weight:700;font-size:12px;cursor:pointer}.notice{position:fixed;top:105px;right:24px;max-width:min(420px,calc(100vw - 48px));z-index:10;background:#123e4a;color:white;padding:14px 20px;box-shadow:0 15px 60px #1439443b;border-radius:10px;font-size:13px;line-height:1.6}.notice.error{background:#8d3630}.footer{display:flex;justify-content:space-between;gap:18px;padding:24px max(5%,calc((100vw - 1260px)/2));font-size:11px;border-top:1px solid #e5eaea;color:#8b9b9e;background:#fff}
@media(max-width:850px){.hero-grid,.student-grid,.admin-grid{grid-template-columns:1fr}.hero-panel{min-height:320px}.abstract-orbit{top:38%}.topbar{padding:0 22px}.user-name{display:none}.features{gap:18px}.main-content{padding:34px 22px 60px}.information-stack{display:grid;grid-template-columns:1fr 1fr}.info-card{min-height:180px}.nav-button{padding:8px}.brand-name strong{font-size:14px}}
@media(max-width:560px){.topbar{height:73px}.topbar-right{gap:3px}.nav-button{font-size:11px}.brand-symbol{width:34px;height:34px;font-size:20px}.brand-name small{font-size:9px}.brand-name strong{font-size:13px}.hero-grid{gap:22px;min-height:unset}.hero-panel{min-height:260px}.features,.information-stack,.metrics{grid-template-columns:1fr}.page-title-block{align-items:flex-start;flex-direction:column}.content-card{padding:22px}.info-card{padding:22px}.idea-item{flex-direction:column;gap:9px}.footer{flex-direction:column}.history-head h2{font-size:20px}}

/* Long Greek competition branding on desktop and mobile */
.brand-name strong{letter-spacing:.015em;font-size:clamp(11px,1.35vw,16px);overflow-wrap:anywhere}
.brand{min-width:0}.brand-symbol{flex:none}
@media(max-width:560px){.brand-name strong{font-size:11px;max-width:180px}}

/* Administrator record management */
.idea-item-controls{display:flex;align-items:flex-end;justify-content:center;gap:9px;flex-direction:column;flex-shrink:0}
.danger-button{color:#a3382c;border-color:#d6a8a4;background:#fff9f8}
.danger-button:hover{background:#faeae7}
.danger-button:disabled{opacity:.5;cursor:wait}
@media(max-width:560px){.idea-item-controls{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}}

/* Explain public AI verdicts without disclosing archived student submissions. */
.student-feedback{background:#f1f8f7;border:1px solid #d7e8e4;border-radius:12px;padding:17px 18px;margin-top:14px;max-width:760px}
.student-feedback h4{font-size:13px;line-height:1.4;margin:0 0 7px;color:#0c6468}
.student-feedback h4:not(:first-child){margin-top:15px}
.student-feedback-text{font-size:13px;color:#334e59;line-height:1.72;margin:0;overflow-wrap:anywhere}
.student-feedback-note{font-size:11px;color:#6a8088;line-height:1.6;margin:15px 0 0}
