@font-face{font-family:Mini;src:url(assets/font.ttf) format('truetype');font-display:swap}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Mini,'Segoe UI',Arial,sans-serif;color:#0d244f;background:#e7f5ff;font-size:16px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #b9d8fa;background:linear-gradient(#fff,#eaf5ff);border-radius:12px;padding:9px 14px;box-shadow:0 1px 2px #1760a00c}button:hover{background:#dceeff;border-color:#79b7ff}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #368cff;outline-offset:1px}button:disabled{opacity:.38;cursor:default}button img{vertical-align:middle;object-fit:contain}input,select,textarea{border:1px solid #bdd9f6;border-radius:9px;background:#fff;padding:10px;min-width:0}#app{height:100dvh;display:flex;flex-direction:column;max-width:2400px;margin:auto}header{height:80px;flex-shrink:0;display:flex;align-items:center;gap:14px;padding:6px 20px;background:linear-gradient(130deg,#41a9f7,#7bcafa 75%,#48aafa);border-bottom:1px solid #82c5ff}.brand-icon{width:72px;height:68px;object-fit:contain}h1{font-size:36px;letter-spacing:-1px;margin:0;font-weight:850;text-shadow:0 2px white,2px 0 #c8eeff,-2px 0 #c8eeff,0 -2px #c8eeff,0 3px 4px #2671a7}#mode{padding:8px 17px;background:linear-gradient(#188def,#0073db);border-radius:22px;color:white;font-weight:bold;white-space:nowrap}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.header-actions>button{padding:2px;border:0;background:transparent;box-shadow:none}.header-actions>button img{width:46px;height:46px}.header-actions>#tasksToggle{padding:7px 14px;background:linear-gradient(#fff,#f0f8ff);border:1px solid #3694e4;font-weight:bold;font-size:21px;box-shadow:0 2px 3px #1774af33}.header-actions>#tasksToggle img{width:38px;height:38px;margin-right:7px}nav{display:flex;align-items:center;gap:10px;padding:7px 10px;background:#f6fbff;border:1px solid #b6d9fa;flex-shrink:0;height:68px;border-radius:15px 15px 0 0;margin:0 7px}.nav-buttons{display:flex;border:1px solid #b8d8f4;border-radius:15px;overflow:hidden;background:linear-gradient(#f6fbff,#e4f2ff)}nav button{padding:3px;background:transparent;border:none;box-shadow:none}nav button img{width:46px;height:43px}nav>#up{border:1px solid #b8d8f4;background:linear-gradient(#f6fbff,#e4f2ff);border-radius:13px}#breadcrumbs{display:flex;align-items:center;gap:3px;flex:1;min-width:0;border:1px solid #b8d8f4;border-radius:12px;height:51px;padding:2px 10px;overflow:auto;white-space:nowrap}#breadcrumbs img{width:36px;height:36px;margin-right:8px}#breadcrumbs button{padding:8px 5px;font-size:19px}#breadcrumbs button:last-child{font-weight:bold}#search{width:24%;height:50px;background:#fff}#toolbar{display:flex;align-items:stretch;flex-shrink:0;gap:4px;padding:6px 15px;border:1px solid #c3dff9;border-radius:0 0 16px 16px;background:linear-gradient(#fff,#fcfeff);margin:0 7px 6px;min-height:99px;overflow-x:auto}#toolbar button{background:transparent;border-color:transparent;box-shadow:none;min-width:90px;padding:3px 10px;border-radius:10px;white-space:nowrap}#toolbar button:hover{background:#e5f3ff;border-color:#9bceff}#toolbar button img{display:block;width:48px;height:48px;margin:0 auto 3px}#toolbar button.active{background:linear-gradient(#e6f5ff,#cde9ff);border-color:#4fa2ff}#toolbar .sep{width:1px;background:#c4dcf4;margin:13px 8px;flex-shrink:0}#workspace{display:flex;gap:7px;min-height:0;flex:1;padding:0 7px 7px}#tree,main,#tasks{border:1px solid #c2def8;background:linear-gradient(130deg,#fff,#f3faff);border-radius:17px;box-shadow:0 1px 3px #3477a00a}#tree{width:260px;flex-shrink:0;padding:15px 10px;overflow:auto}.tree-row{display:flex;align-items:center;width:100%;padding:6px 5px;border:0;background:transparent;box-shadow:none;text-align:left;white-space:nowrap;min-height:45px;gap:5px;font-size:17px}.tree-row img{height:35px;width:37px;object-fit:contain;flex-shrink:0}.tree-row .expand{display:inline-flex;width:16px;flex-shrink:0;justify-content:center;font-size:19px}.tree-row.active{background:#daedff;font-weight:bold;color:#0556b2}.tree-row.dropover{outline:3px solid #228cfa}#tree hr{border:0;border-top:1px solid #d5e6f5;margin:20px 5px 10px}main{flex:1;min-width:0;display:flex;flex-direction:column;padding:15px 20px}.content-title{display:flex;align-items:center;justify-content:space-between;gap:8px}h2{font-size:29px;line-height:1.15;margin:0 0 7px;font-weight:800}#count{margin:0 0 15px;color:#6a83a7;font-size:17px}#multi{font-size:13px;padding:6px 9px;align-self:flex-start}#multi.active{background:#c9e6ff;border-color:#2d8af6}#files{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));grid-auto-rows:181px;align-content:start;gap:13px;overflow:auto;padding:3px 3px 12px;flex:1;outline:none;user-select:none;touch-action:pan-y}.item{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:8px 5px 10px;border:1px solid #d0e5f8;border-radius:15px;background:#ffffffc9;cursor:default}.item:hover{background:#eef7ff;border-color:#99caff}.item.selected{background:#d5ebff;border:2px solid #51a4ff;padding:7px 4px 9px}.item.cut{opacity:.45}.item.dropover{outline:3px solid #228cfa}.item img{width:116px;height:116px;object-fit:contain;pointer-events:none}.item .name{font-size:16px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .type{font-size:14px;color:#758caf;margin-top:4px}.item .tick{display:none;position:absolute;top:6px;left:7px;background:#fff;border:1px solid #559de4;width:20px;height:20px;border-radius:5px;color:#075fae;font-size:15px}.multi .item .tick{display:block}.selected .tick:after{content:'✓'}#files.small{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:60px;gap:6px}#files.small .item{flex-direction:row;justify-content:flex-start;gap:7px;border-radius:8px;padding:4px}#files.small img{width:48px;height:48px}#files.small .type{display:none}#files.details{display:flex;flex-direction:column;gap:0}#files.details .item{display:grid;grid-template-columns:35px minmax(150px,1fr) 110px 100px 110px;align-items:center;min-height:47px;border-radius:0;border-width:0 0 1px;padding:4px 6px;text-align:left;gap:8px;flex-shrink:0}#files.details img{width:32px;height:32px}#files .detail{display:none;font-size:13px;color:#6e86a5}#files.details .detail{display:block}#files.details .type{margin:0}#files.details .tick{left:5px}#files .empty{grid-column:1/-1;text-align:center;padding:45px 10px;color:#708ba8}.detail-head{display:grid;grid-template-columns:35px minmax(150px,1fr) 110px 100px 110px;gap:8px;padding:8px 6px;font-size:13px;background:#e4f2ff;border-radius:7px;position:sticky;top:0;z-index:1}#tasks{width:335px;flex-shrink:0;padding:14px 18px;overflow:auto}#tasks[hidden]{display:none}.task-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.task-top span{border-radius:25px;background:#dfedff;color:#0860bf;font-weight:800;padding:8px 16px}.task-top button{border:0;background:none;padding:0 5px;font-size:26px}#tasks label{font-size:13px;color:#687e9e}#taskSelect{width:100%;margin:4px 0 18px}#taskBody h2{font-size:25px;margin-bottom:13px}#taskBody p{font-size:17px;line-height:1.45}.hint-box{border:1px solid #a7ddb0;background:linear-gradient(#f5fff5,#edfaed);padding:12px;border-radius:13px;font-size:16px;line-height:1.45}.task-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.task-actions button{padding:10px 5px;font-weight:bold;display:flex;align-items:center;justify-content:center}.task-actions img{width:28px;height:28px;margin-right:4px}.primary{background:linear-gradient(#218fff,#0071da);border-color:#0074d6;color:white;font-weight:bold}.primary:hover{background:#056bd0}#taskResult{padding:10px 0;font-weight:bold;line-height:1.4}#examArea button{margin:5px 0}#examList button{display:block;width:100%;text-align:left}footer{min-height:39px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 20px;margin:0 7px 7px;border:1px solid #bedcf6;border-radius:13px;font-size:14px;color:#567498;background:#f6fbff}#context{position:fixed;z-index:20;background:#f8fcfff7;box-shadow:0 7px 24px #0c366842;backdrop-filter:blur(12px);border:1px solid #a8cae9;border-radius:12px;padding:5px;min-width:210px;max-height:85dvh;overflow:auto}#context button{display:flex;width:100%;gap:10px;align-items:center;text-align:left;border:0;background:transparent;box-shadow:none;padding:6px 12px;font-size:14px;border-radius:7px}#context button:hover{background:#dcedff}#context img{width:26px;height:26px}#toast{position:fixed;left:50%;bottom:50px;transform:translateX(-50%);border:1px solid #82b9ed;border-radius:14px;background:#fff;box-shadow:0 5px 20px #12375444;padding:15px 22px;z-index:30;max-width:90vw;font-weight:bold}dialog{width:min(620px,92vw);max-height:90dvh;border:1px solid #9bc6ef;border-radius:18px;box-shadow:0 15px 65px #10396566;color:#102c52;background:linear-gradient(#fff,#f0f8ff);padding:24px}dialog::backdrop{background:#17375d55;backdrop-filter:blur(3px)}dialog h2{font-size:25px}dialog p,dialog li{line-height:1.5}dialog input,dialog select{width:100%;margin:8px 0}#dialogActions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}#dialogBody .preview{display:block;width:240px;height:200px;margin:auto;object-fit:contain}#dialogBody pre{white-space:pre-wrap;line-height:1.6;background:#fff;padding:18px;border-radius:10px}#dialogBody dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}#dialogBody dd{margin:0;overflow-wrap:anywhere}#rotate{position:fixed;inset:0;z-index:60;background:#eaf7ff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}#rotate[hidden]{display:none}#rotate img{width:100px;height:100px}#rotate p{max-width:270px}body.admin{height:auto;min-height:100%;padding:24px}.admin-shell{max-width:1200px;margin:auto}.admin-shell>header{border-radius:15px}.admin-card{padding:20px;border:1px solid #bad9f5;background:#fff;border-radius:16px;margin:15px 0}.admin-card table{width:100%;border-collapse:collapse;font-size:14px}.admin-card td,.admin-card th{padding:10px;border-bottom:1px solid #d8e8f5;text-align:left}.admin-filters{display:flex;gap:8px;flex-wrap:wrap}.admin-filters input,.admin-filters select{flex:1;min-width:130px}.admin-card textarea{width:100%;min-height:200px;font-family:monospace}.admin-card label{display:block;margin:10px 0 3px}.admin-card button{margin:3px}#adminMessage{font-weight:bold;white-space:pre-wrap}.admin-tree{background:#f3f9ff;border-radius:12px;padding:12px;max-height:350px;overflow:auto}.admin-tree ul{list-style:none;padding-left:22px}.admin-tree img{width:25px;height:25px;vertical-align:middle}.admin-tabs{display:flex;gap:10px;margin-top:15px}.bad{color:#ad2736}.good{color:#16833d}@media(min-width:1600px){#tree{width:310px}#tasks{width:390px}#files{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-auto-rows:202px}.item img{width:135px;height:135px}#toolbar button{min-width:105px}header{height:80px}}@media(max-width:1100px){header{height:62px;padding:5px 12px;gap:8px}h1{font-size:27px}.brand-icon{width:52px;height:52px}#mode{font-size:13px;padding:7px 10px}.header-actions{gap:5px}.header-actions>button img{width:35px;height:35px}.header-actions>#tasksToggle{font-size:16px;padding:5px 9px}.header-actions>#tasksToggle img{width:28px;height:28px}nav{height:55px;padding:4px 7px;gap:5px}nav button img{width:35px;height:35px}#breadcrumbs{height:43px;padding:1px 5px}#breadcrumbs img{width:27px;height:27px;margin-right:3px}#breadcrumbs button{font-size:15px;padding:5px}#search{height:43px;font-size:14px}#toolbar{min-height:78px;padding:3px 7px;gap:1px}#toolbar button{min-width:75px;font-size:13px;padding:2px 6px}#toolbar button img{width:39px;height:39px}#toolbar .sep{margin:10px 3px}#tree{width:205px;padding:8px 5px}.tree-row{font-size:14px;min-height:37px;padding:3px 2px;gap:2px}.tree-row img{width:29px;height:29px}main{padding:12px}.content-title h2{font-size:23px}#count{font-size:14px;margin-bottom:9px}#files{grid-template-columns:repeat(auto-fill,minmax(117px,1fr));grid-auto-rows:150px;gap:9px}.item img{width:91px;height:91px}.item .name{font-size:14px}.item .type{font-size:12px}#tasks{width:280px;padding:12px}.task-top{margin-bottom:6px}.task-top span{font-size:14px;padding:6px 10px}#taskBody h2{font-size:22px}#taskBody p{font-size:15px}#taskSelect{font-size:13px;margin-bottom:10px}.task-actions button{font-size:13px}.safe{font-size:12px}}
@media(max-height:550px){header{height:48px}.brand-icon{width:43px;height:43px}h1{font-size:23px}#mode{font-size:12px;padding:5px 9px}.header-actions>button img{width:31px;height:31px}.header-actions>#tasksToggle{font-size:14px;padding:3px 7px}.header-actions>#tasksToggle img{width:25px;height:25px}nav{height:45px}nav button img{width:30px;height:30px}#breadcrumbs{height:35px}#breadcrumbs button{font-size:13px}#search{height:35px;font-size:12px}#toolbar{min-height:65px;padding:2px 5px;margin-bottom:4px}#toolbar button{font-size:11px;min-width:63px;padding:1px 4px}#toolbar button img{width:33px;height:33px;margin-bottom:1px}#toolbar .sep{margin:7px 2px}#tree{width:170px;padding:5px}.tree-row{font-size:12px;min-height:31px}.tree-row img{width:25px;height:25px}#tree hr{margin:10px 3px}main{padding:8px}.content-title h2{font-size:20px}#count{font-size:12px;margin-bottom:6px}#multi{font-size:10px;padding:4px}#files{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));grid-auto-rows:123px;gap:6px}.item{padding:4px 3px}.item.selected{padding:3px 2px}.item img{width:76px;height:76px}.item .name{font-size:11px}.item .type{font-size:10px;margin-top:2px}#tasks{width:245px;padding:8px 11px}.task-top span{font-size:12px}#taskBody h2{font-size:19px}#taskBody p{font-size:13px}.hint-box{font-size:12px;padding:8px}.task-actions{gap:5px}.task-actions button{font-size:11px;padding:6px 2px}.task-actions img{width:22px;height:22px}#taskResult{font-size:12px;padding:4px 0}footer{min-height:27px;padding:4px 12px;font-size:11px;margin-bottom:4px}.safe{font-size:10px}#files.details .item,.detail-head{grid-template-columns:25px minmax(100px,1fr) 75px 65px 80px;font-size:11px}#files.details .item{min-height:35px}#files.details img{width:24px;height:24px}#files .detail{font-size:10px}#files.details .type{font-size:10px}#files.small{grid-auto-rows:43px;grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}#files.small img{width:33px;height:33px}}
@media(max-width:650px){#mode{display:none}.header-actions{gap:1px}h1{font-size:20px}#search{width:23%}#tree{width:145px}.tree-row{font-size:11px}#tasks{position:absolute;right:7px;top:160px;bottom:35px;z-index:4;width:270px;box-shadow:-5px 0 22px #26568933}}
.tree-row>span:last-child{overflow:hidden;text-overflow:ellipsis;min-width:0}#tree{overflow-x:hidden}.item img{flex-shrink:0}.item .type{white-space:nowrap}
img[src$="folder.png"]{transform:scale(1.3)}
@media(min-height:551px) and (max-height:800px) and (min-width:1101px){header{height:64px}.brand-icon{width:59px;height:56px}h1{font-size:30px}#mode{font-size:15px;padding:6px 14px}.header-actions>button img{width:39px;height:39px}.header-actions>#tasksToggle{font-size:18px}.header-actions>#tasksToggle img{width:31px;height:31px}nav{height:56px}nav button img{width:39px;height:37px}#breadcrumbs{height:43px}#breadcrumbs button{font-size:16px}#search{height:43px;font-size:15px}#toolbar{min-height:83px;padding:3px 10px}#toolbar button{min-width:84px;font-size:13px;padding:2px 8px}#toolbar button img{width:41px;height:41px}#toolbar .sep{margin:10px 4px}#tree{width:230px;padding:10px 7px}.tree-row{font-size:15px;min-height:39px}.tree-row img{width:31px;height:31px}main{padding:12px 15px}h2{font-size:25px}#count{font-size:14px;margin-bottom:11px}#files{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-auto-rows:165px;gap:10px}.item img{width:105px;height:105px}.item .name{font-size:14px}.item .type{font-size:12px}#tasks{width:315px;padding:12px 15px}#taskBody h2{font-size:24px}#taskBody p{font-size:16px}.task-top span{font-size:14px}}
#tasks{display:flex;flex-direction:column}#taskBody{flex:1;min-height:25px;overflow:auto}.task-top,#tasks>label,#taskSelect,.task-actions,#taskResult{flex-shrink:0}.task-actions{margin-top:8px}#taskBody p{margin:10px 0}#examArea{max-height:34%;overflow:auto;flex-shrink:1;min-height:60px}#examArea[hidden]{display:none}
#files{position:relative}.rubber-band{position:absolute;border:1px solid #278cf0;background:#278cf02e;pointer-events:none;z-index:5;box-shadow:0 0 0 1px #fff7;min-width:1px;min-height:1px}#taskBody p{white-space:pre-line}.organism-photo{display:block;position:relative;overflow:hidden;width:116px;height:116px;flex-shrink:0;border-radius:10px;background:#edf5fb;margin:0 auto 0}.organism-photo>img{position:absolute!important;top:0;max-width:none!important;width:200%!important;height:100%!important;object-fit:fill!important;pointer-events:none}.organism-preview{width:260px;height:260px;display:block;margin:12px auto}.small .organism-photo{width:48px;height:48px;margin:0}.details .organism-photo{width:32px;height:32px;margin:0}@media(min-width:1600px){.organism-photo{width:135px;height:135px}}@media(max-width:1100px){.organism-photo{width:91px;height:91px}}@media(min-height:551px) and (max-height:800px) and (min-width:1101px){.organism-photo{width:105px;height:105px}}@media(max-height:550px){.organism-photo{width:76px;height:76px}.small .organism-photo{width:33px;height:33px}.details .organism-photo{width:24px;height:24px}}.organism-preview{width:260px;height:260px}
.admin-tree .organism-photo{display:inline-block;vertical-align:middle;width:30px;height:30px;margin:2px}.admin-tree .organism-photo>img{width:200%!important;height:100%!important}

#solveTask{display:none}
@media (max-width: 1000px) and (max-height: 600px) {
 #tasks:not([hidden]){position:fixed;inset:8px;z-index:15;width:min(680px,calc(100vw - 16px));max-width:none;max-height:calc(100dvh - 16px);margin:auto;padding:0 16px 16px;display:block;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 12px 42px #0d385e55,0 0 0 100vmax #193d5c77;border-radius:16px;background:linear-gradient(#fff,#f1f8ff)}
 #tasks .task-top{position:sticky;top:0;z-index:2;margin:0 -16px 12px;padding:8px 16px;background:#f4faff;border-bottom:1px solid #cde2f5;gap:10px}
 #tasks .task-top span{margin-right:auto;font-size:14px}#tasks .task-top #solveTask{display:inline-block;padding:7px 16px;font-size:15px;background:linear-gradient(#218fff,#0071da);border:1px solid #0074d6;color:white;box-shadow:none}#tasks .task-top #closeTasks{font-size:24px}#tasks #taskSelect{font-size:15px;margin:5px 0 12px}#tasks #taskBody{overflow:visible;min-height:0}#tasks #taskBody h2{font-size:21px}#tasks #taskBody p{font-size:16px;line-height:1.45}#tasks .task-actions button{font-size:14px;padding:8px}#tasks #taskResult{font-size:14px}#tasks #examArea{max-height:none;overflow:visible;min-height:0}
}
