‰PNG  IHDR!@õ PLTE>O`jqv‚‚ €ÄDótEXtPage
style.scm - metalympiada
git clone git://metalympiada.org/
Log | Files | README | LICENSE

style.scm (4013B)


   1 (define-module (style)
   2     #:export (stylesheet
   3               background-color foreground-color
   4               logo-ratio))
   5 
   6 (define background-color #x153e4f)
   7 (define foreground-color #x118282)
   8 (define error-color #xcc2936)
   9 (define peach-color #xf1bf98)
  10 (define bright-color #xf9fbf2)
  11 (define logo-ratio 0.618034)
  12 
  13 (define (color->string color)
  14   (let ((str (number->string color 16)))
  15        (string-append "#" (make-string (- 6 (string-length str)) #\0) str)))
  16 
  17 (define stylesheet `(
  18   (body
  19     (font-size 0)
  20     (font-family "monospace")
  21     (margin 0)
  22     (visibility "hidden"))
  23 
  24   (rect
  25     (transform-origin "50%" ,(string-append (number->string (* 50 logo-ratio)) "%"))
  26     (animation "zoom 1.5s linear infinite"))
  27 
  28   (rect (: (nth-of-type "odd"))
  29     (fill ,(color->string foreground-color)))
  30 
  31   (rect (: (nth-of-type "even"))
  32     (fill ,(color->string bright-color)))
  33 
  34   (@ (keyframes "zoom")
  35     (from (transform (scale ,(/ 1 logo-ratio))))
  36     (to (transform (scale ,logo-ratio))))
  37 
  38   (.logo
  39     (width "7rem"))
  40                      
  41   (.meta 
  42     (position "fixed")
  43     (visibility "visible")
  44     (top 0)
  45     (left 0)
  46     (width "100vw")
  47     (height "100vh")
  48     (z-index 1)
  49     (object-fit "fill"))
  50 
  51   (main
  52     (visibility "visible")
  53     (font-size "1.1rem")
  54     (position "relative")
  55     (padding "2rem")
  56     (margin "1em auto")
  57     (max-width "45rem")
  58     (line-height "1.5")
  59     (background ,(color->string bright-color))
  60     (z-index 2)
  61     (overflow-x "hidden")
  62     (mix-blend-mode "lighten"))
  63  
  64   (header
  65     (display "flex")
  66     (flex-wrap "wrap")
  67     (justify-content "space-around")
  68     (align-items "center"))
  69 
  70   (footer
  71     (font-size "1rem")
  72     (text-align "center"))
  73   
  74   (table
  75     (min-width "50%"))
  76 
  77   (.textlogo
  78     (font-size (min "2.2vw" "0.795rem")))
  79 
  80   (nav
  81     (margin "1rem 0"))
  82   
  83   (a
  84     (color ,(color->string foreground-color)))
  85                      
  86   (a (: "visited")
  87     (color ,(color->string foreground-color)))
  88                      
  89   (h1
  90     (margin "2rem 0 0.8rem"))
  91   
  92   (.navlink
  93     (margin-right "1rem"))
  94                      
  95   (.text
  96     (font-size "1rem")
  97     (white-space "pre-wrap"))
  98                      
  99   (.problem-num
 100     (font-size "2.5rem")
 101     (float "left")
 102     (line-height 1.1))
 103   
 104   (.button
 105     (cursor "pointer")
 106     (padding "0.5rem 0.7rem")
 107     (margin "0.2rem 1rem 0.2rem 0.5rem")
 108     (background ,(color->string foreground-color))
 109     (box-shadow ,(string-append (color->string foreground-color) "a0") "0.2rem" "0.2rem"))
 110                      
 111   (.block
 112     (display "block")
 113     (margin "auto"))
 114  
 115   (.short
 116     (width "9.5rem"))
 117   
 118   (.small
 119     (margin "1rem 0")
 120     (font-size "0.8rem"))
 121                      
 122   (.error
 123     (display "inline-block")
 124     (color ,(color->string error-color))
 125     (border "0.1rem solid")
 126     (padding "0 1rem")
 127     (margin "1rem 0")
 128     (line-height "3rem"))
 129                      
 130   (.login
 131     (display "flex")
 132     (flex-wrap "wrap")
 133     (align-items "center"))
 134                     
 135   (input
 136     (border "none")
 137     (font "inherit")
 138     (font-size "1.2rem")
 139     (padding "0.2rem 0.5rem")
 140     (margin "0.2rem 0.5rem")
 141     (background "#000")
 142     (color ,(color->string bright-color)))
 143                      
 144   (.stagit
 145     (overflow-x "scroll")
 146     (margin-bottom "2rem"))
 147                      
 148   (.line
 149     (text-decoration "none"))
 150                      
 151   (.blob
 152     (font-size "0.765rem"))
 153                      
 154   (.d
 155     (color ,(color->string error-color))
 156     (text-decoration "none"))
 157                      
 158   (.d (: "visited")
 159     (color ,(color->string error-color)))
 160                      
 161   (.i
 162     (color ,(color->string foreground-color))
 163     (text-decoration "none"))
 164                      
 165   (.h
 166     (color "#aaa")
 167     (text-decoration "none"))
 168                       
 169   (.start
 170     (margin "0.5em"))
 171                     
 172   (.good
 173     (color ,(color->string foreground-color)))
 174                     
 175   (.bad
 176     (color ,(color->string error-color)))
 177   
 178   (.ghost
 179     (visibility "hidden"))))
…©¤ZIIDATxÚí›Ol#×yÀß 5A:vƒ³tqù³;²¹6<£µyQ;ÔΣ² %(䬯Ÿri“�J¢C7�(#ÊA£] wæc±t-;Ù¡�nÛNRËFׇ-µ)Ãäþ‘¼%‡óú½Rÿh—’=´\ˆK�8?Î|ÿ¿ï=òÿ�ÿ �â Ï�ÿm€ì� Á‰'”"œ œLŠ2Àɤ(»å“IQógà„2ÌŸHŠ(CXsN8‘å“´5?'‘¢æRwó$R�úçO}P©|cF%¦|)¢– íRÄs]N€Õ5×Û>¶ÁÕü¬hαeèÚ0+ÇVƒ\öÑ— |l5pO¨´àøRÔø¹AŽXÑd¼…cD8½–w>—Ž™EXÎùiUzÌü†^Di®”/™ÇÌoÚš#Q¨EŽ©ÌhÞ¥�ã3׿JñŽ™ß0š(^À1ó›ìQÔ¿jñüæ _Â+ ”æÆy8–!¯"@BøWŽc‹`¯á­«&!¾�?†㬆jp’WÇÐÍã&H¹ «>,Q?I�G—¢¶qÉ_°7r¾¡­¹ùcx´æI‹–æ£!iy îÅ£2¡¨À錉N‰þä]†$�Öœýr< õŽ(.àÓŠŠ÷/bÙ;²!CqŸVèÀjQ>²0"o,ؘ)r´#«–g}j—þΧڋW±J9²-ÂÕ–g¼IX–= Vdçˆ2,Û�ƒò@AjÀ3¬wT¢ì8¥‡:¢QhÑ�ŸFµ+{OÅ£ª¬ÍâÇv+ ªõÖxÕvÄ<ަÑ›*ça:‘^ý¸G "/®Ñ…K¶[$gíÕŸZ~>÷ïHJ(J”¥æ¤4M)u3ÔáH2ÄŒ@a� –jªÔöÑ¡å£HQã£T5,‹ª„fâôr”‹|‚â‡ç1;Køù]èøÁ€K,­Ò÷G“&W5¾Å+‰áJ˜WTKÚOÖc+ÁI'oV Ɉ¯?IÖÅñ#²Û{s÷t0´±à—‡>M†ïŒ/E{èÍ(ñ¥(ò ÙŒdX ðϱ ¢Þ›Uc€Ç”¢öÌ“7Só`¶SŠPTÌDgÂ`ãõEoL:$ÝͦBÞëÕl*w&Ä*I¤(Ù^O.—î˜JðœOšªõ%cÜ™�ÖòD˜¹šVêÚ/@É!Ú•â˜YüE·ë‡ô®CÆT®`8ægŠå²ëtµèŸÇ‹ÌÒgV}ojÖI´ïõæI¶8ž-Êžl—]�gœ$E&wlÙ%c0»³på ž©Ñ �I”° «3~q5h°ž k6~šVœ ±¸/nØpu)r_öåÄ÷좚˜$ÿéÇ�¢xóæ�7¾\ Ô¡ÄuzÔQab ÒËÇuGÈ9ô¼ïñƒ�F»E7o¥¶UªÑ� òFJÓÆ8câ}MŸŠ¶(8àú&ÙþhßJžM’@‚v®òVöEÇ÷|Klýzl@·ªæÍÚsŸîPn@>M}ºMˆ5Þ˜ø¶Ý Æ Öá•6NEQM û•ÃãçØMþ®GDÆB~3.4XM¢F|‡•'Hñ‘:Wã©Ø#©Û$ǤgšR¾¸_zþHý½8ÿz" ¥iéµ$;jêÕvâ¸@´Ç”¶ü棠‡À@šÕO…§ã�–ËO JCc¨2Mzª¨w*¬¼¼ñJ•ÒËIý÷xÀs_«ïâ�ƒ4cFA¥òö_¸Xo½ ïÆ×®=)¦°êvÄx4·/FÁÝvH2¸ðæ¯ ÕRÜ{BþÅÇ#RŒWè5J‹s±÷rƒ� mÖníX1à 1%ŸÕ”W>~Y›HIç¯:¹M> ¸TgÌ FžF½‰Jp A @ Vã¾á79ì=EXZ�‘â³52ARá`X0”&6ÐéPÊXäÙ<^»¼L-ãq+G�׉`)aÎ7þp¥)dÉ\È/Cmãœ3ISPñ`ÜñØïD�IÊQ”‚‰@Ùxöžõø˜5‰ìë ÊÅù; �I–p�½ ²e3øMöp)¦êŸí?¨nI©‡ØaDhTRáÚ}Xž{’³f¤Û„üùáU‚Òf.±`ÇP•v(¯^cA µØØ]uùŸü¹(øC‘ÕC¨p×Û1ÒøR[»†6�®Ä:kîü“‘±;i·›‡Ê�áíVñÓâ9Ö9€¿�o- qíz©$ÐŒ|4¥‹÷aý÷—tj=Z|ù`‡d®õ×UÛ�Þhߣü›‘—ªWß-6ЇÉPc�ïîæX«Ên˜Ïv¾Êê:3Yë5ö?ŠŠ­C¤¨7ê,ø‹ªl§Àðå¹¥³ 묳VÀ,ü½�ºV?ĘCŒ&Á|+zzû^¡úa¤ê�Båa´þAë‡óÛ÷ôÊû­¬ÿ±ysþ{¿:ĘYðAÄî¶YÐè°à³ˆ½Óf…ÆCÜ�XUðïø³â»êõÇD“1QG+aüGm¤ �0_©†ÑØÑwûë¾°=R†Í±§¢‘Ym|€R¡åöø€oŒ²E};<ÚˆdD4pó¦7ÒG¼U°FÚ#Þ›j óCz2u”ÂvÈ©!)*M9’¢D)5F¢â¹!€jcæ<ÛÀ°%aÉ,˜#� 3CÀ�éhÀ³•�êÏ É0xiwH´tzB¡ýÆ?¾ñ�Á«ŠX£5è4Ué“ùôŸ†–ž”QqB¢Yk ÁXõ†3”GL¢«!Ž}ƒ ’±VhÕ´E²YsØæøó€B~Ç©AѧC~£t¸`WÅÂÁi <åMmP.b»Ö/C¬}üB?@,—×ÖÖ4{8ÎIêæëýÇjD;]`#VІgzËŒTý?ûŽ�«øEX­ ØG¬ùêëPúkfVm¨DA? {!Å¡Š|×#§Z�úÓbSäÕQm ‰Mæ›C±+Ôð¦ƒ~Óå¢Âú !.¸iE½}ðÓ-ê×!fÖ Úå-nMèZ±c´�¨Ía Fb–` 5«JkE¿ó*sRŸÌj›rX®Âú»`ÁʘC‹ÆJTÒw}têÑA@…½Wawú²úyARÓÄ=߯=rÙN®õÑ©ú±¼�…Õuv»Ú(ÙU-ÑÍ;†è±ð"k�ÚWºÂîWÙ½uvç郒Õ^…UÙ›êDëÿÕ*Ì~¶ø×(ø`§ðR+¨�¬»Qþ)º˜ü­ÅË¥Ôû¼~êö³±¾Ýá…UÃÚ€_.;dR²Á†ápŸö#3ÿ­Æ1)ìs%_àÛFÔbQ»ÝntaŸ'œÍXigÀzÅ\»ýÇFmD}·(ª†6M,G5僥6ôòÀ¡¥šV¤&L’œG­>oЛ´7+V^ïê¦Õ8PiiÔ‚W…™<]9{y`õÒa Þ*°ïN¾ŸÏ•7¥™µ\©o¥�…{€ˆíu‹ÝTlî—j"øê¸¨ÅåLŸ3ÉW’—Ÿ(]&W¢có èlLh°Aû¼! ¨ÙƒDçâVî'W¢-åÀ÷ËW˰÷Ø7[Õ»sså ò\-®ïæšqõ‰€¦Vmöe¥a@}…uwèoù4CiŠÕ0Y§…ù}À@‡±§Öú9^d<ÅУ"CcVB9ðÏ)„Ø.v]i`ñl]Ã;ŽŒ]eŸÄ"·é„ÙqY@èÖ'{€ï%ÃdнüW�ÎѸîð�`2ìR»VŸ¡ªñ¯{î”jÖ? ãÅ’TûoÞÿ4@dðR'ˆØ»%ÄŠ²z+U{î„ÕÜ<Ú O6xfû¿ë$uÛM ÐxHºc=&𦽕ª=5t«9�—XTµ·9ò.?É¢ÎG½RMŒÏ2’™ 2—{îÔ­æ4,9 :9Ò$¾]´”îk~F¾+Â8úˆ{ÃBö ÉG«Ê–¹P±:@€¾�K|*Qã‹1@Þèy&`ÁJ…|2ª7­ðÎ7?»â5/Ñ�ò‚ ¶*—WÄ$>ä–ýÞŠ»dÕTç»ÆY¢ÿK%¢JsŒZgó?ázT7ù²‚JÍ å¥®fw³SŠÝA€Â²æYCï@ n¼ÆTB½çß¿u�}®Gš±ì .M­·X™b-pè¶eºcè_ q�¸ÎÔi Gì‹çx†ìxüKé·Î–׌ÄÌ»€]ð¨lY%#*pUp€»5��ýêQÈC¼£‹ÿp#q'åã�x–~mgÖz> Þvz€»•™ñõà!–†ÌÐXؤåÀD?Éš‚Ó�^/€É�i àoþ ª‚`\ôþ¬S½—µK…jS›¦¼d” ÕÒŠÝ%o‹`Åm&6áU JY #â. D­ú^v‘Ÿª-ÅդВÑÈyTÏå.àð4JylRÀ¬"z¼Ê³x< Á½È3t6k®£‚‰?}oZMjnÆ?gìî–¥¼oêv±ƒžÆ“(ð9®ÍÇvŒPËü\ÙI›R:kH…´¤&jˆ¼?Ý]¹Ør0ëuK¿m0Lu\ ,Tý.àý¿,žjñl‡ö¬Á«øÏ*0•ç#Ó©Þ*E·f„†ù5fAaÒÐ Ô/ÌÂ+oQšžRg¤�6M×tf]Þú¤¬3ÿBÇÃÆZ+lçyF€]º„T>{Ø{ÀnCP3¤fT;&étÖôsþ¬Ë½JaùWØb�¡É`p¼Î:ÁH…�^d«¸ý·l×g­2kjF+ñ•:BLU8ϳ“wÉâ€zÀ¶ qàc…ë�BåCRåæ�묖bõרN…OìÂI5ËW[1͈ù|žkµXi¡±DëG¯ü¶Uøö¯¥EЊçùد©°Ýëlç:k]�ÂIjº®ë`©.LÓŒŒ�Ø‹”׃¼dÁg,xñ[ƒÚ»Áv¨Ô£j½ûœ¦¹r½Æ$|KÒúð½–:¯&û‡b„½ÔÔŸá^m¶;>K|ûêq’/òÄ9ËÑJ–AGjTCƹˆÀsŒÝ2“JÑ"*Ît[qshÞµÿ8e�›½ ­! �a峌…ìÁ;ßüúðôç°izj‘ïâ¡Ó(AÉê59éQ€ðÁ;_¯íw×é4�¥ŒaPS\]Êf2‘&”0I–9]âJ’)£j‘²Ãó‚%¯-ųu X˜Fñ¨Òh€y@©XÆ2Y0&dÔ ¯nU XÊZæ\cÔÌŠ¤8�àUªò}¦”Ázƒ›4þãj©Æ^±<0®@ö—U[°$3}–ž1øHÌ"Qµ¦ò]J‡TC�Ëàˆ7µ…Œjšš † XˆÀcDãë™ÕG@.Në¯@'µTCÚ2�¤ ðPyù¼kÂÈ!æUO‹+‡f²û�‹ÿüêêj‘H¦4Á;l*i®ì�8j^˜u¨�tÒ¼ksË*MÄ´öST�d(q4Ö6dÈ�Xò=ª-Ϻ|E-ˆXh:Ý1ÄI#BùÀÑiÆöäüìª3bãƒKy?‹=ÝÝÉ.t+ã8ú-Ë¿¬å×Ê#x]Ž_“ùj«ÔͨgÐpÏúÇžþûoù€Ò±çS˯.;góy¼8¦ñ«bp�×(Uj&KJØ`×}Èd†ï..{ñÊ�¡É£š1!1ƒŽÏ:]€<p%ù¶=õ_"€fˆVèìê:–uÐ÷ºÊÛW’‡«°Ö:VZ4KN£¬Äò¦:[æ[§S­àz«7yúR/ïµó£’ÒnU¡@³ÆS®Ê7LK&9bE)¨#É%q/U •(¨‡èF¼F ¾$Ã&jï ñå¡M£ñÌH•¤iƒâçÄ�ÙÊÎ à =›Y¤_BKêV‘jìŠþà„-¾$UÅÐE“ÇÃú#Áªe°ˆëBU2c™�Úø€®C§“õbö^�¶l�÷n™Z»ûC+°kò½òÆ, †#BNob¼·xÙ†õj(ã^å!Õœ`Íx|‡DnmÄb¡¼DóÃ+úÇ!µy{ϯ6ð}7ÑKcáLW$C˜Ã²Í--¯†éÛ¡j{˜½'Ð1ÏÚ3}ßwá’í 'ˆ0_4ß­DÕ!@›Qˆ|ßœ}¥ cèöÞ[Hó-6å/\�†V+Ð6rþBlb” ~@¶K®'ÅTo±;þB•±€·c@Ó°ÄÁ „ñ¬ W°Z`lËέRq™<Çnþ¶IL±ˆâʹ¯ú a—H¸+íÀ•`hu:Õ‚¹]x­©P0e^qu‡¾µ½p$Mc6ï°úaƒƒÐµõæ;ùŸ„ï“Í^L©íM–°ËæšPé€ß±¡08‘_«vÎ<Íìõ¸Sö¾PÐL‘JóKf6-]húfWÀ€!èñ© æ�6ü3”æ�¬eIóü’Ù_eõÊ€uÆÛ1�ËÈc¶ñ¹&“>Õ‰o m•à¿Ì¤ù‘€BãwúõoÊÀ^¦çc@º ,KCC0{Õsÿ(¶ŠEðàÒš”owTσkðè�OP&VlY&6-ûg#{=ì7ƒj“UòÉiÈÌ€orïS<ÉštñŠ„¹äƒô VÏ}zLµ«öJJ¬õÎR¹ÄÁæÏà  RÑOÁV½ÇKç~Cè[Õ~ËĺG^Æ8)  F¤<¤i“æ9 `IM_; p+kÑÜ,%·ù S—¤Æ»:¥ùÃÖÇðàî÷“¨©ìð¶Tó3”Hø8ËôòrÎA_<  uÚâõ!%TéÐY(Úg2Y"½Ì–”_¢ æBcÀ]v÷û[é[¶b5Ìyà]¤y®#Í–ßV3D:TÍ™u !_¤j––öbñ¤LÖÒ™:ƒÅÈ"}�¤ äVˆ'hŽª½)X1»]¿3h•+ŸÇz'“Åš;~ßПþWÐhyYTIIEND®B`‚